基于ESP8266的地窖环境监测系统设计

2024-01-18 20:51:12胡浩鸣张胜利赵思阙卉袁铭键
现代信息科技 2023年22期
关键词:无线通信技术环境监测

胡浩鸣 张胜利 赵思 阙卉 袁铭键

收稿日期:2023-04-12

基金项目:浙江理工学科技与艺术学院教改项目(Kyjg2118);2022年国家级大学生创新创业训练计划项目(202213280008)

DOI:10.19850/j.cnki.2096-4706.2023.22.033

摘  要:针对地窖环境监测系统复杂度高、互动性低等问题,通过互联网技术、传感器技术和无线通信技术,设计一种基于ESP8266的地窖环境监测系统。该系统以STM32F103单片机为核心,ESP8266Wi-Fi模块作为辅助,对地窖中的环境进行监测。依托中国移动物联网开放平台(OneNET)进行交互及远程,实时监测地窖内环境信息。在环境数据超出预设值时,通过电机驱动对换气扇进行启停响应动作控制。实验结果表明,所设计的系统能够有效监测地窖中的环境数据,并且能够自动控制换气扇及远程监测数据信息,远程控制换气扇等,达到功能设计要求。

关键词:环境监测;智能远程监测;无线通信技术;IoT

中图分类号:TP274    文献标识码:A    文章编号:2096-4706(2023)22-0150-06

Design of Cellar Environmental Monitoring System Based on ESP8266

HU Haoming, ZHANG Shengli, ZHAO Si, QUE Hui, YUAN Mingjian

(Keyi College of Zhejiang Sci-Tech University, Shaoxing  312369, China)

Abstract: Aiming at the problems of high complexity and low interactivity of cellar environmental monitoring system, designs a cellar environmental monitoring system based on ESP8266 through Internet technology, sensor technology, and wireless communication technology. The system uses the STM32F103 Single-Chip Microcomputer as the core and the ESP8266Wi-Fi module as an auxiliary to monitor the environment in the cellar. Relying on the China Mobile Internet of Things Open Platform (OneNET) for interaction and remote monitoring of environmental information in the cellar in real-time. When the environmental data exceeds the preset value, control the start stop response action of the air exchange fan through motor drive. Experimental results show that the designed system can effectively monitor environmental data in the cellar, and can automatically control the ventilator, remotely monitor data information, and remotely control the ventilator, meeting the functional design requirements.

Keywords: environmental monitoring; intelligent remote monitoring; wireless communication technology; IoT

0  引  言

在我国的北方地区地窖的使用非常普遍,蔬菜水果的自身呼吸作用产生二氧化碳气体和低温偏,湿环境造成蔬菜水果腐烂生成的硫化氢有气体,导致人们进入地窖时可能会发生中毒或晕倒事件[1],同时地窖温湿度、二氧化碳浓度等环境对食物保存具有重要影响,传统的监测系统主要基于有线通信方式,在实际应用中存在维护困难、布线复杂等缺陷。因此开发出可靠安全、价格相对低廉、低功耗、便捷的智能地窖环境监测系统迫在眉睫。

本文针对存在的隐患进行了相应的设计。该设计会将地窖的环境监测情况实时发送至服务端,使用人员可以通过服务端实时观测到地窖内温度、湿度、二氧化碳和硫化氢等的含量浓度情况以及进行对换气扇进行控制的操作,同时系统能够对环境中所存在的安全隐患采取应急措施,从而大大降低了安全风险。

1  地窖环境监测系统总体框架

系统由数据监测装置、信息反馈模块和OneNET云平台[2]三部分组成,其中数据监测装置包括MQ-136硫化氢传感器、DTH11温湿度传感器、SGP30气体传感器,微处理器通过采集传感器数据进行滤波处理,通过ESP8266Wi-Fi模塊将数据上传至云服务器。考虑到有线通信方式铺设成本较高,不利于在地窖环境中部署,而无线通信方式成本低且方便维护,本文使用ESP8266进行通信。信息反馈模块对数据进行处理,进行相应的动作响应和反馈。OneNET云平台负责对客户端上传的数据进行接收及向服务端发送监测结果等,用户能够方便地查看相应的信息,并且实现对换气扇的远程控制操作。地窖环境监测系统的整体设计框架如图1所示。

