基于MQTT通信协议的无线室内环境实时监测系统设计

2022-11-11 09:35孙玉霞王军敏
电子测试 2022年19期
关键词:温湿度室内环境无线

孙玉霞,王军敏

(平顶山学院信息工程学院,河南平顶山,467000)

0 引言

对室内环境的实时监测对提高家居的安全性和舒适性具有重要意义,但现有的室内环境监测系统存在一些不足,例如监测数据不全面,不能及时有效地进行数据推送,组网形式复杂等[1,2]。为了解决上述问题,本文设计一种监测数据全面、检测精度高、传输稳定的无线室内环境实时监测系统。

1 系统总体设计

基于MQTT通信协议的无线室内环境实时监测系统主要包含硬件和软件两部分。一方面控制硬件利用传感器采集信息到TFT屏幕监测并且将采集到的信息推送到MQTT服务器,当有害气体超过阈值则发出警报;另一方面用户先注册再登录系统,小程序端便会订阅硬件主题下推送的消息,从而渲染到页面上进行实时更新,达到远程实时查看的功能。

在该系统中主要实现光照度监测、温湿度监测、烟雾浓度监测和一氧化碳浓度监测。无线室内环境实时监测系统的STM32主控单元负责接收数据,当读取到一氧化碳浓度超过阈值时,蜂鸣器会发出警报提醒用户及时开窗通风,当读取到室内温湿度时,提醒用户通过空气加湿器等一些家用电器来及时调整室内温湿度。此外,主控将数据读取后,可以通过ESP-12F WiFi模块利用MQTT协议[3]上传到MQTT服务器,在此过程中ESP-12F WiFi模块联网,通过网络设备获取ID并接入Broker之后,往/iot/445/xyz推送消息,微信小程序再去订阅这个消息便可以实现数据的实时显示,微信小程序控制灯的开关是通过推送关灯指令给MQTT服务器,ESP-12F模块订阅到开关灯指令实现灯的开关。

图1展示了该系统的原理图,设备侧通过最小核心采集传感器信息,ESP-12F模块把数据通过路由器推送到MQTT服务器,用户侧通过调用合适的API发起请求,并订阅MQTT推送过来的消息,微信小程序也可以发送AT指令反向控制设备侧灯的开关来调节光照度。

图1 基于MQTT通信协议的无线室内环境实时监测系统原理图

2 硬件系统设计

2.1 温湿度检测电路设计

本系统采用DHT11温湿度传感器对室内温湿度进行检测,其温度测量范围为0到50度,湿度测量范围为20%到95%,工作电压为3.3V到5V。图2为DHT11温湿度检测模块电路图。

图2 DHT11温湿度检测模块电路图

2.2 烟雾和一氧化碳浓度检测电路设计

采用MQ-2烟雾传感器检测室内烟雾浓度,采用MQ-7气体传感器检测一氧化碳浓度。图3为空气检测模块的电路图,采用模拟量对烟雾和一氧化碳浓度进行监测,VCC接5V电源,GND接地。

图3 烟雾和一氧化碳浓度检测模块电路图

2.3 ESP-12F WiFi电路设计

ESP-12F模块支持标准的IEEE8 02.11 b/g/n协议,完整的TCP/IP协议栈,方便用户使用此模块为设备添加联网功能。ESP8266共包含22个引脚,其中GPIO6-11被用于连接开发板的闪存,因此不适合用户自定义使用,可以使用其他的GPIO来对PWM进行接口控制。ESP8266负责无线上网接入承担WiFi适配器的任务时,可以将其添加到基于微控制器的设计中,连接简单易行。图4为ESP-12F WIFI模块电路图,只需通过SPI/SDIO接口或I2C/UART口、ESP-12F的RX引脚连接STM32VET6的PB10引脚、TX接PA11引脚、RST接PB9引脚即可。

图4 ESP-12F WiFi模块电路图

3 软件系统设计

3.1 采集端软件系统设计

当无线室内环境实时监测系统程序开启时,首先进行程序端的初始化,然后各硬件元件根据程序预设的状态进行硬件元件的初始化,硬件初始化会有略微的时延。硬件初始化结束后将WiFi模块配置为STA模式,通过对ESP-12F进行设置,COM的数据与WiFi的网络数据相互转换。若配置未完成则继续配置,配置完成后连接到MQTT服务器,采集端通过MQTT主题发布消息到服务器,微信小程序通过订阅此主题便可接收到消息,最后通过小程序的API渲染到页面上。图5为采集端主程序的工作流程图。

图5 采集端主程序的工作流程图

3.2 客户端软件系统设计

无线室内实时监测系统的移动终端是开发的一款用完即走的微信小程序[4],通过平台中提供的组件对移动终端的功能与界面进行设计,首先选择布局方案,主页包含头部、主体内容、Echarts图表、导航栏四个模块,采用wxml语言进行模块化布局,wxss语言进行样式美化。主体内容展示实时检测到的数据,为了到达响应式效果,本系统采用flex伸缩布局,通过设置主轴的方向和子元素的排列方式来实现。Echarts图表部分结合数据可视化知识,引入了Echarts柱状图,利用控制台订阅到的数据对Echarts中data数组的赋值便可实现数据的实时变化。

本系统的移动终端可以在主界面对室内的温湿度数据、烟雾浓度数据、一氧化碳浓度数据和光照强度数据进行实时显示,同时可以通过ECharts图表明显地展示数据的实时变化情况,如图6所示。

图6 移动终端主界面

4 结论

本文采用STM32单片机、多种传感器和WiFi模块设计了一个无线室内环境实时监测系统,该系统以STM32单片机为控制核心,使用DHT11、MQ-7等多种类型的传感器采集室内的多种环境数据,并利用无线WiFi模块通过MQTT通信协议将数据传送至微信小程序,用户可通过微信小程序远程实时查看室内的环境状况,具有重要的应用价值。

猜你喜欢
温湿度室内环境无线
浅析GB50325-2020与GB/T18883-2002关于室内环境污染物检测法的区别
蛋鸡育雏育成舍环境控制技术
无线追踪3
水元素在室内环境设计中的应用与发展
档案库房温湿度记录统计及调控
无线追踪
无线充电我最全
绿化在室内环境中的应用研究
无线充电器
变电站高压配电智能温湿度控制装置的研发与应用