基于ZigBee的室内温湿度与烟雾信号监测系统
2022-10-08许东辉郭秀娟
许东辉, 郭秀娟
(吉林建筑大学 电气与计算机学院, 吉林 长春 130118)
0 引言
室内环境是影响生产和居民生活质量的重要因素。无论是生产车间、设备间还是高端住宅,室内环境监测系统显得尤为重要。传统的监测系统中数据的传输多采用有线通信,有线通信存在成本较高、布线繁琐、系统扩展性能差、线路老化快、抗干扰能力差等问题[1];数据显示通常采用LCD、OLED等显示屏,数据显示内容有限,并且受空间的限制用户不能随时随地的查看室内环境数据。文章设计一种基于ZigBee技术的室内环境监测系统,通过DHT11和MQ-2多个终端传感器采集室内温湿度与烟雾浓度,通过ZigBee技术将数据发送至ZigBee协调器,由协调器板载的Wi-Fi模块将数据传输到云平台,将测得的温度湿度及烟雾浓度数据在Web网页上显示。用户可以在任何时间任何地点查看室内环境数据,并在云平台对环境数据阈值进行调整,在室内有害气体浓度或者温湿度超出阈值时发出警报,提醒采取措施。
1 系统的总体设计
系统主要由下位机与上位机组成。下位机包括终端采集节点、协调器组成,上位机采用阿里云平台。上位机与下位机数据交互通过Wi-Fi网络完成,终端节点与协调器之间的通信采用ZigBee自组网进行双向通信。终端节点用来采集室内温湿度及烟雾浓度数据;协调器用来汇集终端节点数据,ZigBee协调器搭载了ESP8266 Wi-Fi模块与云平台进行通信,将终端节点数据传输到云平台;云平台用于系统数据的显示。系统采用阿里云平台,应用阿里云平台的IoT Studio工具创建数据显示界面,可通过云平台设置室内环境数据的阈值,当终端节点采集数据超过阈值时系统发出警报,用户及管理人员可以及时得知室内环境情况,为后续工作提供数据依据。系统总体框图如图1所示。
图1 系统结构图
2 系统硬件设计
2.1 CC2530单片机模块设计
系统用于室内环境数据采集,系统的终端节点及协调器均安装于室内,传输距离较近,因此采用TI公司最新的第二代片上系统CC2530,该芯片的传输距离为400 m以上,完全适用于室内。CC2530是德州仪器公司推出针对IEEE 802.15.4协议和ZigBee和RF的解决方案,能够在此芯片的基础上用极低的成本构建出强大的网络,并且CC2530芯片的工作温度范围在-40 ℃~125 ℃可以适用于多种不同的温度情况,也可以应对突变的温度环境。同时,此芯片内置强大的ZigBee协议栈,ZigBee协议栈是将各层定义的协议都集合在一起,以函数的形式实现,并给用户提供API(应用程序编程接口),用户可以直接调用[2]。通过使用ZigBee协议栈来使用ZigBee协议,实现无线通信功能,Zigbee协议栈是构建ZigBee无线传感网络的核心,仅需要很少的外围电路就能构成ZigBee协调器和终端节点。工作模式下,ZigBee技术的传输速率低,传输数据量很小,因此信号的收发时间很短。在非工作模式情况下,ZigBee的节点处于休眠状态。由于工作时间较短,收发信息功耗较低且采用了休眠模式,使得ZigBee节点非常省电,减少了功耗延长了待机时间。CC2530芯片电路如图2所示。
图2 CC2530电路图
2.2 温湿度传感器设计
设计中,室内温湿度的数据由DHT11数据采集模块进行采集。DHT11由一个八位高性能单片机传感器及与其连接的电阻式湿度传感器、NTC测温元件构成。具有抗干扰能力强,反应时间短,可靠性强和性价比高等优点[3]。DHT11传感器在专业实验室校准后将校准系数以程序形式存储在OTP内存中。以便于在传感器内部检测时调用校准系数[4]。传感器采用单线制的串行接口,拥有简易快捷的优势。微处理器和DHT11之间的数据通信采用单数据总线传输方式,仅采用一根数据线即可满足通信要求,节省了单片机上的I/O口资源。温度传感器与单片机连接的电路如图3所示。
图3 温湿度传感器
图4 烟雾传感器
2.3 烟雾传感器设计
烟雾传感器采用MQ-2传感器。MQ-2传感器是一款技术成熟应用范围广的传感器,在家庭和工厂中被广泛采用,MQ-2由二氧化锡组成,MQ-2的敏感材料是活性很高的SnO2,其工作原理为:当SnO2在空气中被加热到一定温度时,SnO2会吸附空气中的氧,其电子会转移到所吸附的氧上,导致氧原子变为氧负离子,由于这种电子的转移,会在SnO2表面生成一个正的空间电荷层,从而导致表面势垒升高,这样会阻碍电子流动,导致电导率的变化[5]。室内安装时一般将烟感传感安放在厨房燃气泄露发生率比较高的地方。烟雾传感器与单片机连接的电路如图4所示。
2.4 ESP8266模块设计
设计中下位机与上位机之间的通讯是通过Wi-Fi网络实现的,系统选择ESP8266模块实现Wi-Fi通信功能。ESP8266模块是低功耗Wi-Fi芯片,集成了完整的TCP/IP协议栈和MCU。
ESP8266模块芯片是基于无线通信协议的UART-Wi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式:STA、AP、STA+AP,比较适合家居环境使用[6]。ESP8266模块的控制是通过AT(Attention)指令(终端与上位机实现通信功能的指令)的形式控制,通过串口助手可以实现ESP8266模块与云平台的数据交互。且该模块的工作温度范围大,且能够保持稳定的性能,能适应各种操作环境。ESP8266模块通信原理图如图5所示。
图5 ESP8266模块原理图
3 系统的软件设计
系统软件部分主要分为下位机软件及上位机软件,其中,下位机软件包括ZigBee自组网及ESP8266模块软件设计;上位机软件设计为阿里云平台的设计。
3.1 ZigBee自组网
ZigBee自组网主要完成终端节点与协调器之间数据交互。包括系统各个设备的初始化,ZigBee协议的初始化。终端节点在系统上电后进行主控芯片及传感器的初始化,并寻找可用信道,当成功加入可用网络后,将数据通过ZigBee协议发送给协调器;协调器在系统上电后完成主控芯片初始化,并组建ZigBee网络,进行扫描,当扫描到可用信道时协调器会指定一个PAN ID和16位网络地址,PAN ID范围为0x0000~0x3FFF,协调器的地址通常为0x0000信道为11~26[7]。Zigbee网络中只有协调器允许的设备才可能加入网络并及时接收终端节点发送的室内温湿度及烟雾浓度数据,并将其通过Wi-Fi网络将数据发送到云平台。
系统中ZigBee所选择的开发环境是IAR软件8.1版本,软件本身对多种语言兼容,程序对CC2530芯片适配性,对系统网络的组建提供了强有力的支持。采用C语言进行编程,因为ZigBee协议栈为半开源协议栈,用户可以在TI公司的官网免费下载全部权限的ZStack-CC2530软件安装,在每个应用层中添加开发者所需要的代码就可以实现ZigBee网络的搭建,节省了组网的时间成本。ZigBee组网程序流程如图6所示。
图6 ZigBee自组网程序流程图
3.2 ESP8266模块软件设计
系统中协调器通过ESP8266模块与阿里云平台进行数据交互,ESP8266模块与云平台之间需要建立TCP连接进行数据交互,文章利用串口助手通过AT指令建立ESP8266模块与云平台之间的连接,通过AT指令配置ESP8266无线模块,实现协调器与阿里云平台的TCP连接及数据传输[8]。ESP8266模块程序流程如图7所示。
图7 ESP8266模块程序流程图
3.3 云平台设计
系统的上位机采用阿里云平台,通过阿里云平台的IoT Studio工具完成Web界面的建立。利用该工具,只需在编辑框内进行简单设计,配置数据源,最后发布即可完成Web界面的创建,然后ESP8266可以将终端采集的数据传输到协调器,通过Wi-Fi无线传输到云平台,管理人员和用户可以通过阿里云平台账户登录进行数据的监测,无需用户自主搭建App,大大降低了开发成本。Web界面如图8所示。
图8 Web界面
4 系统测试
系统调试好之后随机采取某天不同时刻的温度与物理测试的数值进行对比,详情见表1。
表1 系统测量数据表
经过系统的测试,比较系统显示值和实际测量值之间的误差,经过对比数据进行分析,系统的误差率控制在0.6%以下,能满足对日常生产生活的使用,满足系统的最初设定。
5 结论
基于ZigBee的室内温湿度与烟雾信号监测系统的使用,消除了传统监测系统通过有线方式通讯的弊端,管理人员及用户可在云平台Web网页上对数据进行浏览,为生产生活提供了便利。