基于移动终端的仓储环境监测系统设计与实现

2021-01-08 01:21梁文桦丘志敏
韶关学院学报 2020年12期
关键词:蜂鸣器温湿度火焰

霍 英,梁文桦,丘志敏

(1.韶关学院 信息工程学院;2.韶关学院 智能工程学院,广东 韶关 512005)

随着国民经济的持续快速发展,人们消费习惯的改变,加快了物流业发展的步伐,物流产业已成为经济运行不可或缺的一部分.而仓储作为物流产业和供应链系统的重要工作流程之一,逐渐地呈现出专业化的发展趋势,对仓储系统的要求也日益严格.仓储温湿度及其他环境因素的变化会对货物的存储造成极大影响.如不适宜的温湿度环境会造成化学品、果蔬和粮食的大面积霉烂;紫外线直射会造成某些化学品和纺织品变质;仓储中氧气的浓度过高会造成谷物呼吸作用损耗能量,而氧气浓度过低又会造成谷物的发霉变质[1-2].天津港“8·12”瑞海公司危险品仓库特别重大火灾爆炸事故,就是因为没有对仓储环境进行实时监测致使集装箱内的硝化棉在高温作用下分解放热,积热自燃,引起周围易燃易爆物品一起爆炸燃烧[3].

针对这些问题,利用先进的物联网技术、传感器技术、移动通信网络和基于Android平台的移动终端,将采集的环境数据上传到云服务器上,可以实现对仓储环节的实时远程监测,动态地掌握仓储环境的参数变化及设置事故预警.该系统不仅降低了设备的成本,还具有可靠性强、超远程检测的优点,使仓储货物的质量和安全得到保障,减少了因仓储环境因素变化造成危险带来的经济损失和环境污染.

1 系统概述

1.1 总体设计的方案

系统由主控制器、温湿度检测模块、空气质量检测模块、光照强度检测模块、火焰检测模块、WIFI模块、云平台、手机APP组成.系统主要具有几个功能:(1)在仓储中进行温湿度、光照强度、空气质量和火焰等指标监测.(2)主控中心将采集到的各种环境数据打包完用串口传输到WIFI模块,由WIFI模块将环境数据根据EDP协议转成JSON格式发送到云平台.(3)云服务器.系统采用的是OneNET中移物联网开放平台,能够接收显示当前上传的传感器检测数据,对数据进行存储管理,方便终端设备接入查看.(4)移动终端监测设备.一部能上网的智能手机或者平板电脑都可作为移动终端监测设备,用于查询仓储环境数据,设定环境参数的预报警阈值.

1.2 系统框图

系统的主控制器是STM32F103VET6,温湿度检测模块采用DHT11温湿度传感器,空气质量检测模块采用MQ-135气体传感器,光照强度模块采用光敏电阻,火焰检测模块采用火焰(红外接收)传感器,WIFI模块芯片采用ESP8266,云服务器采用中国移动OneNet云平台(见图1).

图1 系统总体框图

2 硬件设计

硬件设计主要包括:数据采集、主控中心、数据传输和报警等4大模块,图2为硬件系统框图,其中各个模块功能为:(1)数据采集模块:主要用于检测和收集测量范围内的仓储环境数据;(2)主控中心:对其他硬件设备起控制作用,可以存储和分析传感器检测到的数据和串口接收到的数据;(3)数据传输模块:主要负责WIFI芯片和主控中心之间通过串口实现的数据互传,再通过连接路由器把数据发送到云服务器;(4)报警模块:当各个环境监测数据超过其设定的范围时,做出相应的声光警告反应.

图2 硬件系统框图

2.1 主控中心

主控中心的主控制芯片是系统的核心部分,它像发动机引擎一样给予其他部分源源不断的推动力.目前的项目开发中,使用较多的是STM32F系列的微控制器,从内核上分有Cortex-M0、M3、M4和M7这几种.在几款芯片的特性和价格比较中发现F1比F2和F4价格上面更加经济实惠,而其特性满足本系统的基本要求,因为不需要连接LCD屏幕,所以选择F1系列性价比更高,于是采用STM32F103VET6芯片[4-5].

