基于STM32与ZigBee的室内环境调控系统设计
2020-12-24余正军
摘 要: 为了对室内温度、湿度、毒气浓度、PM2.5等环境参数实时监测与调控,设计一种基于STM32与Zigbee的室内环境调控系统。利用Zigbee自组网技术实现对室内温度、湿度、毒气浓度及PM2.5等信息采集,并通过协调器上传至STM32网关,经处理后在LCD屏上显示,同时可提供web站点用户通过浏览器查看,另外,可根据实际情况下对终端设备下发操作的指令。从而为用户对室内环境参数监测与调控提供了更好的解决方案。
关键词: 室内环境调控;系统;信息上传;STM32网关
中图分类号: TP273+.5 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.042
本文著录格式:余正军. 基于STM32与ZigBee的室内环境调控系统设计[J]. 软件,2020,41(07):206-209
Design of Indoor Environment Regulation System Based on STM32 and ZigBee
YU Zheng-jun
(Shantou Polytechnic, Shantou 515078)
【Abstract】: An indoor environment regulation system based on STM32 and Zigbee is designed to realize real-time monitoring and regulation of indoor temperature, humidity, toxic gas concentration, PM2.5 and other environmental parameters. Use Zigbee self-organizing network technology to collect indoor temperature, humidity, toxic gas concentration, PM2.5 and other information, which is uploaded to STM32 gateway through the coordinator and displayed on the LCD screen after processing. At the same time, it can provide web site users to view through the browser. 7In addition, it can issue operation instructions to the terminal equipment according to the actual situation.so as to provide a better way for users to monitor and regulation the indoor environmental parameters.
【Key words】: Indoor environment regulation; System; Information upload; STM32 gateway
0 引言
随着全面小康社会的实现,室内环境因素严重威胁人类的健康,然而蓝牙、Zigbee、红外线、WiFi等无线通信技术在环境监测系统中得到了广泛应用。例如基于Zigbee技术和GPRS通信技术实现对室内环境参数的远程传输与监测[1],基于Gainspan平台利用wifi技术实现是对室内环境参数监测[2], 基于CC2530与CC3200的室内环境监测[3]。但上述系统只利用相关的无线技术将室内环境信息上传至服务器存储,并没有对数据边缘处理,也没有对室内环境进行实时调控。
针对这一缺陷,结合他们的研究经验,本文提出一种基于STM32与ZigBee的室内环境调控系统的设计,实现对室内环境信息实时监测与调控,并能将室内环境信息在stm32网关的LCD屏动态显示,同时也能让用户在web站点上通过浏览器实时查看。
1 系统总体方案
系统的zigbee协调器和终端节点模组的MCU采用TI公司生产的CC2530F256。此芯片使用8051内核,建立在适应2.4 GHz IEEE802.15.4標准协议上,内置RF收发器,8 KB的SRAM,256 KB闪存快、能对18个中断源管理的中断控制器,21个通用的I/O引脚,5通道DAM,32kHz睡眠计数器等丰富的外设接口[4]。
系统的STM32网关除了对系统中信息实时处理并在触摸屏上显示外,还作为一个小型的web服务器使用,以达到数据边缘处理的目的,从而减少数据的上传和下发的网络延时。网关主控芯片为意法半导体公司生产的STM32F767XX系列控制器——STM32F767IG76,该芯片集成ARM Cottex-M7内核,工作频率高达216MHz,6级流水线技术,1MB闪存容量,512 kB SRAM内存容量,140个I/O,12个16位计时器数量,24个12位A/D转换器数量,2个12位D/A转换器数量,2个32位计时器数量,拥有CAN x 3,DCMI,I2C x4,I2S x3,QSPI,SDIO,SPI x6,UART x4,USART x4,USB OTG,USB high-speed等丰富的接口[5]。
基于stm32和zigbee的室内环境管理系统的总体结构如图1所示。
該系统由zigbee终端节点(带有传感器节点和继电器节点)、zigbee协调器及STM32网关组成。Zigbee终端节点利用相应传感器对室内温度、湿度、毒气浓度、PM2.5等环境信息进行采集[6]并发送至zigbee协调器。继电器作为控制开关,根据zigbee协调器转发的指令打开或关闭相应的外部设备。Zigbee协调器负责建立星型网络传输方式,将接受到的各终端节点上传的数据,并将数据以定义好的协议通过串口将数据发送各stm32网关,同时将网关下发的指令数据送至对应的继电器节点。STM32网关将接收到数据经过处理后显示在触摸屏上,同时可提供web站点用户查看;另外,stm32网关可根据实际情况向终端节点下发操作指令。
2 终端硬件选型
终端硬件是获取室内环境数据的感知层,其性能直接影响整个系统的性能。本系统选择带有传感器或继电器的zigbee模组。传感器在本系统中主要是是对室内环境新系统的采集,故选用了DH11温湿度传感器、MQ-2烟雾传感器、PM2.5传感器;继电器在本系统中作为调节室内环境设备的开关,故选用了SRD-5VDC-SL-C。
2.1 DH11温湿度传感器
DH11具有易驱动,低功耗,高可靠,单向串行传输方式。每次传送40bit数据,即8bit湿度整数部分+8bit湿度小数部分+8bit温度整数部分+8bit温度小数部分+8bit校验和[6]。
2.2 MQ-2毒气传感器
MQ-2毒气传感器利用二氧化锡(SnO2)在清洁空气中电导率低的特性[7]。当该传感器所处环境中存在有毒气体时,它的导电性能随毒气浓度的增加而提高;并具有长寿命、高灵敏性、易驱动等特点。本系统通过其输出的0~5 V电压值判定室内有毒气体浓度。
2.3 PM2.5传感器
PM2.5传感器是利用激光束入射到被测环境中,通过探测器接收散射光,根据产生的光电流大小来判定室内粉尘浓度。FM-PN具有分辨率高、误差小、响应快,易驱动等特点。本系统通过其输出电流4~20 mA电流值判定室内PM2.5的值。
2.4 继电器
继电器在本系统中作为调控设备的开关使用,当需要调控室内环境时,将继电器线圈两端加上规定电压,否则断开线圈两端电压。据低成本、易实现的原则本系统选用SRD-5VDC-SL-C作为环境信息调控设备的开关。
3 系统软件
系统软件分为Zigbee自组网的软件和STM32网关软件两部分。
3.1 Zigbee自组网的软件
Zigbee自组网中的节点只含终端节点和协调器,终端节点主要功能是对室内环境进行监测与调控,本系统的终端节点为带有传感器或继电器的Zigbee模组。其软件是对模组中的时钟、定时器、RF射频、传感器、继电器进行驱动;并查找四围是否存在由zigbee协调器建立的网络,若存在则请求入网并获取zigbee协调器分配的PAN ID,同时向zigbee协调器发送绑定请求进行绑定,绑定成功后周期性收发数据。终端节点程序流程图如图2所示。协调器是zigbee自组网的组网节点。其软件包括时钟、定时器、RF射频、UART串口等模块驱动、zigbee协议栈初始化、扫描并选择合适的信道,设定网络标识为自己分配一个PAN ID,对终端节点的入网以及数据收发等功能。协调器程序流程图如图3所示。
3.2 STM32网关软件
STM32网关是整个系统的的大脑,其软件分为3个部分即STM32相关驱动软件、人机交互界面软件和以太网相关软件。
由于stm32网关要实现与zigbee协调器的通信、人机交互功能和webServer功能,即要实现串口、LCD、Touch及为系统扩展的SRAM、和Flash、以太网外设及SD卡的驱动。串口驱动主要完成STM32与Zigbee之间通信协议的定义、STM32获取zigbee串口数据即数据解析等功能;LCD和外部SRAM挂接在STM32的FSMC接口,Touch和外部Flash挂接在STM32的SPI接口,以太网外设通过STM32的RMII接口连接,SD卡通过STM32的SDIO接口连接,故要要对FSMC、SPI、RMII和SDIO接口中寄存器进行配置,LCD硬件初始化、画点及填充等功能。系统将stm32作为web服务器使用,需用LWIP驱动网卡实现HttpServer、通过FatFS驱动SD卡实现web页面文件的存储。其程序流程图如4所示。
在系统移植Stem Win和中文字库,实现人机交互控制界面的设计,交互界面主要实现GUI显示任务(环境信息的显示及调控设备的打开与关闭)和Touch检测任务,其效果如图5所示。
利用HTML5+CSS+js技术完成web页面的设计,页面主要分为两个部分一部分用于显示室内环境信息,另一部分模拟系统调控设备的运行状态。其效果如图6所示。
4 验证测试
验证测试的主要是验证整个系统的稳定性和实时响应的灵敏性。测试要求:一测试zigbee网络的终端设备能否准确的将室内环境信息上报给zigbee协调器,协调器通过zibee串口上传至stm32网关,最后经过stm3处理后再在网关的LCD屏上显示同时根据用户设置的参数,对终端相关设备作出实时响应;二测试stm32作为web服务器,系统能否及时响应web客户端用户通过浏览器查看室内环境系统、设备运行状态及用户向系统下发的指令操作。
测试结果:通过继电器工作状态模拟室内调控设备工作状态,即继电器开代表设备正常工作,继电器关代表设备停止工作。通过多次试验当室内温度采集到的温度、湿度、毒气浓度及PM2.5的值其中有一项值大于用户所设置的值时继电器打开的准确率高达99.3%;浏览器与LCD屏上显示的环境信息几乎同步。系统达到了预定设计的目标。
5 结束语
本文设计一种基于stm32与zigbee的室内环境调控系统,利用zigbee自组网技术实现对室内温度、湿度、毒气浓度及PM2.5等信息采集,并通过协调器上传至stm32网关,经处理后在LCD屏上显示,同时可提供web站点用户通过浏览器查看,另外,可根据实际情况下对终端设备下发操作的指令。该系统实现了对室内环境参数信息的监测与调控。下一步工作是对室内参数实时上传至云端存储,利用云计算和人工智能技术对上传数据进行训练,进一步象网关推送更为合理的调控模型。
参考文献
-
王骥, 林杰华, 谢仕义. 基于无线传感网的环境监测系统[J]. 传感技术学报, 2015, 28(11): 1732-1740.
-
王丽伟, 邬迎. 基于wifi技术的家居环境监测系统的设计与研究[J]电脑知识与技术, 2016, 12(13): 49-50.
-
蔡俊豪, 曹广忠, 彭业萍, 周受钦. 基于CC2530与CC3200的室内环境监测系统设计[J]. 2019, 42(10): 71-74, 78.
-
Texas instruments. CC2530[2011-02-01]. http://www.ti. com/ lit/ds/symlink/cc2530. pdf
-
STMicroelectronics.https://www.st.com/content/st_com/en/search. html#q=stm32f767-t=tools-page=1
-
杨淳清. 基于嵌入式的zigbee无线传感网智能家居系统硬件设计[J]. 电子技术与软件工程. 2019, 3: 164.
-
晏勇. 物联网智能家居开放型实验平台开发与设计[J]. 中国优秀硕士学位论文全文数据库, 2014.
-
赵勇. 基于arm和zigbee的智能家居远程控制监控系统设计[J], 测控技术, 2012. 31(11): 52-54, 59.
-
梁铁, 李凯, 王付强, 郝真鸣. 基于STM32和LwIP协议栈的web网页控制系统的设计与实现[J]. 测控技术. 2015, 32(9): 134-137.
-
RTOS: Design How is Your Application Affected. Ed Klein. 1998.
-
耿树芳, 王宁, 张雪莹, 展先彪. 一种基于STM32的智能家居无线网关设计[J]. 廊坊师范学院学报(自然科学版). 2018, 31(12): 26-30.
-
賈伟. 物联网的数据采集与信息传输技术研究[J]. 现代电子技术, 2016, 39(5): 33-37.
-
汪千松. 一种基于Free RTOS实时系统改进的时间片延迟调度算法的设计[J]. 科技世界, 2019, 28(15): 43-44.
-
Fei Guan, Long Peng, Luc Perneel, Martin Timmerman. Open Source FreeRTOS as a Case Study in Real-time Operating System Evolution. The Journal of Systems & Software, 2016.
-
孙川淳. 基于LwIP的嵌入式网络总线与web server的调度实现. 电子设计工程, 2019, 35(03): 159-163, 168.