2  系统硬件设计

2.1  主控芯片

采用意法半导体公司的STM32F103RCT6,它是基于ARM Cortex-M系列的高性能32位微控制器。它包含高性能的RISC内核,运行频率达72 MHz,具有高达1MB的片上内存,使之能够支持更大规模的数据存储和提供更快的运行速率及准确的时钟。STM32F103RCT6具有多种外设接口,包括同步/异步串口接口、12位模数转换器、I2C接口、SPI接口、CAN接口等。具有高性能、实时功能、数字信号处理、低功耗与低电压操作特性,同时还保持了集成度高和易于开发的特点[3]。

2.2  SGP30气体传感器

SGP30具有多个传感元件,是一款金属氧化物室内气体传感器,内集成4个气体传感元件,提高了传感器灵敏度,具有完全校准的空气质量输出信号,主要是对空气质量进行检测。当目标气体浓度达到一定浓度时,金属氧化物颗粒上吸附的氧气与目标气体发生氧化还原反应,从而释放电子,改变了电导率,通过电路进行检测、信号处理、转换等就能间接测量出空气中CO2和TVOC浓度。SGP30同时采用微电子机械系统(MEMS)技术,使用微电子加工工艺制造的气体检测芯片,实现了低功耗、高精度、小尺寸等优点。它能够精确检测总挥发有机物(TVOC)及CO2的浓度值,具有稳定性高、抗干扰力强等特点。本系统SGP30气体传感器电路如图2所示。

2.3  DHT11温湿度传感器

它所使用通信协议为简化的单总线协议,工作电压在3~5.5 V之间,测量温度范围为0~50 ℃,湿度在20%~90%之间。系统中控制、数据交换均由一根数据线完成,即可传输时钟,又可传输数据,同时数据传输为双向。微处理器与DTH11之间的通信和同步,采用单总线数据格式,一次通信时间为4 ms左右。DTH11在没主机唤醒的时候处于低功耗模式。当MCU把总线拉低18 ms以上低电平的开始信号时,DTH11将会从低功耗模式转化为高速模式,进行数据发送,等待主机开始信号结束后,从总线读取DTH11发送响应信号,送出40 bit的数据,并触发信号采集,若未收到开始信号,则进入低速模式,不会主动进行数据采集[4]。具有体积小、低成本、可靠性高等特点。

2.4  MQ-136硫化氢气体传感器

它是一款金属氧化物气体传感器,其应用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)[5]。

在使用之前需要进行一段预热时间来提高它的灵敏度。当传感器处于含有硫化氢气体的环境中时,传感器的电导率将会随环境中硫化氢气体浓度而改变。因此对电路进行适当设计即可将电导率的变化转换为与该气体浓度相对应的电压输出信号。MQ136气体传感器具有对硫化氢的灵敏度高的特点,同时对其他含硫有机蒸气的监测也非常理想,是一款能够多场合应用的低成本传感器。本系统MQ-136硫化氢气体电路如图3所示。

2.5  ESP8266无线通信模块

ESP8266是一款超低功耗具备高性能的UART-Wi-Fi透传模块,能够使用AT指令控制进行相应的操作,易于开发和操作,大部分的网络功能需求都能满足。同时具有超低能耗技术、小尺寸封装等优点,采用3.3 V电压供电,支持UART、GPIO等接口,专为可移动式设备及物联网技术应用进行设计,支持TCP/IP协议,能够将设备接入Wi-Fi,进行与互联网或局域网的通信,从而实现物联。

2.6  电源模块

