基于Web的远程农业温室监控系统设计
2016-07-10胡云阳张智斌王海瑞
胡云阳 张智斌 王海瑞
摘要 针对现代温室监控系统时效性差、监控环境因子单一等问题,设计了一种基于Web技术与无线传感网络技术ZigBee的远程温室监控系统,实现对温室环境参数温度、二氧化碳浓度、湿度的数据采集,利用互联网进行远程Web客户端的实时显示,实现远程Web客户端对温室内通风、灌溉、灯光设施的调节控制,满足了分散不集中的现代农业设施环境信息监控的需求。
关键词 Web;ZigBee;无线传感网络;远程监控
中图分类号 S126;TP393.1 文献标识码 A 文章编号 0517-6611(2016)05-328-03
Abstract Aiming at the problems of modern greenhouse monitoring system, such as poor timeliness, and single monitoring environment factors, a remote greenhouse monitoring system based on Web technology and wireless sensor network technology ZigBee was designed, achieving greenhouse environment parameters such as temperature, carbon dioxide concentration, humidity data acquisition. Using Internet to carry out realtime display of the remote Web client, can realize the control of ventilation, irrigation and lighting facilities in greenhouse, meet the needs of modern decentralized agricultural facilities and environmental information monitoring.
Key words Web; ZigBee; Wireless sensor networks; Remote monitoring
随着现代农业技术的飞速发展,温室已经由传统的简易塑料大棚发展成为具有人工控制自动化、机械化程度很高的现代化温室模式。温室中的温度、湿度、二氧化碳浓度、光照以及室内的通风、灌溉都是影响农作物生长的重要环境参数,如何对这些重要的环境参数进行远程智能监控,是目前农业现代化领域的关键问题和热点问题之一。监测数据的准确性和实时性是开发远程监控系统的必须要解决的问题。
传统的农业温室监控依然存在着控制技术智能程度过低的问题,对农作物生长环境的调控技术不够完善,只能简单地进行数据采集显示和控制,对采集的数据分析处理等不够成熟,同时主要采用C/S模式的监控模式存在着用户使用不便的缺点。针对以上问题,笔者利用Web技术与无线传感网络技术ZigBee,采用B/S架构模式构建基于Web的远程农业设施监控系统,实现了对监控数据的存储、分析和处理,以及温室内相关种植设备的控制,以期达到大规模农业温室分布式远程集中监控和低投入高产出的目的。
1 远程监控系统总体
1.1 系统总体框架
基于Web的远程监控系统根据功能不同划分为3层,对现场生产设备进行数据采集与处理的现场监控层,存储与共享监控信息数据的Web服务层,与用户交互的Web监控层,系统总体结构见图1。
在现场监控层中主要在室内采用大量的无线传感网络节点,利用ZigBee自组网技术自组智能网络系统,实现分布式多点采集。采集的数据通过网关上传到服务器端,由服务器处理后存储到数据库,同时服务器将实时数据通过Internet互联网发给Web客户端,用户在任何地方通过浏览器便可以方便快捷地浏览这些监控数据,用户也可以在Web页面上设置、修改参数远程控制温室内相关的设施。系统采用B/S的架构模式,改善了传统C/S模式无法夸平台的局限性,使得系统应用更加灵活通用,便于系统的升级和维护。
1.2 基于Web服务器的数据库
整个系统中数据库主要负责实时数据的存储、读取和历史监控数据的查询。一个稳定的数据库将对整个系统的正常运行起到重要的作用,在远程监控系统中数据库建立在Web服务器端,通过接口程序的调用,执行实时监控数据的接受和存储。现场监控层的无线传感节点通过ZigBee无线模块通过自组网络与网关连接,将获得的实时数据信息实时发送到Web服务器端进行数据的解析和处理,将有效的数据存储到数据库。用户只要通过浏览器便可对数据库中的数据进行浏览和对分布在设施内的无线传感节点进行远程控制。
2 无线传感网络系统
2.1 ZigBee自组网技术
ZigBee技术是一种新兴的短距离无线双向通信技术,拥有低成本、低损耗、时间延迟短、安全性能高、灵活易用等特点,受到广泛的关注和应用。它是由ZigBee联盟在802.15.4标准的基础上提出来的,IEEE802.15.4标准组织定义的,相比于WiFi在技术上更简单,2.4 GHz的ZigBee信号强度也比较准确,网络容量大,理论上1个ZigBee网络的容量可达65 536个,虽然它的数据传输速度只有250 kpbs,但只对于采集环境参数传感器信息来讲能够提供较高性价比的解决方案。同时ZigBee支持地理定位功能,这对于查找设备异常故障有非常重要的作用。
ZigBee网络有两种常见的拓扑结构:星型拓扑和点对点拓扑结构。每个ZigBee网络都至少需要一个网络协调器FDD来实现网络协调功能,一个终端设备FDD或者RFD,为节约系统成本该设计使用RFD。星型拓扑结构一般由一个FFD和若干RFD组成,FFD充当网络协调功能,其他设备负责协调通信。ZigBee采用的自组织网,当ZigBee网络模块终端在彼此的通信范围内,通过自动寻找,很快就可以形成一个互联互通的ZigBee网络,如果模块移动彼此之间的网络还会发生变化,可以通过重新寻找通信对象,再次确定相互联络,对原有网络进行刷新。ZigBee组网模式见图2。
2.2 无线传感节点
分布在温室中的监控站点的无线传感器节点由传感器模块、处理器模块、无线通信模块和电源模块组成。传感器模块负责采集监测区域的瓦斯气体浓度数据并进行数据转换;微控制器模块控制着整个无线传感器节点的操作,处理该节点采集的数据和其他传感器节点发来的监测数据并对数据进行存储;无线通信模块负责各传感器节点之间的组网、通信、交换控制信息以及收发采集存储的信息;电源模块为整个传感器节点的运行提供电源,这里采用电池供电。无线传感器节点结构见图3。
对于微控制器模块,该研究使用Philips公司开发的32位低功耗ARM处理器LPC2160,该处理器完全满足对整个无线传感器节点的控制操作,且其较低的功耗对于采用电池供电的传感器节点大大延长了电池的使用时间,减少因更换电池带来的维护成本。CC2430是一颗真正的系统芯片(SoC)CMOS解决方案,该ZigBee射频芯片能够大大提高节点的性能,满足ZigBee技术的2.4 GHz ISM波段的应用,具有低成本、低功耗的特点。
2.3 传感器节点程序设计
传感器节点软件实现系统初始化传感器节点、进行环境参数采集与其他传感器节点、协调器通信。通电后先对节点进行初始化操作,然后搜索附近协调器FFD组建的网络,若附近找到协调器网络则加入网络,若没有找到协调器则将自身设为协调器FFD等待其他节点加入网络,开始采集气体浓度数据并及时上传到协调器节点,由协调器节点在传给PC机,保证将监测信息及时发送到Web服务器端数据库。协调器将定时检测网络内传感器节点设备运行状态,发现故障节点立刻将故障信息发送给PC机,同时协调器节点会向区域内各节点发送控制指令。传感器节点工作流程见图4。
3 基于Web的远程温室监控系统
3.1 基于Ajax技术的Web数据交互
Ajax(Asynchronous JavaScript and XML)由Adptive path的顾问Jesse James Garrett首先提出,是一种创建异步通信交互式网页的Web技术,其核心是JavaScript对象XMLHttpRequest,是一种创建异步请求的技术。XMLHttpRequest可以使用JavaScript 向服务器提出请求并处理响应,同时不会阻塞用户。 传统的Web应用用户在提交表单(form)时,Web服务器会接受并处理用户提交的表单,然后向浏览器返回一个新的网页。这种请求数据的方式会浪费很多资源,因为前后两个页面中的大部分Html代码往往是相同的。在远程监控系统中,Web页面切换、显示实时数据时,如果采用传统交互模式则会出现页面不断的刷新闪烁,Web页面加载缓慢影响系统的体验效果。
Ajax引擎通过客户端脚本JavaScript调用XMLHttpRequest对象,产生Http请求不需要等待服务器响应,服务器将向Web客户端传回XML格式数据,利用JavaScript DOM编程操作Html页面实现Web页面的动态局部刷新,应用模型如图5所示。这种方法能减少对服务器的冗余请求以及响应,减轻服务器的负担,同时降低了带宽资源的浪费,给用户带来良好的体验。
3.2 监控数据的实时显示
系统是采用基于Web技术的B/S结构远程监控系统,系统是实时性要求较高的Web应用。数据动态显示要求页面不断地刷新更新数据,它的实时性就是要求频繁地更新客户端的数据。该系统中采用C#编程语言利用asp.Net中的Ajax控件,来解决实时数据显示部分的局部刷新Ajax技术的应用,能够避免开发者进行复杂的客户端脚本编写,只需要在页面上进行控件的操作就可以实现局部刷新。Web 页面采用 Ajax中的 Timer控件设置定时局部周期性的更新,将实现局部更新的区域放置在 UpdataPanel 控件中, 然后通过Script Manager 控件制定需要执行的脚本就可以进行局部更新。
3.3 温室设备的远程控制 设备的远程控制也是系统设计的重要组成部分,也是远程监控系统中控制的一个具体的体现。设备的控制指令主要通过建立套接字socket()函数来实现发送,用户在Web客户端对设备控制参数修改时,客户端发出的指令由指定的端口发送给Web服务器端,服务器将控制指令存入实时数据库,通过控制服务器的串口发给与设备相连的无线传感节点中的微控制器,控制指令执行完成后并向服务器返回控制信息,并将数据库中与设备相关的状态信息进行更新。
4 结语
基于Web的远程农业温室监控系统,利用Web技术与ZigBee无线传感网络技术结合充分的发挥Internet的优势,实现了对实时环境数据的采集及显示、数据处理、实时控制的功能。系统对农业温室中影响农作物生长的各环境要素的智能监控,节约了温室管理者的劳动成本,为管理者提供了更加便利、准确、智能的管理工具。
参考文献
[1]王茹香,巩志强,薛祥坤.采用AJAX技术的 Internet 准实时温度监控系统[J].安徽农业科学,2012,40(20): 10710-10712.
[2]吴秋明,缴锡云,潘渝,等.基于物联网的干旱区智能化微灌系统[J].农业工程学报,2012, 28(1): 118-122.
[3]吴丽娜,卢会国,牛永红,等. 基于Web的智能农业大棚监控系统的设计[J].气象水文海洋仪器,2014,6(2):74-77.
[4]明日科技. ASP.NET从入门到精通[M].3版.北京:清华大学出版社,2012.
[5]杨治秋,柴宝杰.无线传感器网络在农业信息监控系统中的应用[J].安徽农业科学,2011,39(35):22160-22161.
[6]致远电子专栏.基于ZigBee技术的精准农业监控系统[J].电子技术应用,2009(10):34-35.