2.2 温湿度传感器

系统采用DHT11温湿度传感器,可以实现0~50 ℃的温度测量,20%~90%RH的湿度测量,具有体积小、成本低、耗能少、长期稳定的优点,符合一般仓储环境的要求.供电电压在3.3~5.5 V之间,单总线串行接口.

2.3 光敏电阻传感器

使用光敏电阻传感器来监测仓储环境中的光照强度变化.因为光敏电阻模块对环境光线最敏感,是一种利用光电导效应制成的元件,在没有光的时候,它的电流会很小,电阻很大;在有光的情况下,它的阻值随光照增强而减小,电流随光照增强而增大.所以根据电阻值的不同转化为不同的电压值得到采集的光照强度大小.

2.4 气体传感器

系统采用MQ-135气体传感器,对氨气、烟雾和其他有害其他的灵敏度高,可监测仓储环境的空气质量.该传感器利用二氧化锡的电导率去测量污染气体浓度大小,它们之间成正比关系,然后将电导率的变化转换为与该气体浓度相对应的输出信号.

2.5 WIFI通信模块

无线WIFI传输模块采用超低功耗的ESP8266芯片作为传输芯片.该芯片主要应用于家庭智能化、工业无线控制、可穿戴电子产品等领域.芯片内部集成低功率32位CPU作为WIFI协议处理器,支持802.11 b/g/n;内置TCP/IP协议栈;频率范围:2.4~2.5 G,支持WPA/WPA2安全模式.开发者可以采用官方提供的SDK开发或者使用相应固件,通过其他处理器对其进行控制,硬件设备通过连接到路由器发出的WIFI无线网络中,实现与互联网或局域网之间的数据交换.

2.6 火焰(红外接收)传感器

系统采用火焰(红外接收)传感器来监测仓储环境中是否有火灾.基于红外线对火焰敏感的特性,高低电平信号的变化通过特别定制的红外线接收管检测火焰的亮度变化来获取.传感器检测到有火焰的时候,其信号指示灯点亮.反之,模块上的信号指示灯熄灭.该传感器可用于探测火焰或760~1 100 nm波长的光源,可探测角度为0~60°,可接3.3~5 V的电源,使用宽电压LM393比较器.在探测过程中应避免探头离火焰过近,且靠近时温度不能超过85 ℃.

2.7 报警模块

报警模块主要由全彩LED灯和蜂鸣器组成,当环境数据超过阈值时,蜂鸣器报警,LED点亮相应颜色.本系统实现中,红灯连接PB.5引脚,绿灯连接PB.0引脚,蓝灯连接PB.1引脚,低电平点亮LED灯.通过控制3种颜色的灯管输出不同的光照强度得到多种颜色.蜂鸣器连接PA.8引脚,高电平时,蜂鸣器响.

3 软件设计

3.1 软件方案总体概述

软件设计主要完成任务有:STM32处理器通过DMA采集双ADC接口来连接光照强度模块、空气质量模块,采集到传感器的模拟量后,通过算法得到光照度和空气质量的值,然后对获取的值进行等级划分.使用单总线获取DHT11模块采集到的温湿度大小.通过GPIO获取火焰传感器模块的电平信号量,报警模块根据电平信号量,如果是低电平,则蜂鸣器发声,LED灯亮红灯;如果是高电平,则蜂鸣器不发声,LED灯熄灭.使用USART3将采集到的环境数据经过WIFI模块发送到OneNet物联网云平台上.APP接入云平台获取采集的环境数据.最后,用户可以通过手机APP对温湿度的阈值做出调整,如果温湿度大小超出这个界限的时候,APP会广播一条消息来警告此时的数值已经超过了所设定的界限.

软件部分总体工作流程为:(1)系统及各个模块初始化设置:包括系统时钟初始化,USART1和USART3初始化(设置通信的波特率为115 200),LED和蜂鸣器初始化,各传感器模块初始化;(2)WIFI模块初始化:STM32发送相关的AT指令,控制WIFI模块连上路由器;(3)接入云平台:如果连接成功,就将STM32平台采集到的环境数据每2~3 s通过WIFI模块发送到OneNet云服务器;(4)手机端APP根据不同仓储环境的需求设置温湿度报警的范围,如果环境数值超过这个阈值时,主控中心就会使声光报警模块做出相应的警告动作.

