基于物联网的温室环境测控系统
2018-03-07何耀枫梁美惠陈俐均杜尚丰
何耀枫, 梁美惠, 陈俐均, 徐 丹, 杜尚丰
(中国农业大学 信息与电气工程学院 北京 100083)
0 引言
随着互联网技术的成熟和普及,20世纪90年代起计算机互联网络开始进入我国农业领域,农业生产管理人员可以随时随地快捷地获得各种科技信息、管理信息、市场供求信息、气象与土壤信息、作物与病虫害信息等[1].农业物联网广泛应用于食品安全追踪、农田墒情、节水灌溉等方面[2-5],引导现代温室环境监控系统朝着全面感知、稳定传输和智能应用的方向发展[6-7].随着嵌入式微处理器、无线传感器网络(WSN)等技术的日趋完善,融入高新科技的温室环境远程监控系统已成为相关领域研究及应用的热点.国内实际农业生产中使用的传统温室环境监控系统大多要求农户每天守候在温室现场实施调控[8],且系统结构复杂,不利于升级维护,信息采集不全,集群温室调控也受到地域的限制,难以满足农业物联网发展的需求.此外,温室环境监控系统大多测控因子不全、控制方法单一、操作复杂,不适用于农业实际生产过程.
1 系统设计
本文从简化系统结构、降低成本、完善系统功能的角度出发,依托农业物联网框架设计温室环境测控系统,实现了环境数据的实时采集、无线传输以及环境可视化和控制自动化.用户在分析温室内外环境信息和加热器、补光灯等执行机构开关状态信息的基础上,通过网页实现视频浏览,实时观测温室运营情况,并在已配备的控制算法中进行选择,从而实现环境远程测控.
1.1 系统总体设计
系统主要分为现场测控层和远程监控层,总体结构如图1所示.
图1 系统结构示意图Fig.1 Structure of system
1.1.1温室现场测控 温室现场测控层是系统的基础,主要包含信息采集模块和环境调控模块.信息采集模块中温室内外均设计并搭建了基于WSN的4合1气象站采集环境因子(温度、湿度、光照度和二氧化碳浓度).此外,温室内部配备了网络摄像头采集视频图像信息作为数字信息的补充,为用户提供远程温室内部运营情况可视化界面.环境调控模块包括状态采集电路、状态控制电路和执行机构,采集、控制电路均通过继电器、空开和接触器连接至环境调控执行机构(风机、天窗、LED补光灯、加湿器等).
温室现场测控层主要实现测量和控制两部分功能.一方面,信息采集模块接收来自远程监控层的周期性查询指令,实时测量、反馈温室内外环境信息和当前执行机构状态信息;另一方面,环境调控模块接收来自监控层的控制指令,完成对执行机构的开关控制.
1.1.2远程监控 远程监控层是系统的核心,该层以嵌入式开发板Tiny6410为核心,集信息采集、分析处理、环境调控和服务器发布为一体,功能完备且体积小、成本低.
1) 环境测控
在测控功能的实现过程中,远程监控层接收温室现场测控层的信息后,利用程序中的控制算法对信息进行挖掘和处理,最终向现场测控层发送指定格式的调控指令.
为增加系统的适用性和调控方式的多样性,系统置入滞环控制、PID控制、模糊控制等多种控制算法,并配备了自动控制和手动控制两种控制模式,保证系统能够适用于农业实际生产过程,提高农业生产的效率.
2) 信息发布
远程监控层还具有服务器发布的功能.采用B/S模式,将得到的温室现场信息存储至开发板后,用户通过动态网页访问嵌入式Web服务器,实现对温室环境数据、执行机构开关状态的监测,并通过视频图像、控制模式切换和控制方法的选择,完成对温室现场的远程控制干预.基于嵌入式Web服务器的信息发布为用户提供了系统的接口,通过HTML以浅显易懂的方式将有效信息展示给用户,实现信息技术与专业领域技术的融合.
1.2 嵌入式Web服务器设计
1.2.1服务器搭建 嵌入式Web服务器以S3C6410为基础,由串口通信模块和Web服务器守护模块组成.其中,串口通信模块是系统功能实现的重要保障,由温室信息测控程序和执行机构手动控制程序组成.温室信息测控程序中首先打开串口并提取文件中的测控周期设置,利用itimerval定时器控制测控周期;然后在每个周期内依次对温室内外的环境信息、执行机构的状态信息进行采集,通过用户选择的算法对数据进行分析处理,最终得到控制决策,并将有效数据以特定格式存储为历史记录.执行机构手动控制程序用于应对用户需要按照自身意愿进行手动控制操作的情况.
服务器守护模块主要包含了嵌入式Web服务器、CGI脚本和信息可视化的HTML网页3部分,实现了用户登录、环境信息浏览、视频监控、自动控制方法选择、手动控制等功能.嵌入式设备中常用的Web服务器有Boa和Apache等[9].考虑到本设计中嵌入式设备资源有限,不需要同时处理多用户的请求,不选用Apache服务器.Boa服务器运行于Linux/Unix操作系统下,瘦身后可执行代码只有60 kB,支持CGI/1.1[10].它只产生独立进程来处理CGI脚本,响应速度快、占用资源较少[11].因此本文选择使用Boa服务器,将Boa源码包解压、交叉编译、“瘦身”并配置后拷贝相关文件至嵌入式Linux环境的对应目录下即可完成服务器的移植.
CGI即通用网关接口,是外部应用程序与Web服务器之间的接口标准[12].CGI脚本用C语言编写,在Linux环境下经交叉编译后生成[13],为网络数据的动态刷新及显示提供支持,使网页具有交互功能[14].系统中每个CGI完成不同的功能,但总体上可以分为数据发送和信息获取两大类,程序流程图如图2所示.
图2 CGI程序流程图Fig.2 Flow chart of CGI program
系统客户端采用GET方式向服务器发送请求.当客户端从服务器获取数据时,相应的CGI脚本从系统存储中读取信息.为了实现对温室现场环境参数和执行机构状态的实时监测,本系统使用基于AJAX的异步数据交互方式,在不重新加载整个网页的情况下,在后台与服务器进行少量数据交换,实现网页信息实时刷新.该方法在降低服务器负担的同时,为用户提供了流畅的数据交互体验[15].本设计中使用了jQuery的内部函数实现AJAX编程,定时向服务器请求数据,实现网页定时异步更新.
1.2.2用户交互界面设计 用户通过HTML实现温室环境的远程调控.若此时具有管理员权限,则可进行自动/手动控制模式切换和自动控制算法选择,用户只需设置控制算法中的基本参数即可实现环境调控;反之,用户只能通过HTML浏览实时信息.
具有权限的用户在激活自动控制模式的状态下,可跳转至“控制方法”界面查看并修改环境控制方法、自动控制周期和温度设定值给定方法等信息.为应对实际农业生产中可能出现的各类情况,系统提供了2组共16个执行机构的手动控制开关按钮.系统会根据用户在网页输入的指令传输到温室测控模块中,并执行对应的操作.
传统的环境监控系统缺少视频图像信息,用户无法判断当前操作是否生效,同时也不能根据作物长势合理修改控制参数,只能根据自身经验设置基本信息,环境调控效果完全依赖于系统本身的稳定性.本系统为监测温室现场各设备的运作情况和作物长势,辅助用户实施控制,在温室中安装了网络摄像头.用户可通过“视频监控”页面查看温室图像视频信息,并在登录系统后对摄像头实现云台控制.需要注意的是由于ActiveX控件只能运行在IE内核的浏览器上,所以只能通过IE内核的浏览器实现网络摄像头的访问.
2 整体调试
2.1 系统搭建
将系统部署至中国农业大学信息与电气工程学院459实验温室中,于2015年7月17日至2015年7月24日进行了黄瓜作物发芽期的温室环境调控试验.
试验过程中选择温室内外温度、湿度、光照度、二氧化碳浓度为测量因子;选用LED补光灯和加热风机作为执行机构;选用滞环控制算法跟踪温度设定值.由于黄瓜发芽期需给予较高的温湿度和光照才有利存活,试验设计中温度设定值为30 ℃,误差半径为0.5 ℃,LED补光灯与风机开关状态同步.为密切观测温室环境变化,设置自动控制周期为3 min.
2.2 实验结果分析
系统自运行以来稳定可靠,能够实现数据的实时、准确采集,数据丢包率(E)可表示为:
(1)
其中:N表示传感器的数目,Di表示第i个传感器应接收的总数据包,ζi表示第i个传感器丢失的数据包数目.本文中N=8,总数据包为26 656,实际接收数据包为25 376,可得数据丢包率约为4.8%.此外,用户可通过浏览器视频监控页面实时查看作物长势,辅助控制决策.
图3(a)~(d)所示为2016年5月13日系统采集的温室内外环境信息,以1 h为时间间隔选取数据点,绘制环境信息变化曲线.其中横轴表示时间,纵轴表示相应的环境信息.
对比图3(a)中温室空气的实测温度值与温度设定值可得,系统中的滞环控制算法能够有效将温室温度维持在以设定值为中心的误差半径内,系统运行7天得到温室内实测温度均值为29.3 ℃,均方误差为3.26,基本满足温度调控需求;图3(b)中由于温室外气象站测量的空气湿度实际为实验室内的环境湿度,且系统尚未增加降温、除湿执行机构,因此温室内外湿度相差不大;由于自动控制算法中风机与LED补光灯开关实施同步控制,因此图3(c)中加热时间段温室内光照度值较高,当停止加热时,LED补光灯关闭,温室内光照度值骤然减小.由于本试验中未增加CO2补给装置,且作物对其影响较小,因此图3(d)中温室内外CO2浓度相差不大且波动较小.
图3 温室内外环境信息Fig.3 The environment information in and out greenhouse
3 结论
本文设计了两层结构的温室环境远程测控系统.系统能够长期稳定运行,实现温室环境的自动调控,有助于推动农业现代化的发展.同时,温室现场测控层搭建了基于无线传感器网络的温室内外环境气象站,降低了温室管理维护成本,便于系统的维护和扩展.此外,系统在传统基础上增加了网络摄像头的监控,可通过实时观察作物的长势和温室运作状态,辅助用户修改控制策略.试验结果表明系统运行可靠,环境数据采集丢包率为4.8%,基本满足农业生产的需求;同时系统中配备的多种控制算法为温室环境合理调控提供了多样的选择,有利于缩短作物生长周期.后期研究可将环境模型和作物生长模型融入控制器,提高决策的科学性.
[1] 孙忠富, 杜克明, 尹首一. 物联网发展趋势与农业应用展望[J]. 农业网络信息, 2010(5): 5-8.
[2] 孙彦景, 丁晓慧, 于满, 等. 基于物联网的农业信息化系统研究与设计[J]. 计算机研究与发展, 2011, 48(s1): 326-331.
[3] 吕雄杰, 陆文龙, 王艳, 等. 基于物联网技术的日光温室黄瓜智能灌溉控制系统研究[J]. 天津农业科学, 2014, 20(9): 34-37.
[4] 盛平, 郭洋洋, 李萍萍. 基于ZigBee和3G技术的设施农业智能测控系统[J]. 农业机械学报, 2012,43(12): 229-233.
[5] 朱会霞, 王福林, 索瑞霞. 物联网在中国现代农业中的应用[J]. 中国农学通报, 2011, 27(2): 310-314.
[6] 夏于, 孙忠富, 杜克明, 等. 基于物联网的小麦苗情诊断管理系统设计与实现[J]. 农业工程学报,2013,29(5):117-124.
[7] GUBBI J, BUYYA R, MARUSIC S, et al. Internet of things (IoT): a vision, architectural elements, and future directions[J]. Future generation computer systems, 2013, 29(7):1645-1660.
[8] RAHALI A, GUERBAOUI M, ED-DAHHAK A, et al. Development of a data acquisition and greenhouse control system based on GSM[J]. International journal of engineering, science and technology, 2011, 3(8): 297-306.
[9] 陆永健, 王萍, 吴佳, 等. 嵌入式Web服务器Boa的移植及其应用[J]. 河海大学常州分校学报, 2005, 19(4):44-47.
[10] 周小仨. 基于嵌入式ARM远程视频监控系统的设计与研究[J]. 电子制作, 2014, 14(60): 50-51.
[11] 左志宇,毛罕平,李俊. 基于Internet温室环境控制系统研究设计[J]. 农机化研究, 2003(4):104-107.
[12] 李波,关沫. 一种基于ARM的嵌入式Web服务器的研究与实现[J]. 计算机技术与发展, 2013, 23(7):134-137.
[13] WANG Z X, REN X Y. A study on CGI of embedded webserver[C]//Proceeding of International Symposium on Computer Science and Computational Technology. Rome, 2008:480-483.
[14] 郑强, 彭琳, 邹秋霞, 等. 基于嵌入式Web服务器的远程温室监控系统设计[J]. 农机化研究, 2013, 35(11): 84-87.
[15] 孟庆瑞, 田兆锋, 阎楚良. Ajax技术在农业装备信息网中的应用[J]. 农业机械学报, 2008, 39(12):132-135.