电源模块主要由两部分组成:一部分由直流稳压源提供5 V电源,对主控芯片及各个传感器进行供电,另一部分由AMS1117低压降线性稳压器及外围电路转化为3.3 V供ESP8266无线通信模块使用。

2.7  换气扇控制模块

换气扇控制模块由电机驱动模块TB6612FNG驱动直流电机,它具有大电流MOSFET-H桥结构。

3  系统软件设计

3.1  数据采集处理软件设计

地窖环境监测系统由STM32F103RCT6微处理器进行数据的采集,软件流程图如图4所示。

STM32基于Keil软件环境开发平台,该平台提供了包括编译C源码、连接器、汇编源程序、创建HEX文件、库管理和仿真调试器等在内的完整開发工具。通过Keil平台进行程序的编译,程序通过验证无误后即可进行烧录至STM32。在软件程序上,先对相应的器件进行初始化的操作,对所处的环境数据进行采集并进行相应滤波操作,使用中位值滤波算法,去掉数据中最大的两个值和最小的两个值,再进行求平均值,具体函数代码如下:

float data[15];

float Filter(float get_data){

float sum = 0;

float temp[15];

float value;

int i,j;

for(i=0; i<14; i++){

data[i]=data[i+1];

}

data[14] = get_data;

for(i=0; i<15; i++){

temp[i] = data[i];

}

for(i=1; i<15; i++)

for(j=0; j<15-i; j++){

if(temp[j] > temp[j+1]){

value = temp[j];

temp[j] = temp[j+1];

temp[j+1] = value;

}

}

for(i=2; i<13; i++)

sum = sum + temp[i];

return(sum/11);

}

处理后对环境数据与预先设定的阈值进行比较,若超出了设定范围,则开启换气扇。对系统是否连接至服务器进行判断,若未连接,则进行与服务器的连接配置。连接成功后将对发送缓冲区数据、命令缓冲区数据、接收缓冲区数据进行处理,将数据发布至云服务器,便于通过平台观测数据,并对订阅报文进行相应的指令判断,做出处理。同时能够将传感器數据显示至LCD显示屏上。

3.2  Wi-Fi连接软件设计

ESP8266Wi-Fi模块通过UART串口与STM32进行通信,由STM32发送AT指令,ESP8266通过UART返回指令执行成功的AT响应,建立TCP连接。该方案能够在断开Wi-Fi时进行软件复位并重新建立连接,使得数据能够重新上传至服务器,其流程图如图5所示。

3.3  MQTT通信协议

3.3.1  MQTT协议分析

为实现客户端与云端之间的通信传输,本文选择MQTT协议接入至云平台。消息队列遥测传输协议(Message Queuing Telemetry Transport, MQTT)是由Arcom(现在的Eurotech)和IBM公司推出的一种轻量级基于发布/订阅模式的消息传输协议[6]。MQTT协议适用于计算能力不高的终端设备,在不稳定、低带宽网络环境中能够有效实现信息交互,具有轻量、网络流量低、功耗小等特点。

3.3.2  MQTT协议分析

MQTT控制报文由三部分组成,分别为固定报头、可变报头、有效载荷。其中固定报头为数据包最先识别的表示位,固定报头格式如表1所示,其所占位数为2Byte(字节)。

在MQTT固定报头中,剩余长度(Remaining Length)表示当前报文剩余部分所占的字节数,主要内容包括可变报头和负载的数据。

MQTT控制报文类型共包含16种,其中2种保留。表2为16种控制报文类型。

可变报头在固定报头与负载之间,可变报文随报文类型而变化,可变报头的报文标识符能够保证数据的可靠,防止数据丢失。有效载荷用于保证报文中客户端标识符、主题、消息、用户名、密码等关键数据的稳定性及准确性。主要用于CONNECT、SUBSCRIBE、SUBACK、UNSUBSCRIBE数据报文类型中。