3.2 程序设计思想及结构分析

系统的设计程序是基于C语言开发的,在集成了仿真调试器、库管理、宏汇编、编译器以及连接器的综合开发工具Keil5编程.采用ST公司的固件库函数开发,将所有的外设固件库统一放在FWLIB文件中,建立Core文件夹存放一些内核文件和系统文件.

系统从上而下划分了多个模块进行设计编程,所有硬件模块都进行了函数封装,封装成 .h接口文件提供给main.c进行使用.主程序调用10个子程序,分别是“usart.c”“onenet.c”“led.c”“beep.c”“adc.c”“esp8266.c”“flame.c”“dht11.c”“warning.c”“delay.c”.每一个.h文件是提供给其它的接口和它对应的. c文件来实现它模块的功能.这样每个模块的关联和耦合度会降到最低,便于程序的移植和修改(见图3).其中:(1)usart.c是实现串口通信,使用Usart1发送数据到WIFI模块,使用Usart3发送数据到PC端;(2)onenet.c是实现与OneNet平台建立连接,可以上传数据流到平台和接收平台返回的数据;(3)led.c是控制全彩RGB灯,控制LED灯的开启和关闭;(4)beep.c是控制发声器件产生和弦音的声响;(5)adc.c是配置MQ-135气体传感器和光敏电阻用到的I/O口,配置ADC工作模式、DMA工作模式;(6)esp8266.c是实现WIFI模块初始化和用STA模式与路由器连接,达到联网功能;(7)flame.c是对火焰传感器的GPIO初始化;(8)dht11.c是实现温湿度测量,同时将温湿度数据进行自我校准;(9)warning.c是对采集的环境数据进行处理,判断是否超过阈值,做出对应报警动作;(10)delay.c是把延时函数聚合在一起,易管理,可在其它c文件里调用.

图3 系统函数功能及调用关系图

3.3 ADC模块程序设计

系统采用双重ADC模式,具有较快的采样速度.使用双重ADC同步规则模式时,ADC1和ADC2同时转换一个规则通道组,两个ADC的转换结果都放在ADC1的DR寄存器,低16位是ADC1的结果,高16位是ADC2的结果,且必须开启DMA功能. ADC1和ADC2各采集一个通道. MQ-135气体传感器的AOUT端与STM32 F103VET6芯片的引脚GPIOC.1连接,光敏电阻传感器的AOUT端与芯片的引脚 GPIOC.0连接. PC.1对应ADC1的通道11,PC.0对应ADC2的通道10.

3.4 DHT11温湿度传感器模块程序设计

DATA引脚使用单总线通信模式,每次通信时间最大3 ms,连续采样间隔不小于100 ms,DHT11单总线的数据格式为:每次传输的数据包由5 byte(40 bit)组成,MSB先行,依次读出湿度整数、湿度小数、温度整数、温度小数、校验和[6].刚开始总线空闲时呈高电平,然后主机把总线拉低至少18 ms,发送开始信号,等待DHT11响应后,再把总线拉高延时20~40 us.主机设为上拉输入模式,检测从机是否有低电平响应信号,随后再轮询直到从机发出40~50 us的高电平,通知主机准备接收数据.每一个bit数据以12~14 us的低电平开始,接着26~28us的高电平表示数字‘0’,116~118 us的高电平表示数字‘1’.数据传送结束后,从机拉低,随后主机设为输出模式,拉高总线,等待下一次传送数据.

3.5 报警模块程序设计

(1)火焰检测函数Fire_Check().当输入信号为0时,串口打印“火焰警报”,将数据流fire的值设为0,将flag置1传给WARNING()函数,进入火警模式,使红灯亮起,蜂鸣器鸣叫.如果输入信号为1时,将数据流fire的值设为1,将flag置0传给WARNING()函数,进入安全模式,使关闭所有灯,蜂鸣器停止鸣叫.

