周晓珏
(江苏商贸职业学院,江苏 南通 226011)
民以食为天,粮食安全系国计民生之大事,粮食储备则是“稳定器”和“压舱石”,粮仓环境的监测对于实现库存粮食减损、降耗、保鲜至关重要。传统粮仓环境监测系统采用单一的传感器检测,获取的数据较为片面,易造成误报警或漏报警[1],且单一传感器损坏后会影响整个系统的性能。本文设计了一种多传感器融合的粮仓环境监测系统,采用先进的物联网技术、无线通信技术、云计算技术及多传感器融合技术,对粮仓温湿度、CO2浓度、O2浓度实时监测,并对采集数据进行多层次、多空间的信息互补和优化组合处理,极大地提高了系统的准确性、稳定性及可靠性,同时能远程自动化控制通风、降温、干燥设备,方便工作人员在大数据平台上即刻处理粮仓异常情况,确保粮仓存储安全。
粮仓环境监测系统总体结构图如图1所示,终端传感器采集粮仓环境数据,通过无线通信方式将其传至云平台,用户可通过智能设备APP远程监控。各种终端传感器检测到粮仓环境参数,将其传至ZigBee协调节点,再送至智能网关,由路由器传至云服务器,用户即可通过登录智能设备云APP远程监控粮仓环境。当粮仓环境参数超出范围,蜂鸣器发出报警提示,用户则通过智能设备云APP发送控制指令,经云服务器送至智能网关,再发送至ZigBee协调节点,即将控制指令送至终端节点继电器控制模块来远程自动化控制粮仓排风扇、加热设备、加湿设备等现场设备,以实现通风、降温、干燥等功能[2]。智能网关与ZigBee节点(包括协调器节点、终端节点)通过串口实现通信,与路由器间采用Wifi形式通信。
图1 粮仓环境监测系统总结构图
智能网关是粮仓环境监测系统的核心部件,它主要负责对终端各个传感器采集数据进行信息融合,做出预警判断,同时实现与用户端信息交互[3]。它主要由STM32和wifi模块ESP8266构成。
其中STM32采用STM32F103ZET6型号,它是一种嵌入式单片机,该芯片内核为32位Cortex-M3,最高工作频率为72MHz,程序存储器容量是256 KB,程序存储器类型是FLASH,RAM容量是48K。每个通用输入输出接口(GPIO)引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口,多数GPIO引脚均能与模拟或数字的复用外设共用。它采用直流单电源供电,供电电压范围是2.0~3.6V,一般供电电压是3.3V。
ESP8266是一种低成本的无线设备,工作温度范围大,性能稳定,能适应各种操作环境,专为移动设备、可穿戴电子产品和物联网应用而设计,功耗低,高度集成,支持实时操作系统(RTOS)和wifi协议栈。ESP8266与ZigBee节点采用串口通信,通信原理如图2所示。
图2 智能网关与ZigBee协调器间通信原理图
本系统ZigBee模块采用CC2530片上系统。CC2530芯片内部集成了增强型8051内核和RF收发器,它具有不同的运行模式,使得它特别适应低功耗系统,有极高的接收灵敏度、抗干扰能力,外接元件极少。
3.3.1 DHT11温湿度传感器
温湿度是影响粮仓的最大因素,温湿度过高会导致粮食发生霉变。一般粮仓温度低于15~20℃、湿度维持在30%RH内,适于粮食的长期存储。若短期存储,温度不高于30℃,湿度不超过70% RH[4]。本系统采用DHT11温湿度传感器对粮仓进行多点监测,以便及时发现粮仓环境潮湿、温度异常等情况,有效降低粮食腐烂、发霉风险,保证粮食的存储质量,降低经济风险。
DHT11温湿度传感器是一种抗干扰能力强、可靠性高的温湿度复合传感器。它由一个电阻式感湿元件和一个NTC热敏电阻组成,适用于20%~80%的湿度读数(精度为±5%)、0~50℃温度读数(精度为±2℃)。它有4个引脚,其中Pin1为电源引脚,供电电压为3~5.5V;Pin2为串行数据端,单总线通信;Pin3一般悬空;Pin4为接地端。图3为DHT11传感器典型应用电路,通常当DHT11与MCU间的连线长度小于20m时,用5K上拉电阻;当长度大于20m时,根据实际情况使用合适的上拉电阻,从而来提高测量精度。MCU向DHT11传感器发送信号,DHT11采集温湿度数据(一次完整的数据传输为40bit),并输入到MCU数据口[5]。
图3 DHT11传感器典型应用电路图
3.3.2 二氧化碳传感器
粮仓中采用二氧化碳气储粮技术,即在粮仓中充入二氧化碳气体,从而改变粮仓内气体成分的组成,破坏霉菌、害虫生态环境,抑制粮食生理呼吸,从而实现储粮的安全、环保、新鲜。因此粮仓中二氧化碳浓度的实时采集很重要。本系统采用RS-CO2传感器,它是采用新型红外检定技术进行二氧化碳浓度测量,准确度高,漂移小,寿命长,测量范围宽,自带温度补偿,受温度影响小。一般它的供电电压是直流电压 10~30 V,测量范围是 0~5000 ppm,精度为40ppm±3%F.S。
3.3.3 氧气传感器
在二氧化碳气控粮仓中,当氧气浓度低于2%且二氧化碳达到一定浓度时,存储的粮食害虫会迅速死亡。要确保粮仓低氧或无氧环境,须用O2传感器对粮仓中的氧气含量进行监测,一旦氧气浓度超过限定值,即可驱动系统报警,人工或自动启动充入二氧化碳,直至氧气浓度低于限定值。本系统采用LOX-O2荧光氧气传感器,它是一款带UART输出的数字传感器,无需信号调理电路,功耗低、寿命长、稳定、环保,不含铅或其他有毒材料,而且不会受到其他气体交叉干扰,一般它的供电电压是直流电压4.5~5.5V,氧气测量范围是 0~25%,0~300mbar。
本系统利用继电器控制模块来远程自动化控制粮仓排风扇、加热设备、加湿设备等现场设备,即通过控制输入到继电器模块的脉冲信号从而来实现继电器开关的通与断,也可手动实现控制。继电器控制模块供电电压为5V,原理图如图4所示,它有三个外接引脚,其中输入引脚来接收脉冲信号的。
图4 继电器控制模块原理图
本系统软件设计主要包括智能网关、ZigBee节点的软件设计。
智能网关是由STM32及ESP8266构成,作为系统核心部件,连接ZigBee无线局域网和internet两个网络,负责两类数据的交互,即通过ZigBee协调器上传的终端节点传感器采集数据及用户通过智能设备APP下达的控制指令。同时它作为控制中心,对数据及指令作基本的分析、处理和暂存。本系统智能网关是在KeilMDK5平台上开发的,程序流程图如图5所示,当智能网关通电初始化后,进入监听网络状态,等待终端数据上传。智能网关会判断接收的数据,若为ZigBee数据,则判断为终端传感器数据,并将其上传至云服务器;若为TCP/IP数据,则判断为控制指令,将其送至ZigBee协调器;若数据非ZigBee数据,也非TCP/IP数据,则判断为非法报文数据,将其丢失,再次进入监听网络状态[6]。
图5 智能网关程序流程图
本系统采用IAREW环境来开发粮仓的ZigBee网络,ZigBee网络软件设计主要包括ZigBee协调器、终端传感器节点、执行节点应用程序的设计。
4.2.1 ZigBee协调器节点软件设计
ZigBee协调器负责ZigBee网络的创建、配置和维护,其流程图如图6所示。ZigBee网络创建,程序初始化后,处于监听状态,开始监听智能网关传来的控制指令及终端节点上传的粮仓环境参数。若接收数据为网关模块传来的数据,对其进行数据解析,判断控制的是哪个终端节点,再发送至相应的终端节点;若接收数据为终端传感器数据,就会将数据打包发给智能网关。
图6 ZigBee协调器程序流程图
4.2.2 终端传感器节点的软件设计
在ZigBee终端节点设置了3种类型的终端传感器节点,先通过温湿度传感器、二氧化碳传感器及氧气传感器来实时采集粮仓环境参数,再将其打包发送给ZigBee协调器。
4.2.3 执行节点的软件设计
ZigBee执行节点为继电器开关。当ZigBee协调器创建网络,程序初始化后,处于监听状态,会监听到从智能网关传来的控制指令,在确认控制指令无误后会控制执行设备如排风扇、加热设备、加湿设备,并向ZigBee协调器反馈执行设备的运行状态,协调器再通过串口送至智能网关。
粮仓一般采用多点位测量环境参数,每间隔5m埋入一个温湿度传感器,检测不同深度、不同位置的粮食的温湿度,同时在不同位置分布着二氧化碳传感器及氧气传感器来实时监测粮仓气体参数。为了提高粮仓环境监测精度,有效提升数据的全面性及实时性,本系统采用对同类传感器监测数据局部融合,再对异类传感器监测数据用D-S证据理论算法全局融合[7],从而减小采集数据的误差。
本系统数据融合结构图如图7所示,首先对同类传感器采集数据进行局部数据融合,即多次实验,通过算术平均算出不同时间段的均值,取任一值与相应时间段均值比较,若大于相应时间段均值,则该值视为异常值,用均值替代;若小于相应时间段均值,则该值视为正常值,不做处理,从而实现对同类传感器异常数据的修正;再利用D-S证据理论算法对异类传感器采集数据进行全局融合分析,即将粮仓中温湿度、二氧化碳浓度、氧气浓度等级作概率函数赋值,利用D-S证据理论做最后的粮仓环境评估,先让温湿度与二氧化碳浓度的等级进行融合,计算归一化常数K和mas函数,所得结果再与氧气浓度等级进行融合,进而得出整个粮仓的环境等级,从而增加了系统对粮仓环境等级判决结果的可信度,确保了判定结果的准确度[8]。
图7 系统数据融合结构图
本文从粮仓存储环境监测的实际需求出发,结合物联网技术、通信技术、云计算技术及多传感器融合理论,设计了一种基于多传感器融合的粮仓环境监测系统,引入多传感器融合技术,为粮仓环境监测提供了实时、精准、可靠的数据,提高了粮仓环境信息智能化水平,保证了粮食存储质量,系统稳定、可靠,在智能粮食仓储领域有一定推广和应用前景。