力合科技(湖南)股份有限公司 湖南长沙市 410205
摘要:伴随着我国信息技术的发展和物联网行业的成长,家居环境正进行着改头换面的变化,人们在提高生活质量的同时更加向往健康的生活。对环境安全亦愈加重视.因此室内的各项环境数据在线监测就变得尤为重要.加之新兴材料五花八门,室内装修材料纷繁复杂,使得室内的环境污染越来越多,室内有毒气体监测变得刻不容缓.传统的技术与手段是基于仪器监测和环境算法,这需要大量的人力成本,无法适应设备轻小型化的发展趋势,也无法适宜巨大的社会变化带来的室内环境变化,实时、集成、高效的监测技术成为了研究重点.基于物联网的室内环境在线监测系统给环境监测所带来的智能化、集成化、大数据来源、云平台的大数据分享,可以为环境监测提供更深入、更详尽、更真实且具有客观性的数据.
关键词:物联网技术;室内环境;在线监测;系统设计
1系统架构
本文设计的室内环境在线监测系统架构如图1所示.按照物联网三层架构分为感知层、网络层、应用层.具体的实现方式是通过传感器所在的硬件感知层将感知到的四项环境数据通过串口通信传输给测控芯片STM32,STM32对数据进行处理后驱动ESP8266Wi-Fi模块进行网络传输,通过网络层的HTTP协议将环境数据传输到云端服务器.最后云主机将环境数据进行数据库存储,并搭建起Web服务器,允许Web应用进行远程的数据请求.通过上述方式,可以使得环境数据的获取变得高效,环境数据的实时显示变得方便,相较其他传统的非物联网的环境监测有着明显的优势.
.png)
图1系统框架图
2硬件设计
2.1硬件整体设计
系统的硬件设计由两大部分组成.一是以STM32为控制核心加上光敏电阻传感器、MQ-2烟雾气敏传感器、DHT11温湿度传感器三个传感器模块构成的数据测控模块,对与室内环境紧密相关的温湿度、烟雾或有毒气体、光照强度进行动态数据获取.二是ESP8266Wi-Fi模块为主的数据发送模块,负责将采集到的数据发送给云服务器.硬件整体设计如图2所示.
.png)
图2硬件整体设计图
2.2数据测控模块
数据测控模块以STM32F103单片机为核心,这是一款增强型MCU,拥有64个引脚和256K字节的闪存,具有低功耗特性,丰富的快速I/O端口,成本低却拥有较高的性能.测控模块硬件构成如图3所示.控制器模块的主要作用就是将32位单片机STM32F103作为测控节点的控制芯片,控制温湿度传感器采集温湿度数据,光敏电阻传感器采集光照强度,烟雾传感器采集烟雾浓度,并将采集到的数据在LCD屏上显示.
.png)
图3数据测控模块
.png)
图4Wi-Fi通信模块
2.3数据发送模块
本系统采用由ALENTEK推出的一款高性能串口无线模块,内置TCP/IP协议栈可以轻松实现串口与Wi-Fi之间的转换.兼容3.3V和5V单片机系统,可以与测控板进行连接.支持串口转无线站点、串口转热点和无线站点加无线热点的三种模式,从而快速地构建串口Wi-Fi数据传输方案,方便测控板与互联网进行数据传输.无线通信模块硬件如图4所示.
3软件设计
3.1感知层与网络层的软件设计
软件设计思路着眼于实现数据的获取、封装、发送、显示等功能,从以下几个方面进行设计.(1)第一部分:对传感器进行初始化之前,使能复用对应的GPIO口,并打开模数转换器,同时短暂等待20秒,让MQ-2烟雾传感器预热,使得其测量数据真实准确,这样便为接下来的传感器获取数据做好准备.(2)第二部分:进行数据的获取.初始化时对四项参数进行了置零处理,用以表示初始化完成.每隔5秒获取一次传感器获得的数据并显示在LCD屏幕上,做到本地环境数据的实时显示.驱动Wi-Fi模块对远端服务器进行连接,若未能成功连接,则在0.5秒后继续请求连接直至成功.(3)第三部分:将获取到的环境数据,封装成HTTP请求,以GET的形式提交给云端Web服务器,而服务器会将提交的数据存在MySQL数据库中,方便对环境数据访问,但程序并未走完,系统的设计功能是能实时不断地进行数据获取和远程访问,所以每隔5秒后又重复第二部分和第三部分的程序流程,直到手动终止程序进程.软件设计流程图如图5所示.
3.2应用层的软件设计
通过在阿里云租赁的云主机进行应用层的服务器搭建,Web服务器的软件设计分成三步,按照Django的MVT框架进行代码编写.第一步是在线监测系统前端界面的编写;第二步是利用基于Python的Django框架搭建出一个简单的Web服务器,为了提高Web服务器的稳定性,采用uWSGI代理web服务,从而提高服务器的响应能力和抗压能力;第三步是在云主机上安装MySQL数据库,由数据库来接收从传输层发来的环境数据.应用层设计结构图如图6所示.
.png)
图5软件设计流程图
.png)
图6应用层设计结构图
4系统测试
4.1传感器与LCD屏测试
测试用到了三种传感器模块、LCD屏和测控板,主要目的是为了验证是否能获得准确的环境数值以及能否在LCD屏幕上正确显示.初始化温湿度传感器等待3秒左右,但MQ-2烟雾传感器模块由于需要预热才能测量精准所以需要等待20秒,此后LCD屏幕上开始刷新传感器采集到的实时环境数据,环境的参数每隔5秒刷新一次,新获得的数据会更新在LCD屏上.测试效果图如图7所示.
.png)
图7测试效果图
4.2Wi-Fi通信测试
测试用到了Wi-Fi模块、温湿度传感器、测控板和手机,目的在于验证传输层的Wi-Fi模块能否有效开启两种模式并成功传输数据.分别测试Wi-Fi模块的AP模式和STA模式.首先将Wi-Fi模块作为热点,热点名称为ATK-ESP8266.让手机直接连接Wi-Fi模块,以此来直接获取Wi-Fi模块传出的数据.调试实际效果如图8所示.接着进行STA模式的测试.在连接到路由器后,程序会执行对云服务器的连接,只有与服务器连接成功后,程序才会继续往下执行.这样设计的目的是为了让每一次从传感器处获取的数据都能发送给远程的服务器,确保数据不丢包,从而保证本系统的数据真实性.将ESP8266模块作为STA接入路由器测试的实际效果图如图9所示.
.png)
图8AP模式测试图
.png)
图9STA模式测试图
4.3服务器与客户端测试
测试用到了云主机服务器、测控板、三种传感器模块和Wi-Fi模块,目的是为了验证感知层获取的数据能否有效地通过网络层上传到应用层服务器,并且能通过Web应用访问到相应数据.数据在感知层获取后不断地通过HTTP请求将环境参数发送给远程服务器.在测控板上获取到环境数据并发送给服务器的界面截图如图10所示.在手机终端或电脑浏览器上访问云服务器主机地址,网页应用会每5秒刷新一次环境数据.服务器运行结果见表1.感知层的传感器通过Wi-Fi模块为主的网络层,将数据传输到服务器并保存在MySQL数据库,就能实现在任何地方进行室内环境数据的实时监测.
.png)
图10获取发送数据测试图
.png)
表1服务器获取数据测试
5结语
针对室内环境监测的实时高效需求,研究和设计了基于物联网技术的室内环境监测系统,实现了室内环境数据的自动采集和上传等功能.该系统包括感知层、网络层、应用层三部分,感知层由传感器和STM32测控主板构成,网络层由Wi-Fi通信模块构成,应用层由云服务器和Web应用构成.实验结果验证了系统的有效性.
参考文献:
[1]汤佳露,冯昊洋,丁荐元,周豪,玄鸿锐.基于物联网技术的室内环境可监测控制系统研究与实现[J].科技创新与应用,2019(32):14-16.
[2]王定奥.室内环境与能耗监测系统设计[D].南京信息工程大学,2019.
[3]万义星.基于物联网技术的室内环境甲醛监测系统设计与实现[D].南昌大学,2014.
[4]纪志成.基于物联网技术的博物馆室内环境监测[J].文物保护与考古科学,2011,23(03):48-54.