基于STM32单片机智慧家居监控系统
2022-12-01韦栗张启龙易攀
韦栗,张启龙,易攀
(六盘水师范学院 物理与电气工程学院,贵州六盘水,553000)
0 引言
随着电子技术和电子产品在现实世界中的普及,家庭人工智能产品的提升才能满足人们实际生活的应用要求[1]。为实现家庭环境监测、安全管理、家电监测等功能,提高家庭生活质量,文章设计了以STM32F1系列芯片作为主要控制单元。基于WiFi的智能家居致力于物联网自动控制系统的研究。WiFi光节点的数目由AP Coordinator可以访问的节点数目决定[2]。集成多种高性能传感器,基于信息技术打造高品质的家庭设施和环境管理系统,满足家庭安全、便捷、舒适的需求[3]。
1 硬件设计
(1)硬件设计综述。文章以STM32F1单片机为核心,由温度和湿度传感器、烟雾传感器、电机模块和WiFi模块作为外围设备构成的控制系统设计。控制系统框图如图1所示。
(2)微处理控制系统。以STM32F1系列单片机作为主控制模块。其可以对传感器采集到的信息进行接收和处理。STM32F1系列单片机主控最小系统原理电路设计如图2所示。
(3)温度和湿度传感器。所选的DHT11数字温湿度传感器的空气湿度压力与饱和湿压之比为20%~90%,测量精度约为±4%,温度测量范围为0℃~50℃,测量精度为±1℃~±2℃[4]。以程序的形式标定系数,DHT11与8位高性能微机耦合,具有高性能干扰、高性能、高精度、高传输距离、DHT11的工作原理可以由文献[5]可知。温度和湿度传感器电路设计如图3所示。
(4)烟雾传感器。本次设计选择的是MQ2烟雾传感器,跟市场上各种类似的传感器比较发现,使用烟雾传感器主要是检测家庭常见的一氧化碳等常见家用电器使用不当时产生的可燃危险气体。在文献[6]中体现了MQ2烟雾传感器的工作原理。MQ2烟雾传感器电路原理如图4所示。
(5)窗帘驱动电机模块。采用的是L298P电机控制芯片[7]。L298可用于驱动直流电动机,部分高档微机如AVR、PIC等均有PWM输出端口[8]。该芯片的平均驱动电压可达50V,可以满足电动机的正常运行条件。窗帘驱动电机控制电路如图5所示。
(6)WiFi模块。WiFi模块ESP8266选择串行同行协议与微控制器同行[9]。WiFi模块是物联网的一部分(物联网)传输层。它通过WiFi将医疗器械、数据采集、手机等不同设备连接在一起,形成局域网。可以在不同环境和情况下与WiFi连接的无线通信,构成蜂窝局域网[10]。其工作原理如图6所示。
2 软件设计
(1)软件设计总述。系统软件支持STM32F1系列微机最小系统的正常稳定运行,使用微机控制各模块的平稳有序工作。同时,控制系统监测安卓客户端是否发出命令,如果先执行相关命令,程序将维持STM32F1系列单片机最小系统的稳定启动,使用微处理器稳定有序地控制模块,初始化STM32F1系列的所有外部设备,并在访问ESP8266WiFi模块后确定是否访问云服务,然后处理所需数据并将其发送给服务器更新。同时,控制系统的客户端决定是否发出命令,如果有执行命令,则实行手动控制,如果没有执行命令,则实行自动控制。
(2)温湿度传感器软件设计。工作时低电平有效,它可以自动测量空气中的温度和湿度,且灵敏度和精确度较高,是检测空气中温湿度的最佳选择。先对温湿度传感器外设进行初始化,再读取温度和湿度的值,显示温度和湿度,然后确定温度和湿度是否超过规定的阈值。如果出现采集的值超出阈值的情况,则会发生报警;若采集的值没有超出设定阈值的情况,则温度和湿度的数据采集仍在继续。测温湿度流程图如图7所示。
(3)烟雾传感器软件设计。由文献[11]可知选择ADC1的通道10不间断地对传感器的电压读取10次,然后取平均值。MQ2烟雾传感器软件流程如图8所示。
(4)窗帘电气驱动软件设计。文献[12]体现了电路设计单片机的产生要与L298P相序一致,电压以L298P为基础的兼有式电机。电机控制流程如图9所示。
(5)WiFi模块软件设计。ESP8266芯片上的无线连接被设计成AP+站或混合通信模式的WiFi通信模块。它可以独立运行,也可以作为一个子机在其他主机上运行[13]。它的功能是将串行端口转换为无线WiFi信号,由无线路由器转发。ESP8266芯片的连接采用软路由加客户端双模串口WiFi模块,也称为混合模式通信处理模式。
3 系统实现
该设计主要包括以下5个模块:微处理器模块、温度和湿度模块、电机模块、WiFi模块及显示模块。设计以STM32F1系列单片机为核心,通过传感器和处理器进行数据采集与运算,通过显示器对数据进行数据显示,用户可通过手机软件查询。该系统主要应用传感器模块、控制器和处理器模块、显示设置、串口WiFi模块来控制系统核心是STM32F1系列微机,通过传感器采集环境变量,传输到STM32F1系列微机处理和转换数据,需要的数据参数显示模块数据显示,用户直接观察模块向客户端接收数据,并在模块打开时将数据更新到手机。接通电源后,每个模块都会初始化,通过传感器模块获取相关信息,同时显示在LCD屏幕上。当温湿度传感器模块检测到的数据异常时,步进电机开始工作,实现窗帘自动升降工作;当烟雾传感器模块检测到的数据高于所设定阈值时,蜂鸣器报警,同时风扇开始自动工作,将室内的烟雾驱散,直到烟雾传感器检测到空气中的数据低于预设值时,蜂鸣器和风扇停止工作。同时将所有参数通过WiFi与手机终端连接,将数据传输至手机APP显示,手机APP也可单独控制LED、风扇、步进电机。此外,手机终端亦可选择硬件自动控制或者手动控制。上述工作命令的实际效果如图10所示。
4 结束语
本文结合STM32F1系列单片机的相关知识,利用温度和湿度传感器、烟雾传感器、显示模块、步进电机及WiFi模块协同工作,构成了一个家居环境监测功能的简易智慧家居系统。结合单片机从而测出不同的温度和湿度、烟雾浓度及其他危险气体,采集的数据信号通过显示屏LCD显示,同时系统连接手机APP终端,在手机上也可以实时了解到室内情况,以便用户对室内环境的了解和控制。初步检测结果表明,该设计完全满足设计目的和要求。文章设计成本适中,可直接用于智慧家居和推广。