陈维娜,杨忠,顾姗姗,唐玉娟,王逸之
(金陵科技学院,南京市,211169)
信息化、精准化是新时期农业发展的新要求,物联网、计算机技术的迅速发展为智能农业方面提供了技术保障。在加强农业生产管理及问题决策中,如何精确、实时、高效地获取农作物在种植和生长过程中的各项重要信息是重中之重[1]。在农业物联网中,传感器是获取信息的主要设备,他们可以在目标监测区内对空气温湿度、二氧化碳浓度、光照强度等农业环境信息进行实时采集,为精准农业环境监测提供有效解决方案,从而提高农作物产量[2]。普通农田环境通常具有地理位置偏远、面积宽广、通讯设备难以调节等特点。在大多数情况下,农作物生长环境数据信息的获取愈加艰难。针对于此,就需要将低成本、高效率、智能化设施应用于农田信息采集,加强改变传统农业方式。
目前,在环境监测方面,ZigBee技术凭借可靠性好以及成本低等优势广泛应用于工业控制系统。董方武等采用ZigBee 无线网络技术设计了一种淡水养殖溶氧浓度自动监控系统,它可以对水中的溶氧浓度和温度等参数进行实时监控[3]。摩托罗拉实验室开发了一套低耗能、自组织的传感器网络,该系统可以监测农业环境数据和过程参数[4]。然而,农业物联网的部署需要考虑到农田环境的无线传输问题。受限于农田中网络连接不方便、终端节点之间分布距离较远等条件,传统的广域网络在通信覆盖范围,接入容量,设备功耗等方面表现出乏力,面向短距离布设的WiFi、ZigBee等无线通信技术难以直接部署在野外大范围内。高军等[5]设计了基于GPRS网络的节水灌溉控制系统,能根据土壤和作物用水情况实施精准灌溉,但GPRS通信功耗较高,长时间监测系统运行时长难以保证。杨祯等[6]采用LoRa无线通信技术作为温度监测系统的数据传输方式,LoRa技术通信距离远,功耗低,但是需要开发者自行布设基站或网关,且工作于非授权频段,开发难度大,网络安全性难以保证。因此选择合适的数据通信方式是至关重要的。近年来,随着窄带物联网(Narrow Band Internet of Things,NB-IoT)技术不断完善,其独有的低功耗、广覆盖、多连接、低成本等特性成为5G物联网时代的重要技术选择,同时也满足了农业物联网在无线信息传输方面的需求[7]。随着NB-IoT技术的发展,单个节点传输距离已达到数千米,应用在农业物联网中可以大面积布置环境监测,弥补了监测传感器分布较远的问题[8-10]。
本文针对以上提出的我国智慧农业发展方面存在的一些问题,本系统利用NB-IoT技术组建无线传感网络对农作物生长环境中的温度、湿度、大气压强、光照强度及有害气体指数进行实时采集监测,同时将无线传感网络采集的数据信息通过套接字打包发送到服务器,并在服务器部署网站来显示相应图表并进行阈值远程控制,实现了远距离、低功耗、智能化、多维度、多尺度的农作物信息实时监测系统。本系统可用于监控农业试验田中的环境状况,便于监测农作物异常情况并及时做出判断,可应用于智慧农业信息系统的构建。
窄带物联网农业监测系统是一款远距离、低功耗、智能化、多维度、多尺度的农作物信息实时监测系统。其核心设计融合环境数据采集功能、数据上报及阈值下发功能、环境状态提示报警功能以及网页智能监测功能。本系统可以扩大通信距离,降低通信功耗,减少维护成本以及提高经济效益。窄带物联网农业监测系统总体架构如图1所示。
图1 系统总体方案Fig.1 Overall scheme of the system
数据检测模块由监测用的多传感器、核心处理器、NB-IoT通讯模块、数据接口等构成,有独立的电源模块供电。通过监测设备上集成的传感器可以采集农业环境的相应数据,数据经过处理后,监测模块可以通过NB-IoT低功耗网络将数据信息发送到数据管理云端平台。最后,云端平台数据管理系统可对传感器数据进行处理和分析,供PC用户实时查看。本系统以Cortex-M系列底板为硬件平台,以STM32F407芯片为主控芯片。Cortex-M底板拥有I2C接口、UART串口、ADC接口、中断接口、PWM接口、SPI接口、GPIO接口、8个直流电机接口和4个双向直流电机接口、百兆网口、miniUSB接口、SD卡接口、8个伺服电机接口、OV7725摄像头接口、液晶触摸屏接口、用户自定义扩展IO口、调试接口等。
目前使用较多的低功耗广域网通信技术为LoRa,NB-IoT,具有通讯距离远、功耗低特点,适合于物联网应用场景。本系统使用的是移远BC35-G通讯模组,这是一款高性能、低功耗的多频段 NB-IoT无线通信模块,支持B1/B3/B8/B5/B20/B28频段。其尺寸仅为23.6 mm×19.9 mm×2.2 mm,能最大限度地满足终端设备对小尺寸模块产品的需求,同时有效地减小产品尺寸并优化产品成本。相比较于传统通信模块,BC35-G通讯模组具有覆盖广、连接多、成本低、功耗低的特点。
为采集温度和湿度,采用了温度传感器DHT11。相比较其他种类传感器,DHT11的优点就是稳定性与可靠性都很好,广泛应用在新兴物联网相关的监测领域。DHT11内部自含温湿度校准系数,在采集温湿度数据的过程中会自动进行校准。测试结果准确度极高。温湿度模块由湿度敏感的电阻式元件和NTC型电阻构成,响应很快。DHT11数字温湿度传感器配备单线制串行接口,其特有的单排4针引脚方便与各种类型的单片机相连,整个传感器集成简易,功耗极低,信号传输距离范围0~20 m内时极为稳定,适合长时间室内外的温湿度监测。
为实现对有害气体的有效检测和量化显示,选用气敏式广谱气体传感器MQ-2。气敏式广谱气体传感器是一种检测特定气体的传感器。它主要包括半导体气敏传感器、接触燃烧式气敏传感器和电化学气敏传感器等,其中用得最多的是半导体气敏传感器。它的应用主要有:一氧化碳气体的检测、瓦斯气体的检测、煤气的检测、氟利昂(R11、R12)的检测、呼气中乙醇的检测、人体口腔的检测等等。气敏式广谱气体传感器将气体种类及其与浓度有关的信息转换成电信号,根据这些电信号的强弱就可以获得与待测气体在环境中的存在情况有关的信息,从而可以进行检测、监控、报警;还可以通过接口电路与计算机组成自动检测、控制和报警系统。图2为广谱气体监测模块电路图。
图2 广谱气体监测模块电路图Fig.2 Circuit diagram of broad-spectrum gas monitoring module
为实现对光照强度进行定量的分析,采用数字化光照检测芯片BH1750,这是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景的亮度,利用它的高分辨率可以探测较大范围的光强度变化。该传感器测量的光照度范围为0~65 535 lux,最小误差变动为±20%,分辨度为1 lux。图3为光照强度采集模块电路图。
图3 光照强度采集模块电路图Fig.3 Circuit diagram of light intensity acquisition module
为获取大气压强,选择了数字传感器BMP180进行气压监测。这是一款高精度、小体积、超低能耗的压力数字气压传感器。该传感器适合智能的高精度测量和数据采集,输出高精度的压力(或高度)和温度测量数据,绝对精度最低可以达到0.03 hPa,并且耗电极低,只有3 μA。同时具有I2C总线的接口,便于进行访问。图4为气压监测模块电路图。
图4 气压监测模块电路图Fig.4 Circuit diagram of air pressure monitoring module
通讯模组与主控芯片通过串口进行通信。由于STM32F407具有多个串口,本项目使用串口控制通信模组,为了代码的复用性,不采用直接对寄存器操作的编程方式,而采用标准库编程,标准库提供与芯片生产商无关的硬件抽象层,提供软件接口,屏蔽了硬件的差异。通讯模组功能分为数据上报和阈值接收两个部分,对于数据上报,需要先对采集的数据进行十六进制编码生成模组可以识别的数据,然后使用串口AT指令对NB模块进行控制,创建套接字连接服务器进行数据发送。具体实现过程为:初始化标准库串口结构体,NVIC配置中断优先级,USART函数配置,封装字符发送函数,编写串口中断服务函数。以上可实现基础通信功能。
通过窄带物联网模组进行网络附着,当环境数据采集60次时,主控芯片对需上传的数据进行编码,通讯模组接收到数据上传信号,此时该模组可以创建套接字与服务器进行连接,实现数据上报功能。由于模组与服务器连接是由模组主动申请,且需考虑系统通信能耗,当服务器接收到模组上传的数据时,服务器需向模组发送阈值反馈,当模组接收到服务器得反馈,再通过主控芯片进行解码和类型转换,便可实现阈值下发功能。监测系统通信程序流程图如图5所示。
图5 监测系统通信程序流程图Fig.5 Flow chart of monitoring system communication program
本系统需要实现对农作物生长环境的温度、湿度、大气压、光照强度和有害气体指数进行采集并对采集时间进行周期控制,并且要对采集的数据进行处理,得到相对精确的数据。为实时对环境进行监测,本系统每隔500 ms对采集得数据进行分析,当采集的数据超出阈值范围时,系统会通过蜂鸣器进行超出阈值的提示。网页智能监测可以让用户可以实时获取数据信息,并对数据进行检索和监测。
对于温度、湿度的采集,使用onewire通信协议,通过主控芯片GPIOF11引脚控制DHT11模块获取数据。对于大气压和光照强度数据的获取,则采用IIC通信协议,大气压数据通过主控芯片PB6_I2C_SCK、PB7_I2C_SDA控制获取数据,光照强度数据通过主控芯片GPIOA1、GPIOA0控制获取数据。对于有害气体指数的采集,不采用通信协议,直接通过主控芯片的PC1_ADC1读取到MQ2传感器的电压值,进而得到转化为精确的有害气体浓度值。在具体实现过程中,为了使得数据尽可能减少偶然性,系统采集数据采用多次测量取平均值的方法,具体采集间隔为2 s,采集次数为60次,60次后重置循环。
为实现阈值超限报警功能,本系统采用前后台系统,该系统应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分为后台行为。前台程序通过中断来处理事件。后台程序则掌管整个系统软、硬件资源的分配、管理以及任务的调度。因此通过设置定时器中断抛出标志位,在主函数的循环中进行周期为500 ms的阈值监测。同时在检测函数中进行具体的响应操作,超出阈值进行蜂鸣器报警的功能。
平台终端软件采用网站客户端设计,网站与服务器部分采用了前后端分离技术,后端使用Spring Boot框架以及Mybatis框架,前端采用Vue框架搭建,使用ECharts来完成数据可视化工作,使得数据阈值参数和历史数据更加形象可读。客户端包括超级管理员、普通管理员、普通用户三个系统等级。客户端可以实现对用户的增删改查,并可以查看所有区域的温湿度、大气压强、光照强度以及有害气体指数的图表同时包括运行模式设置、阈值修改等功能。
(1)
式中:xi——监测数据;
S——监测数据的样本标准差;
Zc——肖维勒准则数。
Zc与n的关系如表1所示。
表1 肖维勒准则数Zc与数据量n关系Tab.1 Relation between Schoveller Criterion number Zc and data quantity n
(2)
为达到数据融合的目标,得到总方差最小的融合值,同时近似认为各传感器数据相互独立,即
2∑WiWj(x-xi)(x-xj)]
(3)
当均方误差最小时,传感器所对应的权值
(4)
类似地,可获得该区域内湿度传感器、光照强度传感器等在剔除异常数据后的融合值。利用上述方式对不同监测传感器数据进行处理,使得方差根据样本的变化而改变,从而提高整个系统的容错性和鲁棒性。
采用神经网络方法对各区域内农业监测异类传感器数据进行局部融合,各个区域的传感器监测数据经过自适应加权平均融合后作为神经网络的输入,利用神经网络分别对各区域的异类传感器数据做融合处理,从而得到该区域环境状况的综合判断。神经网络通过模拟训练得到输入数据与输出数据之间的关系,再通过输入新的数据得出模拟预测结果。它的学习过程主要包括输入模式顺传播、输出误差逆传播、循环记忆训练、学习结果判别。以三层前向神经网络结构对本系统中各种异类农业监测传感器数据进行分析,它包括输入层、隐含层和输出层三个部分。
图6 三层前向神经网络结构Fig.6 Three layer forward neural network structure
(5)
式中:f()——Sigmoid函数,它可以调节权重,经过训练后在最小均方差意义之下使得误差极小。
其满足
(6)
本文中采用4个传感器进行环境数据监测,每个传感器的每一组样本数据具有一个特征值,故输入层节点数设定为m=4。输出层的输出表示农作物的环境监测状态,分为环境较好、环境较差两种类型,因此输出层结点数为n=2,映射为(1,0),(0,1),输出范围为0~1。其中隐藏层的节点数并不固定,而是需要经过实际训练的检验来不断调整,权值的第t步更新
(7)
式中:μ——步长因子;
(8)
为测试农业监测系统整体通信性能,搭建3个温湿度传感器、1个大气传感器、2个广谱气体传感器、2个光照传感器和1个网关进行组网,通过网关收集不同类型的农业监测传感器数据,上传至用户云服务器,由服务器端的程序接收并统计数据包,检测网关从采集到上传数据的丢包率、误报率。测试过程中,农业监测系统的供电正常,NB-IoT模块基站信号良好,同时所有农业监测类型传感器均正常运行。通过网关收集上述5个不同类型传感器的1 000个数据包,通过改变网关与多传感器之间的距离测试系统的通信性能,每隔5 m进行一次测试。测试结果如表2所示。
表2 不同距离下的系统通信测试结果Tab.2 System communication test results at different distances
从表2可以看出,数据丢包率和误包率会随着网关与传感器的通信距离增加而上涨,但是总体仍然处在可控范围,因此该系统数据通信效果良好,数据传输的可靠性可以满足农业监测的需求。
为了测试农业监测系统多传感器数据融合方法的有效性,选择实测环境下的监测数据进行数据融合,将监测系统测量温度值、湿度值、光照值等数据作为神经网络的输入,将农作物的环境监测状态较好和较差作为神经网络的输出。其中部分传感器节点数据如图7所示。
图7 部分传感器节点监测数据曲线Fig.7 Monitoring data curve of some sensor nodes
图8 训练数据的梯度和均方误差之间的关系Fig.8 Relationship between gradient and mean square error of training data
可以看出当迭代次数达到117次时,网络输出达到设定的误差范围(0.001)之内。当神经网络收敛后保存权值,网络训练完成。由此,网络中的权值和阈值也随之确定。建立模型的最大训练次数为10 000,网络的学习速率为0.05,训练网络所要达到的目标误差为0.65×10-3。同时,根据R2的取值来判断模型的好坏,其取值范围为0~1,如果结果是0说明模型拟合效果很差,如果结果是1说明模型无错误。一般来说R2越大,表示模型拟合效果越好。该模型的决定系数R2为0.998 42,因此基于神经网络的环境监测状态神经网络模型方案科学可行。
从图9可以得出神经网络预测结果与已知的实际环境状态输出值对比,可发现预测与实际是比较接近的。对于6:00、12:00、19:00对应的环境监测数据,经过融合处理预测得到的结论为环境状态恶劣程度趋近于1,表示农作物生长环境状态较差,与实际数据的情况一致。模型拟合对于环境状态的预测效果较好。
图9 神经网络学习与已知的训练样本输出值对比图Fig.9 Comparison between neural network learning and known training sample output value
为进一步验证本文数据融合方法的优越性,用本文方法与未经自适应加权融合的传统方法进行了对比,传统方法选择与本文方法相同的神经网络模型,网络参数设置完全一致。训练样本采用传感器直接测量的数据,对环境监测数据的综合效果进行测试,结果如表3所示。采用平均绝对误差(MAE)和均方误差(MSE)作为模型预测精度的判断指标,定量衡量预测误差大小。
表3 本文方法与传统方法预测误差对比Tab.3 Comparison of prediction error between this method and traditional method
1) 本文针对智慧农业存在的远距离、低功耗等问题,利用NB-IoT技术组建无线传感网络对农作物生长环境进行实时采集和监测,实现了智能化和多角度的农作物环境监测。
2) 在软硬件平台搭建的基础上,本文研究了基于多传感器数据融合方法,首先利用自适应加权平均融合然后再采用神经网络方法对各区域内的传感器数据进行融合,从而得到该区域农作物环境状况的综合判断。
3) 与传统方法相比,本文提出的方法对于环境状态的预测效果较好,在不同指标上误差降低了45%~58%,预测准确度大大提升。因此,该方法可以针对不同农作物及其生存环境需求,有效地为农作物的生存状态提供预测,考核各种条件下的农作物的生长环境状态。