(2)光照强度检测函数Light_Check().当输入信号为0时,串口打印“明亮”,将flag置0传给WARNING()函数,进入安全模式,使关闭所有灯,蜂鸣器停止鸣叫.如果输入信号为1时,串口打印“昏暗”,将flag置2传给WARNING()函数,进入昏暗模式,使绿灯和蓝灯亮起,全彩LED灯显示灯光颜色为青色.由于ADC模块使用的是双重ADC模式,光敏电阻传感器使用ADC2,采集到AD后将采集的数据存放到数组ADC_ConvertedValue[0]的高16位中,然后经过算术运算得到转化后的光照强度数值.

(3)空气质量检测函数MQ135_Check().由于ADC模块使用的是双重ADC模式,MQ-135气体传感器使用ADC1,采集到AD后将采集的数据存放到数组ADC_ConvertedValue[0]的低16位中,然后经过算术运算得到转化后的空气质量数值ADC1_Value.根据不同的空气质量数值范围划分不同的空气污染程度.当判断空气质量等级为优或良时,将flag置0传给WARNING()函数,进入安全模式,使关闭所有灯,蜂鸣器停止鸣叫.如果判断空气质量等级是轻度、中度、重度、严重污染的情况,将flag置3传给WARNING()函数,进入污染模式,使红灯和蓝灯亮起,全彩LED灯显示灯光颜色为紫色.

3.6 WIFI模块程序设计

ESP8266模块支持AP模式,STA模式和STA+AP共享模式3种,系统使用的是STA模式. STM32芯片通过USART3串口发送一系列初始化配置WIFI连接的AT指令,将ESP8266作为终端设备连接上路由器WIFI,实现联网功能.仓储环境数据的上传和云服务器命令的下达都通过ESP8266的接收和发送来完成.

3.7 接入云平台模块程序设计

设备端利用平台提供的EDPSDK,实现EDP协议,传输数据包到OneNET平台,但不保证报文传输的顺序与到达时顺序相同.移动终端通过HTTP协议的RESTful API操作访问OneNET提供的数据点.

ESP8266 与平台建立连接流程为:(1)CIPSEND:AT+CIPSEND=<length>,接到此命令先返回“>”,然后开始接收串口数据,当数据长度满length时发送数据.(2)根据EDP协议,通过DEVID、APILEY向平台发送连接请求数据.(3)ESP8266_GetIPD()函数等待平台响应,如果收到平台返回数据包如:“+IPD,数据长度:数据内容”,找到“:”后表示连接成功.

ESP8266与平台进行数据交互流程为:(1)OneNet_FillBuf()函数把要发送到平台的数据流进行写入字符串中.(2)ESP8266_SendData()函数把设备ID、数据流的字符串按EDP协议进行JSON格式封包,向平台发送数据包,由平台进行解析,然后删包.

云服务器显示环境参数检测结果,既可查看最新数据,也可查询历史数据.

4 结语

系统实现了一个基于移动终端的仓储环境监测系统,整个系统工作稳定、准确.本系统主要具有以下优势:与传统的布线式仓储环境监测系统相比,本系统成本低廉,操作方便,只要使用联网的移动终端设备就能查看数据,确保了仓储的安全;采用Android操作系统,相比于其他热门的移动终端操作系统,Android系统的开放性比较好;采用OneNet物联网云平台作为系统的服务器,使得终端设备接入更加方便.

在后续工作中,采集环境的参数可根据不同仓储的要求进行增删,如添加PM2.5、紫外线的检测等.未来考虑在本系统基础上,增加对于环境参数的调节控制功能,以进一步增加系统的便利性及实用性.

猜你喜欢
蜂鸣器温湿度火焰
电动自行车产品车速提示音检测现状和整改技术研究(2)
最亮的火焰
缤纷的火焰
基于AT89C51的数字型蚕用温湿度计的设计
掌控板制作简易钢琴
基于DSP的多路温湿度监测系统
漂在水上的火焰
单片机驱动蜂鸣器的程序设计
基于温湿度控制的天气预测装置
吹不灭的火焰