对于MQTT协议而言,其报文固定长度仅为2个字节,大大减少了流量开销,在遇到断开连接之类的故障,能够进行恢复,减少了身份验证的问题,其次,MQTT协议简单快捷,其资源利用率低,并且便于用户进行二次开发。综上所述,MQTT协议更适用于可移动式终端设备,因此本文采用了MQTT协议作为解决方案。

MQTT协议是基于TCP连接进行数据推送,在通信过程中,MQTT协议中具有发布者(publish)、代理(broker)(服务器)、订阅者(subscribe)三种身份。其中,消息的发布者和订阅者均是客户端,消息代理是服务器,消息发布者可以同时是订阅者,MQTT传输的消息分为主题(topic)和负载(payload)2个部分[7]。在建立TCP连接后,客户端将会向OneNET云平台发送请求连接命令,确认MQTT连接请求。在连接建立完成后,客户端向服务端发送SUBSCRUBE报文进行主题订阅,服务端接收到订阅主题命令后进行处理SUBSCRIBE报文,并返回主题订阅成功的命令。

最后,客户端会每个一个心跳间隔时间发送PINGREQ心跳请求消息请求服务端发送响应,并且服务端将会发送PINGRESP报文响应客户端的PINGREQ报文。其目的是为了在没有任何其他控制报文从客户端发送给服务端时,告知服务端与客户端的连接没有断开,如果服务器在一个半心跳间隔时间周期内没有收到来自客户端的消息,就会断开与客户端的连接。有效地保证了数据传输过程中的准确性和有效性。因此,根据实际情况,通过对MQTT客户端心跳间隔时间的设定,每隔一段时间进行数据发送至服务端,能够使系统更加低功耗。

3.3.3  终端设计

环境数据反馈中心基于中国移动物联网开放平台OneNET[8,9],该平台是在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台,同时OenNET平台针对不同使用场景,提供了关于设备的包括生命周期管理、在线状态监测、在线调试、数据管理等功能在内的丰富设备管理功能[10-13],利用该平台,能够查看环境实时数据、历史数据查询、指令下发等功能。用户在OneNET云平台完成账户注册后即可进行产品的注册和绑定。

4  MQ-136硫化氢传感器特性分析

在数据采集上,根据传感器特性描述,对MQ-136硫化氢气体传感器模块进行了分析处理,保证了其结果接近于真实值。根据传感器特性描述得出RS /R0与PPM的对应关系:

PPM = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110];

RS / R0 = [0.59, 0.498, 0.45, 0.405, 0.393, 0.365, 0.355, 0.345, 0.335, 0.31, 0.265, 0.245, 0.225, 0.205, 0.2, 0.19, 0.182, 0.174, 0.166, 0.154];

利用Matlab进行仿真得到散点图,通过技术文档的描述进行相应计算并进行推导,通过非线性拟合确定了函数模型,从而得到了拟合函数的具体形式。函数模型确立过程代码如下:

func = inline('beta(1)*x.^beta(2)','beta','x');%确定函数模型

beta0 = [0.5,0.5]';%待定系数的预估值

beta = nlinfit(x,y,func,beta0);

通过计算得出beta(1)=0.975 4,beta(2)=-0.271 0;即:

(1)

其中,C表示浓度。

根据MQ-136电路图我们可以得到:

(2)

其中,VRL表示AO口輸出电压;VC表示回路电压;VRL = 33 Ω;R0表示传感器在洁净空气中RS的电阻值。

为保证准确性,在传感器充分预热下通过多次测量取平均值得到VRL = 0.284 047 V。求得R0 = 547.889 Ω。

根据式(1)及式(2),推导可得:

(3)

即:

(4)

得到输出电压与硫化氢浓度值之间的表达式。

5  系统测试结果分析

为测试系统可靠性,进行了ESP8266的网络测试,各部分硬件正常工作,系统进入稳定,在接入Wi-Fi的情况下,多次关闭路由器设备,系统均能重新连接Wi-Fi并接入云服务器,进行数据的上传等操作。

