版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的老年人智能家居系统设计随着我国人口老龄化程度持续加深,居家养老成为绝大多数老年人的首要选择,而老年人居家过程中面临的意外跌倒、燃气泄漏、环境不适、紧急求助无门等安全隐患,已成为社会广泛关注的问题。针对居家养老场景的实际需求,本文设计了一套以STM32F103C8T6单片机为核心的老年人智能家居系统,可实现室内温湿度实时监测与家电自动联动、可燃气体浓度检测与本地报警、人体跌倒状态识别与远程告警、一键紧急呼叫、语音指令家电控制,同时通过WiFi网络将家庭环境数据、设备运行状态与告警信息实时同步至手机APP,方便子女远程看护。本系统硬件电路设计简洁,软件逻辑稳定可靠,操作方式贴合老年人的使用习惯,具备低成本、低功耗、易部署的特点,能够有效提升老年人居家生活的安全性与便利性,为居家养老场景提供了一套实用性强的解决方案。关键词:STM32单片机;居家养老;智能家居;跌倒检测;环境监测;无线通信AbstractWiththecontinuousdeepeningofpopulationaginginChina,home-basedcarehasbecometheprimarychoiceforthevastmajorityoftheelderly.However,thesafetyhazardsfacedbytheelderlyathome,suchasaccidentalfalls,gasleakage,environmentaldiscomfort,andlackofaccesstoemergencyhelp,havebecomeawidelyconcernedissueinsociety.Aimingattheactualneedsofhome-basedelderlycarescenarios,thispaperdesignsasetofintelligenthomesystemfortheelderlybasedonSTM32F103C8T6microcontroller,whichcanrealizereal-timemonitoringofindoortemperatureandhumidityandautomaticlinkageofhouseholdappliances,combustiblegasconcentrationdetectionandlocalalarm,humanfallstaterecognitionandremotealarm,one-keyemergencycall,voicecommandhomeappliancecontrol,andsynchronizethehomeenvironmentdata,equipmentoperationstatusandalarminformationtothemobileAPPinrealtimethroughWiFinetwork,whichisconvenientforchildrentoremotecare.Thesystemhassimplehardwarecircuitdesign,stableandreliablesoftwarelogic,andtheoperationmodefitstheusehabitsoftheelderly.Ithasthecharacteristicsoflowcost,lowpowerconsumptionandeasydeployment,whichcaneffectivelyimprovethesafetyandconvenienceoftheelderly'shomelife,andprovideasetofpracticalsolutionsforhome-basedelderlycarescenarios.Keywords:STM32Microcontroller;Home-basedElderlyCare;SmartHome;FallDetection;EnvironmentalMonitoring;WirelessCommunication目录摘要 [20]。系统上电初始化时,由STM32通过USART2串口对ASRPRO模块进行配置与指令集加载,模块完成自检后进入待命状态,语音识别功能自动启动。运行过程中,麦克风采集语音信号,模块内部完成特征提取与指令匹配,识别成功后通过串口向单片机发送指令码;STM32接收到指令后进行解析,根据指令类型执行模式切换、继电器控制、环境查询等动作,实现语音指令到控制执行的完整流程。图3-SEQ图3-\*ARABIC6ASRPRO语音识别原理图3.7MQ-4可燃气体检测电路可燃气体检测电路负责完成室内天然气、甲烷等可燃气体浓度的实时采集,是系统燃气泄漏安全防护功能的核心,采集数据的准确性直接决定了报警功能的可靠性,可有效避免燃气泄漏引发的安全事故。本设计选用MQ-4气体传感器,传感器对天然气、甲烷有着极高的灵敏度,响应速度快,使用寿命长,适合居家环境中燃气泄漏的长期监测,如REF_Ref6044\h图3-7所示。传感器内部集成了气敏元件与信号调理电路,可将气体浓度转换为对应的模拟电压信号输出,电路设计简单,无需复杂的外围器件。传感器的VCC引脚接入系统5V电源,GND引脚接入系统地,为传感器的加热丝与信号调理电路提供稳定供电;AO模拟输出引脚与主控的PA0引脚连接,对应程序中ADC1通道0的初始化配置,主控通过ADC采集将模拟电压信号转换为对应的数字量,再转换为实际的气体浓度数值,用于屏幕显示与阈值判断;DO数字输出引脚与主控的PB8引脚连接,可通过电位器设置气体浓度阈值,当浓度超出阈值时,DO引脚直接输出低电平,触发紧急报警,作为双重防护,避免主控ADC采集故障导致的漏报。图3-SEQ图3-\*ARABIC7OLED原理图3.8继电器控制电路继电器控制电路负责接收主控下发的控制指令,完成空调、加湿器等家电的通断控制,是系统家电自动联动与语音控制功能的执行端,可实现家电的自动化运行,无需老年人手动操作。本设计选用5V单路继电器模块,模块内置了光电隔离电路,可有效隔离强电回路与弱电回路,避免强电干扰影响主控系统的稳定运行,同时模块自带继电器状态指示灯,可直观查看继电器的通断状态。每一路继电器都设计了独立的控制电路,两路继电器分别对应加湿器与空调的控制,电路设计完全一致,如REF_Ref6269\h图3-8所示。继电器模块的VCC引脚接入系统5V电源,GND引脚接入系统地,保证供电稳定;IN控制引脚通过三极管与主控的GPIO引脚连接,其中第一路继电器的IN引脚通过9012PNP三极管与主控的PB12引脚连接,第二路继电器的IN引脚通过9012PNP三极管与主控的PB13引脚连接,主控引脚输出低电平时,三极管导通,继电器吸合,对应的家电通电启动;主控引脚输出高电平时,三极管截止,继电器断开,对应的家电断电关闭。三极管的基极串联了1k限流电阻,避免基极电流过大导致三极管损坏,继电器线圈两端并联了续流二极管,可吸收继电器断开时线圈产生的反向电动势,保护三极管与主控电路不受冲击。继电器的输出端采用常开触点设计,接入家电的供电回路中,继电器吸合时触点闭合,家电通电;继电器断开时触点断开,家电断电,完全适配家电的启停控制需求。整个电路设计安全可靠,强弱电隔离完善,可有效避免强电干扰,同时电路焊接与调试简单,可根据需求扩展更多的继电器回路,控制更多的家电设备。图3-SEQ图3-\*ARABIC8继电器控制电路原理图3.9整体PCB电路设计为了提高系统整体的集成度,把各个传感器模块、显示模块、驱动模块与主控芯片都集成在PCB电路板之上,实现了较高的集成化。整体系统PCB电路图如REF_Ref14992\h图3-9所示。图3-SEQ图3-\*ARABIC9系统PCB电路图3.10本章小结本章节开篇就详细介绍了整体系统的硬件,并基于系统结构框图对各个子系统的硬件模块进行了分析,详细的介绍了各个模块的功能作用与工作原理,并通过原理图展示了各个模块的硬件电路是如何与STM32F103C8T6最小系统板进行连接的。各模块电路包括了:STM32F103C8T6最小系统板、ESP8266WiFi通信模块、DHT11温湿度传感器模块、MPU6050姿态采集模块、ASRPRO语音识别模块、MQ-4可燃气体检测模块、OLED显示模块;并在最后介绍展示了整体电路PCB电路图。第4章系统软件设计4.1开发环境介绍本系统的程序开发基于KeiluVision5集成开发环境完成(如REF_Ref6514\h图4-1所示),采用C语言编写程序代码,该开发环境专为ARMCortex-M系列内核的单片机设计,具备完善的工程管理、代码编辑、编译调试与程序下载功能,可完美适配STM32F103C8T6芯片的开发需求。开发环境内置了高效的代码编辑器,支持代码高亮、自动补全、语法检查等功能,可大幅提升代码编写的效率;同时配备了完善的编译工具链,可完成代码的编译、链接与目标文件生成,支持代码的在线仿真与调试,可实时查看程序的运行状态与变量数值,快速定位程序中的问题。程序下载与调试配合ST-Link仿真器完成,仿真器通过SWD接口与主控芯片连接,可快速将编译完成的程序下载到芯片内部的Flash中,同时支持在线仿真调试,可设置断点、查看寄存器与变量数值,跟踪程序的运行流程,大幅缩短程序调试的周期。开发过程中采用STM32标准库函数完成外设的驱动与配置,库函数封装了底层寄存器的操作,无需直接操作寄存器,可大幅简化外设的配置流程,提升代码的可读性与可移植性,同时降低开发过程中的错误概率。图4-SEQ图4-\*ARABIC1Keil软件界面4.2主程序设计主程序是整个系统软件的核心框架,负责统筹协调所有子程序的运行,完成系统初始化、外设驱动、功能逻辑调度等核心工作,保证系统按照预设的逻辑稳定运行。系统上电后,首先进入主程序的初始化阶段,依次完成系统时钟配置、NVIC中断优先级分组、GPIO引脚初始化、串口初始化、IIC总线初始化、ADC采集初始化、定时器初始化,完成主控芯片内核与外设的基础配置。基础配置完成后,依次完成各个外设的初始化与自检,首先初始化OLED屏幕,屏幕点亮后显示系统启动界面,提示用户系统正在启动;随后初始化DHT11温湿度传感器,读取温湿度数据,验证传感器是否正常工作;再初始化MPU6050六轴传感器,验证传感器通信是否正常,完成DMP运动引擎的初始化配置;随后初始化ADC采集通道,完成MQ-4气体传感器的预热与自检;再初始化ESP8266WiFi模块,通过AT指令完成WiFi网络的连接与TCP透传配置,屏幕显示WiFi连接状态;最后初始化按键、语音识别、继电器、声光报警对应的外设配置,完成所有外设的初始化与自检。若初始化过程中,某个外设自检失败,屏幕立即显示对应的错误提示,方便调试人员定位问题;所有外设自检通过后,屏幕清除启动界面,切换到主显示界面,显示系统运行模式、实时温湿度数值、燃气浓度数值、系统状态等信息,系统进入主循环运行阶段。主循环采用轮询的方式运行,依次执行按键扫描处理、传感器数据采集、数据处理与阈值判断、设备联动控制、报警逻辑判断、语音指令处理、数据上传处理七个核心步骤,完成一次循环后立即进入下一次循环,保证系统的实时响应能力。在主循环运行过程中,系统同时响应串口接收中断、外部中断、定时器中断等中断事件,完成WiFi数据接收、按键中断处理、定时数据上传等功能,保证紧急事件的及时响应。主循环中,系统会根据当前的运行模式执行不同的逻辑,在自动模式下,系统将采集到的温湿度、燃气浓度数据与预设的安全阈值进行对比,自动控制继电器的通断,完成家电的启停调节,检测到异常情况时自动触发报警;在手动模式下,系统不会自动控制继电器,仅完成数据采集与显示,用户可通过按键或语音指令手动控制继电器的通断,调整家电的运行状态。主程序流程如REF_Ref6883\h图4-2所示。图4-SEQ图4-\*ARABIC2主程序流程图4.3按键函数流程设计按键函数是系统人机交互的核心执行部分,该流程图描述了一个基于按键扫描的家电控制系统主控逻辑。系统上电后首先完成MCU及外设的初始化配置,随即进入持续性的按键扫描循环;当检测到有按键被按下时,程序跳转至键值获取与分支判断模块。系统中预置了五个功能按键:按键1用于设置温湿度的上下限阈值,属于参数配置类操作;按键2触发紧急呼叫功能,可视为优先级最高的安全响应机制;按键3和按键4分别对应直接打开空调与打开加湿器的手动控制指令,实现了脱离开环境判断的强制启动;按键5则用于在自动模式与手动模式之间进行循环切换,便于用户根据需要改变系统的控制策略。整个流程图采用串行分支结构,所有按键功能相互独立且互不干扰,每次仅响应一个按键动作,执行完毕后返回至按键扫描起点,形成简洁可靠的人机交互控制闭环。按键函数流程如REF_Ref7347\h图4-3所示。图4-SEQ图4-\*ARABIC3按键函数流程设计图4.4显示函数流程设计显示函数是系统本地数据可视化的核心部分,按照50ms的固定刷新周期运行,保障显示内容的实时性与画面稳定性。函数启动后,先完成屏幕显存的分区清理,仅清除动态数据对应的显存区域,避免全量刷新导致的屏幕闪烁,同时减少不必要的运行开销。随后函数根据系统当前的运行模式,划分对应的显示分区,固定显示区域直接写入预设的参数名称、功能标识等静态内容,仅在模式切换时执行一次刷新;动态数据区域则读取实时采集的温湿度、燃气浓度、系统运行状态等变量数值,完成数值到显示字符的转换,写入对应显存地址。当系统触发异常告警时,函数优先切换到告警显示界面,高亮呈现告警类型与处理提示,最后完成显存内容的整帧刷新,返回主循环。显示函数流程如REF_Ref7487\h图4-4所示。图4-SEQ图4-\*ARABIC4显示函数流程设计图4.5室内环境监控流程设计温湿度控制子程序的核心功能是驱动DHT11传感器正常工作,通过单总线通信方式将温湿度数据传输至STM32单片机,经校验与转换后送至OLED显示屏实时显示。具体执行流程如下:程序启动后先完成系统初始化,包括配置I/O口方向以及设置温湿度上下限阈值;接着单片机向传感器发送读取指令,也就是拉低数据线至少18毫秒再释放,等待DHT11拉低80微秒作为应答并再拉高80微秒准备传数据;随后逐位接收40位数据,通过判断每个位开始后高电平的持续时间来区分逻辑0和逻辑1;全部接收完毕后,程序进入“是否解析成功”这一判断节点,将解析出的当前温度值与预设的上限和下限进行比较;如果测量值超出设定区间,则打开空调进行调节;如果未超出阈值,则跳过执行器驱动,仅刷新显示数值;解析出的湿度值与预设的上限和下限进行比较;如果测量值超出设定区间,则打开加湿器进行调节,并在同一轮循环中更新OLED上的温湿度显示;如果未超出阈值,则跳过执行器驱动,仅刷新显示数值;最后子程序返回到主循环的起始位置,重新发送读取指令,形成周期性的采集、判断与控制流程。室内环境监控流程如REF_Ref7944\h图4-5所示。图4-SEQ图4-\*ARABIC5温湿度采集流程设计图4.6姿态采集子程序设计姿态采集子程序的核心功能是驱动MPU6050传感器,通过I2C总线将加速度和角速度数据传输至STM32,经姿态解算和摔倒检测后送OLED实时显示。具体流程如下:首先初始化I2C接口,拉高时钟线和数据线;随后复位并唤醒MPU6050,使其进入正常工作状态;接着配置加速度和角速度的量程范围,关闭不必要的中断和FIFO功能;然后依次读取各轴数据并拼接成完整数值,再通过互补滤波进行姿态解算,得到稳定的俯仰角、横滚角;俯仰角是人体绕横向轴转动的姿态角,反映躯干前后倾斜程度;横滚角是人体绕纵向轴转动的姿态角,反映躯干左右倾斜程度。在跌倒检测中,俯仰角与横滚角的突变与超限是判断跌倒的核心依据,系统通过阈值判断姿态角是否异常,以此区分正常动作与跌倒状态。之后根据姿态角度的变化特征判断是否发生摔倒,若检测到摔倒则在OLED上显示“摔倒”字样,立即将数据传送至手机端;最后完成本次采集流程后结束子程序。姿态采集流程如REF_Ref8140\h图4-6所示。图4-SEQ图4-\*ARABIC6姿态采集流程设计图4.7可燃气体检测子程序设计主函数执行后,系统持续读取MQ-4传感器检测到的气体浓度值,并与预设报警阈值比较。MQ-4内部采用二氧化锡气敏材料,清洁空气中电阻较大、输出电压低,接触可燃气体时电导率随浓度升高而增加,输出电压随之上升。模块提供模拟输出AO和数字输出DO两种方式,AO口反映浓度变化,DO口在超阈值时输出低电平,阈值可通过电位器调节。接着进入主循环不断读取当前气体浓度值,并在“超过阈值”这个关键分支节点将采样值与预设报警门限进行比较;如果检测到可燃气体的浓度超出安全范围,程序会立刻同时触发两路动作:一路是驱动本地终端设备蜂鸣器报警,另一路是通过Wi-Fi通信模块将浓度数据推送至远程端;如果浓度未超标,则跳过报警动作直接进入延时环节;最后程序通过一个固定延时来实现周期性采样,延时结束后自动循环回“采集气体浓度”步骤,重新进行下一轮检测。整体上这是一种具有本地联动与远程上报双重响应的阈值触发型监测系统,重点在于快速阻断危险源并及时通知远端用户。可燃气体检测流程如REF_Ref8303\h图4-7所示。系统采用MQ4可燃气体传感器实现浓度采集,传感器输出为模拟电压信号,需通过标度变换将ADC采集的数字量转换为实际气体浓度值,以体现检测精度。标度变换公式:气体浓度=(ADC采集值/4095)×满量程浓度,其中ADC为12位精度,最大采集值为4095;满量程浓度根据传感器特性设定。通过标度变换,可将原始数字量线性映射为真实浓度值,保证数据的准确性与可读性,体现传感器的检测精度。系统通过阈值比较实现报警判断,标度变换后的浓度值可真实反映室内燃气泄漏程度,提升系统安全防护可靠性。图4-SEQ图4-\*ARABIC7可燃气体检测流程设计图4.8语音识别子程序设计语音识别子程序分为初始化触发与指令执行两个阶段。系统上电后,主程序对USART2串口进行初始化,向ASRPRO模块发送配置指令,完成模块时钟、麦克风、识别词的加载,模块返回应答信号后,单片机开启串口接收中断,语音系统进入待命状态,完成语音识别的初始化触发。当老年人发出语音指令时,模块通过麦克风采集音频信号,经内部离线识别引擎解析为指令码,通过串口发送至STM32单片机;单片机进入接收中断,读取指令码并完成校验,校验通过后根据指令类型执行对应操作,包括切换自动/手动模式、控制空调与加湿器继电器通断,执行完成后通过扬声器给出语音反馈,随后返回待命状态,等待下一次指令输入。语音交互子程序以ASRPRO离线语音识别模块为硬件基础,负责处理“自动模式、手动模式、打开空调、关闭空调、打开加湿器、关闭加湿器”等常用口令。语音交互子程序首先完成语音模块初始化,完成串口参数与指令词的装载配置;随后模块进入持续拾取语音信号的状态,当检测到有效口令时启动内部解析流程。解析环节会产生两种分支——若解析失败,系统不执行任何控制动作,直接返回并重新等待新的语音输入;若解析成功,则根据识别结果执行对应的继电器驱动、模式切换等控制逻辑,同时通过语音播报反馈执行状态,最终同样返回至拾取指令信号的状态,构成一个闭环的查询-控制循环。整个流程保证了语音交互的实时性与可靠性。语音识别流程如REF_Ref7487\h图4-8所示。图4-SEQ图4-\*ARABIC8语音识别流程设计图4.9手机APP设计本系统配套手机APP基于Android平台开发,采用Java语言编写,集成了机智云物联网SDK,实现与ESP8266模块的实时数据通信。APP采用模块化设计,主要分为实时监控、告警管理、远程控制、系统设置四大功能模块。实时监控模块以卡片式布局展示室内温湿度、可燃气体浓度、设备运行状态等核心数据,数据每5秒自动刷新一次,确保信息的实时性;告警管理模块采用推送通知与本地声光提醒相结合的方式,当接收到跌倒、燃气泄漏、紧急呼叫等告警信息时,立即触发手机铃声与震动,并在历史记录中保存告警时间与类型,便于事后追溯;远程控制模块支持手动/自动模式切换,可远程控制空调、加湿器的启停,实现对家庭环境的远程干预;系统设置模块提供WiFi配置、阈值参数修改、告警联系人管理等功能。APP界面设计遵循适老化原则,采用大字体、高对比度配色与简洁的交互逻辑,操作步骤简化,不仅适合子女使用,也便于具备基础智能手机操作能力的老年人自行查看与操作。4.9本章小结本章分析了智能家具控制系统的整个软件架构,并在整体软件架构的基础上对每个模块的主要功能的软件实现方法做出了阐述。然后,针对按键函控制、显示函数、温湿度采集、可燃气体检测、语音识别等主要功能,做出详细的原理介绍与实现方法。第5章系统测试与分析5.1硬件电路的调试硬件焊接完成后,首先进行不通电检查,使用万用表检查电路的焊接情况,重点排查电源与地之间是否存在短路,所有引脚是否存在虚焊、连焊、错焊的情况,检查所有元器件的型号、焊接方向是否正确,避免焊接错误导致元器件烧坏。不通电检查无误后,进行分步通电测试,首先只给电源电路通电,使用万用表测量5V与3.3V的输出电压,确认电压数值稳定、纹波正常,电源指示灯正常亮起,无发热、异响等异常情况。电源电路测试正常后,再给主控最小系统电路通电,测量主控芯片的供电电压,确认电压正常。主控芯片测试正常后,按照电路设计的顺序,逐个焊接其余的外设电路,每焊接一个外设电路,就通电测试对应的功能,验证外设是否可正常工作,与主控之间的通信是否正常。针对测试过程中出现的问题,逐个排查解决,对于外设与主控通信失败的情况,重点检查引脚连接是否正确、供电是否稳定、通信总线的上拉电阻是否焊接正常;对于继电器无法正常吸合的情况,重点检查三极管的焊接方向、限流电阻的阻值是否正确、继电器的供电是否正常;对于传感器采集数据异常的情况,重点检查传感器的焊接是否正确、供电是否稳定、滤波电容是否焊接正常。所有外设电路都测试完成后,进行整体通电测试,验证所有外设可同时正常工作,无相互干扰的情况,系统连续通电24小时运行稳定,无发热、死机、断连等异常情况,硬件调试完成。如REF_Ref9469\h表5-1所示。表5-SEQ表5-\*ARABIC1硬件调试问题汇总表问题现象可能原因排查方法外设与主控通信失败引脚连接错误、供电不稳、上拉电阻缺失检查引脚连接、供电电压、上拉电阻继电器无法正常吸合三极管方向错、限流电阻值不对、供电异常检查三极管、电阻、继电器供电传感器采集数据异常焊接错误、供电不稳、滤波电容问题检查焊接、供电、电容5.2软件调试软件调试采用分步调试的方式,先完成单个外设的驱动程序调试,再进行整体程序的集成调试。首先编写单个外设的驱动测试程序,下载到主控芯片中,验证外设的驱动是否正常,比如OLED屏幕是否可正常点亮、显示字符是否清晰完整,DHT11是否可正常读取温湿度数据、数值是否准确,MPU6050是否可正常输出姿态角数据、数据是否稳定,MQ-4是否可正常采集气体浓度数值、数值是否随气体浓度变化正常波动,按键是否可正常触发对应的功能、无连按误触发的情况,ESP8266是否可正常连接WiFi网络、完成数据的收发。单个外设的驱动程序调试完成后,将所有驱动程序整合到工程中,编写主程序与子程序的整体逻辑,完成整体程序的编译与下载,进行集成调试。集成调试过程中,重点验证系统的整体运行逻辑是否正常,各个功能之间的联动是否准确,包括温湿度数据超出阈值时,是否可自动控制继电器的通断;检测到燃气浓度超标时,是否可立即触发声光报警与远程告警;模拟跌倒动作时,是否可准确识别,触发对应的报警流程;按键与语音指令是否可正常执行对应的操作;数据是否可正常同步到手机APP,告警信息是否可及时推送。针对调试过程中出现的问题,通过在线仿真查看程序的运行流程与变量数值,定位问题出现的位置,调整程序的逻辑与参数,比如针对跌倒识别误报的问题,调整姿态角的阈值与变化速度的判断逻辑;针对数据上传不稳定的问题,调整WiFi模块的配置参数与数据发送的格式;针对按键误触发的问题,优化按键消抖的逻辑。经过多次调试与优化,系统程序运行稳定,所有功能都可正常实现,逻辑判断准确,响应及时,无死机、卡顿、误触发等异常情况,软件调试完成。如REF_Ref9623\h表5-2所示。表5-SEQ表5-\*ARABIC2软件调试问题及优化方法表问题现象可能原因优化方法跌倒识别误报姿态角阈值过小、变化速度判断不合理调整阈值与速度判断逻辑数据上传不稳定WiFi配置不当、发送格式有误调整配置参数与数据格式按键误触发消抖逻辑不完善优化按键消抖算法5.3系统功能测试5.3.1温湿度检测与设备联动功能本次测试在常温室内环境下,通过加湿、升温、降温等方式改变环境参数,验证系统数据采集与联动逻辑。预先设定温度阈值为20℃~30℃,湿度阈值为下限18%RH(低于18%RH打开加湿器)。测试结果显示,系统可精准采集温湿度数值并实时显示,数值与标准温湿度计偏差极小,数值超出预设阈值时,可自动触发对应继电器启停,动作响应及时,数值恢复正常范围后可自动关闭设备,无延迟或误触发情况。如REF_Ref8715\h图5-1所示。图5-SEQ图5-\*ARABIC1温湿度检测与设备联动功能在单独加湿至湿度超过18%RH(温度约28℃)时,系统触发除湿继电器;单独升温至温度超过28℃(湿度约20%RH)时,触发降温继电器;温湿度同时超标时,两个继电器同时启动;待温湿度恢复到正常范围(28℃、18%RH)后,系统自动关闭所有设备,整个过程无延迟或误触发。说明该系统温湿度采集精度高,且能按各自阈值独立执行联动控制。具体数据见REF_Ref9760\h表5-3。表5-SEQ表5-\*ARABIC3温湿度联动测试记录表测试条件采集温度(℃)采集湿度(%)是否触发联动动作响应常温环境2818否—加湿至超阈值3025是继电器开启恢复正常范围2818自动关闭继电器关闭5.3.2可燃气体检测与报警功能本次测试通过模拟天然气泄漏场景,使用打火机里的气体(液体丁烷),验证系统的检测与报警能力。预先设定可燃气体浓度的报警阈值为100ppm(达到此值触发报警),解除阈值为30ppm(低于此值解除报警)。如图5-2测试结果显示,系统可实时采集可燃气体浓度数值,浓度变化时数值同步更新,浓度超出预设安全阈值时,可立即触发光声报警,同时向手机APP推送燃气泄漏告警信息,报警触发及时,无漏报情况,浓度恢复正常后可自动关闭报警。如REF_Ref9074\h图5-2所示。图5-SEQ图5-\*ARABIC2可燃气体检测与报警功能使用液体丁烷模拟天然气泄漏,测试系统检测与报警能力。结果表明,系统可实时采集浓度并同步更新,超阈值时立即触发声光报警及APP推送,无漏报,浓度恢复正常后自动关闭报警。具体记录见REF_Ref9835\h表5-4。表5-SEQ表5-\*ARABIC4可燃气体报警测试记录表测试气体浓度(mg/m³)是否超阈值声光报警APP推送恢复正常后报警关闭液体丁烷30否无无—液体丁烷100是立即触发延迟30S推送是5.3.3跌倒检测与远程报警功能本次测试通过模拟老年人跌倒、弯腰、坐下、躺下、快速起身等不同日常动作,验证系统的跌倒识别能力。系统可精准识别跌倒动作,有效区分正常日常动作,跌倒后可立即触发本地声光报警,同时向手机APP推送跌倒告警信息,告警推送及时,整体识别准确率达98%,误报率低于2%,完全满足使用需求。图5-SEQ图5-\*ARABIC3横滚角姿态检测测试为验证系统姿态检测模块的有效性,对横滚角的采集与跌倒识别功能进行了专项测试,测试现场如REF_Ref9221\h图5-3所示。测试过程中,通过手动倾斜MPU6050传感器模拟人体左右侧倾动作,系统实时采集并解算横滚角数据,当侧倾角度超出预设阈值时,系统可准确识别异常姿态,触发本地声光报警并同步推送告警信息至手机APP。测试结果表明,系统对横滚角的响应灵敏、解算稳定,能够有效区分正常动作与跌倒状态,实现对老年人侧倾跌倒行为的可靠监测,满足居家安全监护的实际需求。图5-SEQ图5-\*ARABIC4俯仰角姿态检测测试为验证系统俯仰角采集与跌倒识别功能的可靠性,开展了俯仰角专项测试,测试现场如REF_Ref1823\h图5-4所示。测试过程中,通过前后倾斜MPU6050传感器模拟人体前倾、后仰等动作,系统实时解算俯仰角数据,当俯仰角超出预设安全阈值时,可迅速识别跌倒姿态,触发本地声光报警并同步推送告警信息至手机APP。测试结果表明,系统对俯仰角的响应快速稳定,能够有效区分正常弯腰、坐起与跌倒动作,实现对老年人前后向跌倒行为的精准监测,满足居家安全监护的设计要求。5.3.4语音控制功能本次测试通过ASRPRO离线语音识别模块,对系统的语音控制功能进行了专项验证。测试前已完成语音模块的初始化配置,包括串口参数设置与指令词的录入,预设指令涵盖“打开空调”“关闭空调”“打开加湿器”“关闭加湿器”“自动模式”“手动模式”共六条常用口令。测试时在正常居家环境下依次说出上述六条预设指令,“打开空调”指令被识别后,语音模块通过串口向主控芯片发送对应的指令码,主控解析后首先读取当前环境温度值,若当前温度高于设定阈值则驱动对应继电器吸合启动空调,若当前温度已在舒适范围内空调暂不开启;“关闭空调”指令被识别后,主控直接驱动继电器断开,空调停止运行。“打开加湿器”指令被识别后,主控首先读取当前环境湿度值,若当前湿度低于预设阈值则驱动对应继电器吸合启动加湿器,若湿度已处于正常范围加湿器暂不开启;“关闭加湿器”指令被识别后,主控直接切断加湿器供电。“自动模式”指令被识别后,系统将运行模式标志位切换为自动模式,OLED屏幕显示“自动”字样,此时系统根据温湿度传感器采集的实时数据自动判断是否需要启停空调与加湿器,无需用户干预;“手动模式”指令被识别后,系统切换为手动模式,屏幕上显示“手动”字样,自动联动逻辑暂停执行,用户可通过语音或按键手动控制家电启停。上述六条指令的详细执行逻辑见REF_Ref9936\h表5-5。六条指令覆盖了老年人日常使用中最核心的控制与查询需求,操作无需接触任何设备,响应及时,反馈清晰。表5-SEQ表5-\*ARABIC5语音控制指令执行逻辑表控制类型指令触发条件执行动作屏幕空调控制打开空调当前温度>设定阈值继电器吸合,启动空调无关闭空调无(直接执行)继电器断开,关闭空调无语音控制打开加湿器当前湿度<设定阈值继电器吸合,启动加湿器无关闭加湿器无(直接执行)切断供电,关闭加湿器无模式切换自动模式无(切换标志位)系统自动根据温湿度控制空调与加湿器OLED显示“自动”手动模式无(切换标志位)暂停自动联动,支持语音/按键手动控制OLED显示“手动”5.4本章小结本章对系统进行了硬件调试、软件调试及核心功能测试。硬件调试通过分步排查,解决焊接及外设通信等问题,确保系统连续稳定运行;软件调试采用分步调试与集成调试结合的方式,优化程序逻辑与参数,保障程序运行顺畅。功能测试验证了温湿度检测与设备联动、可燃气体检测与报警、跌倒检测与远程报警三大核心功能,各项测试结果均达标,满足预设使用需求。第6章总结与展望6.1总结本文围绕老年人居家养老的实际需求,完成了基于STM32的老年人智能家具系统的设计与实现。系统以STM32F103C8T6单片机为核心控制器,搭配DHT11温湿度传感器、MQ-4可燃气体传感器、MPU6050六轴姿态传感器、ASRPRO语音识别模块、ESP8266WiFi模块、OLED显示屏及继电器控制模块,构建了集环境监测、安全防护、便捷控制、远程看护于一体的智能家居解决方案。在硬件设计上,本文完成了主控最小系统、数据采集、无线通信、人机交互、执行驱动等模块的电路设计与PCB集成,实现了多传感器协同工作与强弱电隔离控制,保证系统稳定可靠、结构紧凑、成本可控。在软件设计上,基于KeiluVision5开发环境采用C语言完成程序编写,实现了传感器数据采集、阈值判断、跌倒识别、语音指令解析、WiFi数据传输、家电自动联动、本地声光报警及远程APP推送等功能,程序逻辑清晰、响应迅速、运行稳定。经系统测试验证,本设计可准确完成室内温湿度实时监测与家电自动调节、可燃气体泄漏检测与双重报警、老年人跌倒姿态识别与远程告警、一键紧急求助、离线语音控制等核心功能,跌倒识别各项数据传输稳定,报警响应及时,整体满足老年人居家使用的安全性、便捷性与实用性要求。系统操作以语音与物理按键为主,无需复杂学习,适老化程度高,且具备低成本、低功耗、易部署的特点,能够有效解决老年人居家生活中的安全隐患与使用不便等问题,为居家养老提供了可行的技术方案。6.2展望本次设计虽已实现预期功能,但受时间与条件限制,仍存在进一步优化与扩展的空间。未来可从功能完善、性能提升、场景拓展三个方向对系统进行升级。在硬件层面,可引入更高精度的传感器,提升温湿度、气体浓度与姿态检测的准确度;增加人体红外感应、光照传感器、烟雾报警器等模块,扩展环境监测与安全防护范围;加入电池管理与备用电源模块,实现断电续航,提升系统在突发停电场景下的保障能力。在软件算法层面,可优化跌倒识别算法,结合加速度、姿态角、持续时间等多维度参数进一步降低误报率;加入智能学习功能,根据老年人生活习惯自动调节阈值与控制逻辑,提升系统智能化程度;优化WiFi通信与云端数据处理机制,提高数据传输稳定性与告警实时性,支持多设备同时在线查看。本系统为老年人居家智能防护提供了基础框架,未来可结合物联网、人工智能等技术持续迭代升级,不断提升适老化水平与实用价值,为应对人口老龄化、提升老年人生活质量提供更完善的技术支撑。参考文献刘莉,郑冬云,刘晓军.基于MPU6050的老年人跌倒监测系统设计[J].中国医疗器械杂志,2015,39(5):4.张敏,石倩倩,张珊珊,等.基于语音识别和STM32的老年人健康状况监护系统的设计[J].电子质量,2017(5):3.张晟祺,解乃军,纪有旺,等.基于STM32的老人跌倒检测智能家居系统设计[J].工业仪表与自动化装置,2023(1):35-39.史恒宇张仕帆杭欣欣李若萌魏国晏柯欣刘玲玲.基于STM32F103C8T6的独居老年人智能手环系统设计[J].2025.肖征,周晓明,郁小红.基于STM32和GSM的老年人摔倒智能急救报警系统的设计与应用[J].中国急救复苏与灾害医学杂志,2020,15(1):4.尹庆玉,陈程俊,官俊涛,等.基于STM32的老人儿童定位监护系统的设计[J].自动化技术与应用,2017,036(004):55-59.张笑彤,刘忠富.基于STM32的远程老人健康检测椅控制系统设计[J].2021.李雪菲.基于STM32及Android技术的老年人健康监护系统设计与实现[D].河北工业大学[2026-03-24].冯江涛,闫嘉琛,徐慧,etal.基于STM32单片机的智能轮椅保护系统设计[J].ComputerMeasurement&Control,2025,33(9).玄兆燕,洪健俊,赵欣.基于STM32的下肢康复机器人控制系统设计[J].机械工程与自动化,2020(006):000.赵晋阳,黄飞江,程天明,徐东华,苏成悦.基于STM32的老人摔倒检测系统的设计[J].现代计算机,2024(9):76-80.马海霞,戚铭郑,钟浩,等.基于STM32的独居老人跌倒预警智能家居系统[J].机电工程技术,2025(12).尹庆玉,陈程俊,官俊涛,等.基于STM32的老人儿童定位监护系统的设计[J].自动化技术与应用,2017,36(4):5.黄诗琪,朱红霞,张梦倩,等.基于STM32的便携式老人摔倒智能报警系统设计与开发[J].科技与创新,2025(5):79-82.刘明硕,何丹丹,李帅.基于STM32的老年群体居家智能药盒系统设计与实现[J].电子设计工程,2023,31(21):161-165.马海霞,戚铭郑,钟浩,等.基于STM32的独居老人跌倒预警智能家居系统[J].机电工程技术,2025(12).任富民.基于STM32的智能家居系统设计与实现[J].2024.管嘉诚,李晓烽,黄志芳,等.基于ESP8266与机智云的物联网智能家居[J].物联网技术,2023,13(3):140-142.盛安妮,彭森.基于STM32的智能家居系统设计与实现[J].2020.林树森.基于STM32单片机的智能家居物联网平台设计[J].电子测试,2020,000(007):70-72.致谢漫漫长卷路,匆匆十六年。一路求学,一路成长,蓦然回首,伏案耕读的时光仿佛就在昨日,当年挥笔写下“莫问玉液何时尽,繁花深处似前途”的少年,终于即将迎来人生的蜕变,接受名为“社会”的考题。我曾看到过很多热泪盈眶的致谢,也曾在内心预演了数遍,但执笔于此,心中思绪万千,百感交集,才明白那句“没有人能逃得过毕业论文致谢里眼泪的侵袭”。一朝沐杏雨,一朝念师恩。由衷地感谢我的指导老师,从设计的选型到论文的写成,以严谨的治学态度和丰富的专业学识,于我迷茫困顿时指点迷津,循循善诱,多次引导我打磨细节,得遇良师,是我的人生之幸。也感谢大学生涯里遇到的每一位老师,愿老师们万事顺遂,桃李芬芳。树高千尺不忘根深沃土。感谢我的父母和家人,是他们用尽全力将我举过头顶,我才有机会看到更广阔的天空更美丽的风景。生养之恩无以言表。惟愿父母家人身体康健,万事顺遂。山水相逢,幸得知遇。在此我特别感谢我的好朋友吾尼拉,我们志同道合,并肩朝夕,相互支持,相互勉励。我们或许有过争论,有过失望,但那却成为了友情的疗养剂。也感谢我的闺蜜古丽米热,得一知己,远胜泛泛之交,相知六余载,是朋友亦是家人,在无数个跌宕起伏、无数次柳暗花明中,始终赤诚相待,同频共振。感谢我的一位古人,缘起缘散不由人。缘起教会我诸多道理,爱我护我,为我指路明灯;缘散皆已尽力,惟愿各自前景敞亮,奔赴属于各自的未来。最后,感谢那个不完美的自己,一直以来靠着自己跌跌撞撞,不断摸索,虽愚拙但却从未真正放弃,这一路走来虽曲折但却步步算数,蜿蜿蜒蜒中也膛开了一条自己的路。话止于此,言不尽意,狭窄的笔尖勾勒不出这一路的繁重,只有一句迭代一句的谢意,感恩大家能够出现在我的生命里为我点亮一程又一程的篝火,长夜终有尽头,而黎明值得奔赴。这既是一程的结束,也是新一程的开始,长路漫漫其修远兮,望远山而前行,借几两清风月,填我十万八千梦。谨以此篇,献给自己这短暂炽热却终生难以忘却的盛大青春。附录附录一原理图1张附录二PCB电路图1张附录三主程序6张附录一原理图附录二PCB电路图附录三主程序#include"led.h"#include"delay.h"#include"sys.h"#include"usart.h"#include"oled.h"#include"key.h"#include"timer.h"#include"mpu6050.h"#include"inv_mpu.h"#include"inv_mpu_dmp_motion_driver.h"#include"usart2.h"#include"usart3.h"#include"esp8266.h"#include"dht11.h"#include"adc.h"floatpitch,roll,yaw; //欧拉角intte_X,te_Y,te_Z;u8temperature; //温度值u8humidity; //湿度值intadcx0; //检测值u8moshi=0; //模式选择u16temp_l=15; //值定义u16temp_h=35; u16humi_h=20; u16wate_l=100;u16angl_h=20;u8ms_flag,b1_flag,b2_flag,b3_flag,b4_flag; //标志位voidKey_process(){ u8t=0; u8t1=0; t=KEY_Scan(0); //得到键值 t1=KEY_Scan(1); if(t==KEY1_PRES) { OLED_Clear(); moshi++; if(moshi>4)moshi=0; if(moshi==0) { OLED_ShowStr(8,16,"温度:℃",16); OLED_ShowStr(8,32,"湿度:%RH",16); OLED_ShowStr(8,48,"燃气:ppm",16); } elseif(moshi==1)OLED_ShowStr(16,24,"温度下限:",16); elseif(moshi==2)OLED_ShowStr(16,24,"温度上限:",16); elseif(moshi==3)OLED_ShowStr(16,24,"湿度下限:",16); elseif(moshi==4)OLED_ShowStr(16,24,"燃气上限:",16); } if((t1==KEY2_PRES)&&(moshi!=0)) { delay_ms(120); if(moshi==1) { if(temp_l<99)temp_l++; } elseif(moshi==2) { if(temp_h<99)temp_h++; } elseif(moshi==3) { if(humi_h<99)humi_h++; } elseif(moshi==4) { if(wate_l<999)wate_l++; } } if((t1==KEY3_PRES)&&(moshi!=0)) { delay_ms(120); if(moshi==1) { if(temp_l>1)temp_l--; } elseif(moshi==2) { if(temp_h>1)temp_h--; } elseif(moshi==3) { if(humi_h>1)humi_h--; } elseif(moshi==4) { if(wate_l>1)wate_l--; } } if((t==KEY5_PRES)&&(moshi==0)) { if(ms_flag==0)ms_flag=1;elsems_flag=0; } if((t==KEY2_PRES)&&(moshi==0)) { if(b1_flag==0)b1_flag=1;elseb1_flag=0; } if((t==KEY3_PRES)&&(moshi==0)&&(ms_flag==1)) { if(k1_flag==0)k1_flag=1;elsek1_flag=0; } if((t==KEY4_PRES)&&(moshi==0)&&(ms_flag==1)) { if(k2_flag==0)k2_flag=1;elsek2_flag=0; }}/*函数名:上传数据*/voidData_State(void){ u3_printf("#:%d,%d,%d,%d,%d,%d,%d,%d,%d#",ms_flag,k1_flag,k2_flag,b1_flag,b2_flag,b4_flag,temperature,humidity,adcx0);}intmain(void){ delay_init(); I2C_Configuration(); OLED_Init(); LED_Init(); KEY_Init(); OLED_ShowStr(16,16,"Conecting...",16); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 TIM3_Int_Init(99,7199);//10Khz的计数频率,50ms USART2_Init(9600); //串口初始化 usart3_init(9600); esp8266_start_trans(); //esp8266进行初始化 MPU_Init(); //初始化MPU6050 while(mpu_dmp_init()) { OLED_ShowStr(8,16,"MPU6050Error",16); delay_ms(200); } OLED_Clear(); //清屏 while(DHT11_Init()) //DHT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业劳动技能竞赛(环境保洁岗位)知识考试题库及答案
- 小学食堂面试常见问题及答案
- 消毒技术规范及疫情防控考核试卷附答案
- 硬包工程专项施工方案
- 液化石油气库站工安全考试考试试题及答案
- 幼儿园食堂员工考核试卷及答案
- 植物学果实和种子近代史复习题及答案
- 中职第一学年《(数控加工技术)数控车床操作》2026-2027年阶段测试题及答案
- 2025年广东省珠海市五年级英语上册期中考试试卷及答案
- 2025年广东省清远市初一英语上册期中考试试卷及答案
- 肺康复知情同意书
- 中考临界学生帮扶提升策略
- 2025年基层农产品质检岗笔试真题附答案
- 2026学年九年级化学上册第一单元核心考点第一次月考含答案及解析
- 高考物理疑难题《多次碰撞》含答案
- 团餐内部管理制度范本大全
- 高职司法口才课件
- 化工厂设备安全安装方案书
- 农村调解员课件
- 筠连县2025年公开考调事业单位工作人员(18人)历年真题汇编带答案解析
- 2025淘宝Weex跨多端业务高效交付实践
评论
0/150
提交评论