将硬件设备放置密闭空间内,同时在内部放置一些蔬菜水果,进行相应的数据监测,通过访问OneNET云平台,可以观察到每隔10 s接收到一条各类传感器信息,其数据可视化如图6、图7所示,数据显示,在一定范围内波动,但都处于误差范围之内,在云平台进行指令下发,客户端能够在短时间内打开换气扇。对密闭空间模拟二氧化碳、湿度等超出设定范围时,系统能够自动开启换气扇。

通过测试表明,系统各项功能达到实用、有效的要求,满足了对地窖环境监测的管理需求。

6  结  论

本文介绍了一种基于ESP8266的地窖环境监测系统。结合传感器技术、无线通信技术和互联网技术,实现了对地窖内温湿度、硫化氢气体浓度、二氧化碳浓度等的监测工作,并且在数值超出预设值后能够做到快速响应,通过云平台实现对换气扇的远程控制,能够及时发现数据异常,减少气体中毒的情况发生,具有良好的实用性及市场价值。对于换气扇的控制,系统能够根据环境中浓度不同进行不同的转速调节,使之更加高效通风。本文充分利用了无线传感器网络对监测数据进行实时传输等优点,使网络能够自动地实时数据采集、传输、分析和管理等功能。

参考文献:

[1] 何勇,聂鹏程,刘飞.农业物联网技术及应用 [M].北京:科学出版社,2016.

[2] 唐茂淞.基于OneNET物联网云平台的农田环境监测及远程灌溉系统设计 [J].电子制作,2023,31(5):39-43.

[3] 张东升.基于STM32的工业设备状态无线监控系统的设计 [D].大连:大连理工大学,2013.

[4] 黄颖,邹浩云,吴玲,等.基于金属氧化物硫化氢气体传感器的研究 [J].化学传感器,2019,39(4):14-24.

[5] 倪天龙.单总线传感器DHT11在温湿度测控中的应用 [J].单片机与嵌入式系统应用,2010(6):60-62.

[6] 龚永罡,付俊英,汪昕宇,等.MQTT协议在物联网中的应用研究 [J].电脑与电信,2017(11):89-91+94.

[7] 梁志勋,施运应,覃有燎,等.基于MQTT协议的智慧农业大棚测控系统研究 [J].北方园艺,2020(23):161-171.

[8] 尤琦涵,陈兆仕,张沁.OneNET云平台WiFi远程控制的智能教室系统 [J].单片机与嵌入式系统应用,2017,17(10):69-73.

[9] 赵继春,孙素芬,郭建鑫,等.基于无线传感器网络的设施农业环境智能监测系统设计[J].中国农机化学报,2020,41(4):146-151.

[10] 邓帅涛.物联网技术在现代化农业发展中的应用 [J].农业与技术,2022,42(1):52-54.

[11] 王菲,钱稷,王霖,等.果园产地地窖贮藏室智能测控系统设计 [J].中国农机化学报,2015,36(5):138-141.

[12] 黄培灿,林锦峰,周培森,等.基于ZigBee技术的室内环境监测系统设计 [J].工业控制计算机,2020,33(5):61-62.

[13] 邹文虎.基于物联网的环境监测系统设计研究 [J].科学技术创新,2022(35):116-122.

作者简介:胡浩鸣(2002.03—),男,汉族,浙江宁波人,本科在读,研究方向:通信工程。

猜你喜欢
无线通信技术环境监测
环境监测系统的数据分析与处理
电子制作(2019年19期)2019-11-23 08:41:54
大气污染问题的环境监测
无线通信技术未来发展趋势分析
浅析无线通信技术应用于轨道交通通信、信号业务
无线通信技术在智能配电网中的应用
基于无线通信技术的物联网技术思想与应用策略研究
智能电网建设与调控一体化发展研究
无线通信技术电网通信探讨
艺术科技(2016年9期)2016-11-18 16:21:30
对环境监测数据造假必须零容忍
公民与法治(2016年4期)2016-05-17 04:09:15
便携式GC-MS在环境监测中的应用