美章网 资料文库 设施农业远程控制系统的设计范文

设施农业远程控制系统的设计范文

本站小编为你精心准备了设施农业远程控制系统的设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

设施农业远程控制系统的设计

1系统整体结构设计

1.1总体框架如图1所示,系统的总体结构分为三个部分:硬件设施部分、服务器端、Web客户端。其中硬件部分,在温室内首先采用大量可移动无线传感网络节点组成多跳、自组织智能网络系统,实现分布式多点采集;其次通过GPRS网络将实时数据传达至服务器端,经服务器端的处理后存入数据库;服务器是一个单机版的管理软件,采用多线程进行对实时数据监测、采集和管理等,同时承担远程管理系统Web客户端的同步动作,通过互联网的通道转发给客户端;客户端是采用B/S架构的Web页面,实现广域网范围的多用户的便捷访问和管理,同时可以实现设施内的作物生长的空气温湿度、土壤温湿度、光照度等参数信息的实时显示、历史查询、远程监控、即时影像等功能,并依据作物的生长习性自动调节相关参数的设置。系统在设计时考虑到用户的使用方便,利用互联网采用Web页面的形式,改善了传统C/S模式的局限性,使得系统的应用更加灵活,具有更强的通用性,便于系统的升级和维护。采用Web客户端页面,用户可以在带有IE浏览器的任意一个联网的电脑上通过系统操作管理,使用简单方便,实现广域网范围的多用户便捷的访问和管理。

1.2数据库设计数据库主要起到两个主要的功能,实时数据的存储读取和历史数据的查询。在远程监控系统中,数据库建立在服务器端,通过接口的调用,实现实时数据的接收和存储。现场的监测设备是实时数据库的数据来源,通过ZigBee无线模块与移动GPRS网络连接,将获得的实时数据信息实时地发送到服务器端进行数据解析和处理,经过该服务器的数据处理后,将有效数据存入数据库。客户端只要通过浏览器即可实时访问、浏览和对数据采集模块进行远程控制,给分布在设施内的无线传感器节点发送控制指令。客户端通过时间模块来调用任务、定时刷新,通过浏览器向Web服务器发出请求,Web服务器将请求转发到数据库,数据库服务器响应请求,将实时数据显示在Web页面中。数据库中数据的存储是采用单节点存储的方式,将每个节点采集的数据作为一个独立的数据存储在数据库中,用户可以详细地了解设施内不同位置的不同环境参数,使得监控数据更加精准、详细。

2关键技术

2.1基于异步Ajax技术的异步Web数据交互Ajax是由JesseJamesGaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。Ajax的核心是JavaScript对象XMLHttpRequest。它是一种支持异步请求的技术。Ajax极大地发掘了Web浏览器的潜力,开发了大量的新特性。传统Web应用采用同步交互过程,浏览器每做一个动作,用户都要等待漫长的处理才能继续下个动作,因为客户端浏览器必须重新载入整个页面。用户出发一个HTTP请求到服务器,服务器接收请求,进行处理后再返回一个新的HTML页面到客户端。在远程管理系统中,Web页面切换到即时影像或者查询历史数据时,如果采用传统交互方式,则会在显示视频或者历史数据时出现全局刷新而造成页面抖动甚至可能引起加载滞缓,影响视频效果。系统采用基于Ajax技术的异步交互方式构建远程管理系统为用户提供流畅的数据交互体验。Ajax引擎在客户端浏览器和Web服务器之间,通过客户端JavaScript调用XMLHttpRequest对象触发Ajax引擎产生HTTP请求而无需等待服务器响应,服务器传回XML格式数据,利用JavaScript操作DOM实Web页面的动态局部更新。这种方法在很大程度上减少了冗余请求以及响应对服务器造成的负担,同时在很大程度上减少了宽带的浪费,很好地改善了用户体验。

2.2无线传感网络搭建设施内的无线传感网络的搭建,需要一种大范围的、多节点、低功耗、低成本、具有自组织功能的网络传感器,结合以上需求,最终决定采用ZigBee技术实现无线传感器网络的搭建。基于ZigBee实现的无线传感器网络是基于IEEE802.0.4技术标准和ZigBee网络协议实现的无线数据传输网络。相对于现有的各种无线通信技术,低功耗的、高可靠性的ZigBee技术与无线传感器网络完美地结合在一起,使其成为设施内无线传感网络搭建的最好的选择。无线传感器网络是一种传感器比较密集、范围比较广的无线数据传输网络。在普通的数据传输过程中对速度一般没有较高的要求,但是在对传输数据的实时性要求比较高,并且由于传感器比较分散,而ZigBee的出现正好解决了这一问题。所以设施内的各个监控节点是集成在ZigBee模块上,进行自组网络,最终实现数据的无线传输。ZigBee有近距离、低复杂度、低功耗、低成本等诸多优点,这些优点使得ZigBee与无线传感器网络完美地结合在一起,使其成为发展前景最为看好的无线传感器网络。

2.3远程监控系统的信息交互根据本系统的设计,在基于Web的远程监控中,交互信息在现场设备和浏览器之间的交互式通过以下两个过程进行的。远程监控需要获得现场设备的实时数据信息进行分析,进而产生控制决策,远程控制指令通过通信网络传回给现场设备,现场设备执行控制指令。而现场设备和Web服务器之间的通信有以下两种方法:1)通过服务器端的数据库进行通信。基于数据库通信是指客户端和现场硬件控制之间通过数据库作为中间站,远程监控系统下达的命令,首先录入数据库,客户端周期性的对数据库进行查询,发现有新的命令下达立即进行处理,服务器端将采集的设备信息的实时状态以及相关参数上传到数据库中,客户端访问数据库读取所需要的数据。这种方式的优点是开放性好,实时性也比较高,只要能访问到数据库即可。2)应用Socket编程实现TCP实时通信。客户端与现场控制采用基于TCP/IP协议的Socket通信,是实时性非常好的方式,两层之间可以通过服务器端作为中转站与现场设备进行直接通信。由于服务器端可以直接和硬件设备进行通信,远程监控系统可以通过Socket直接将指令发送给服务器端直接下达给硬件设备,之后存储到数据库中。这样在整个通信过程中减少了时间延迟,实时性更高。

3系统主要模块的实现

根据远程监控系统的设计需求,主要界面有实时显示界面、历史查询界面、实时控制界面以及即时影像界面等,各个界面分别实现设施管理的需求,实时监控、参数设置、历史数据查询、广域网的远程控制等功能。

3.1数据动态曲线的实时显示由于本系统是采用B/S模式来构建的基于Web的远程监控系统,所以系统的实时性要求较高的Web应用。数据动态数据实时显示要求页面的不断刷新,而这就是实时数据显示的关键。它的实时性就是要求频繁的更新客户端数据,在实际应用中数据刷新的频率会比平时的高。由于因特网是一个同步的请求/响应系统,也就是说服务器端脚本是在服务器端运行,客户端只是接受服务器端运行后生成的HTML格式的文本,所以客户端对服务器的任何请求都将导致整个页面刷新。在设计本系统中,由于中Ajax控件与可以良好的结合,在实时数据显示部分,解决了局部刷新的问题Ajax技术的应用,减少了编程过程中的代码量,开发者不需要编写复杂的客户端脚本,只需要在页面上进行控件的操作就可以完成局部刷新。最终实现监控页面保持稳定,只要监控点的数据发生变化,无需整体刷新就可实现实时监控。在正常运行情况下,被监测的各种参数在一定时间内应保持稳定,变化幅度较小;而当出现意外情况时,其参数往往会出现大幅度的变动。因此,引入参数随时间变化的趋势图能够更加形象地监视设施内的工作情况,同时种植户也可以根据近期的数据变化总结种植经验等。对于动态图形的显示,采用CGI、ASP、JSP等纯Web技术实现是困难的。为了达到数据曲线的动态绘制的要求,本系统采用了visualstudio2010中自带的chart控件对其进行编码,结合B/S架构中的Ajax的局部刷新进行设计。在实时数据显示模块中,数据是由设施内硬件设备采集,由服务器端接收并存储到数据库当中,Web客户端从数据库中进行周期性的读取。Web页面采用Ajax中的Timer空间设置定时局部周期性的更新,将实现局部更新的区域放置在UpdataPanel中,然后通过ScriptManager制定需要执行的脚本就可以进行局部更新,减少了宽带占用率,提高了网页的加载速度。图形显示采用chart控件,动态显示数据变化曲线,同时有数据显示,图文并茂。能在观看到数据期变化的同时,同时能直观的观察到文字数据的显示。当数据库中相关数据发生变化时,页面上的曲线会实时动态的变化,达到实时的效果,当鼠标移动到曲线某点处时,会显示出对应的坐标值即设施编号、节点编号以及对应的数值,界面如图2。

3.2历史数据查询历史数据查询主要是对设施内空气温湿度、土壤温湿度、光照度等进行查询。查询方式是按照大棚号,选择需要查询的时间段进行查询。查询的数据按照二维表和曲线图进行显示的,在用户浏览数据的同时可以直观的观察到对应时间段内的数据变化。系统采集的数据的存储方式是按照节点数据存储的,这样对历史数据查询需要对数据库中数据进行按照大棚号求平均值,再显示在客户端页面。用户选择的时间段不同,处理的数据量就不一样,在数据量很大时,同时要对各节点数据进行整合,求取一个大棚的各个节点的平均值,导致数据查询超时。为了解决历史数据查询问题,编写相关类对数据进行处理,在数据查询出用此类进行相关处理,之后传给客户端页面,这样解决了查询超时的问题,同时缩短了查询时间,界面如图3显示。

3.3设备的远程控制设备的远程控制是系统设计的重要组成部分,也是智能化的一个具体体现。系统综合考虑用户的实际需求,设计了手动控制和自动控制两种控制方式,主要控制有卷帘控制和灌溉控制。设备控制的指令发送实现主要是通过建立套接字socket()函数,进行Web客户端与服务器端进行通信,客户端发出的指令通过指定端口传输给服务器端,服务器将指令传给控制设备,从而达到远程控制的效果,界面如图4。1)灌溉控制。作物需水量控制是作物生长的关键,系统设计以下灌溉模式:手动灌溉和自动灌溉。在数据库中根据作物的种类以及生长状况等条件,建立控制参数模型,湿度传感器会周期性的采集湿度数据,当采集的数据超出参数范围,系统会发出警告(警告方式比如说短信提醒,界面显示上面与普通情况的不同),在用户选择自动灌溉的情况下,硬件设备会自动打开,传感器进行监控,直至采集的数据恢复正常;用户也可以手动开启和关闭,用户可以根据自己的种植经验设置灌溉时间等。2)卷帘控制。卷帘的控制影响设施的通风程度以及光照度等条件,影响作物的健康生长,也是设施种植的一项至关重要的部分。卷帘的控制采用手动控制,同样根据传来的警告信息,用户自己控制打开程度,卷帘开启等级分为0~100%档,0即时关闭,100%是全部打开。总结以上介绍,用户通过Web客户端就可以对设备进行控制方式设置,实现系统自动控制和手动控制。开启和关闭设备时,通过Web客户端将控制指令存入实时数据库,通过控制服务器的串口发给与设备相连的无线执行节点。命令执行后并向服务器返回一个信息,告诉用户远程控制是否成功,并将数据库中与设备相关的状态、时间等信息进行更新。

3.4参数设置模块由于植物病虫害的发生和传播与环境的温湿度有及其密切的联系,系统设计了参数设置模块,主要便于用户对温室内不同作物的生长环境的参数控制,设置温室内的各种参数范围,具有针对性的管理作物,具有更高的科学性,同时为服务器端预警奠定基础。

3.5视频监控技术随着Internet宽带的不断增长,视频监控也得到了迅速的发展。系统在设计时嵌入了即时影像模块。在设施内安装视频设备,对其内部情况进行监控。可以监控植株的生长状态以及果实的成熟情况;还可以通过调整监控角度、焦距,清晰地看到几乎每一片叶上的情况,从而监控植物病虫发生。视频的使用首先是对视频进行开发,客户端只要连接其对应的网址,就可以观察到当前设施内的生长状况;通过视频设备可以捕捉影像、及时存储,在作物病变期间也可以及时精确地拍摄下病虫害的变化过程,对防治病虫害以及新病害的研究提供可研究的准确材料。

4总结

本系统可以实现实时数据采集及显示、数据处理、实时控制等功能,适合东北地区的设施农业远程监控,实现广域网范围的应用,系统性能稳定,经济方便,通用性强,易于升级,构建灵活。与传统单机版的系统设计相比有以下优点:1)简单、易于操作。首先:客户端采用基于B/S架构的Web页面形式,解决了C/S架构的部署困难,除安装服务器外,每台客户机都要安装客户端软件。其次,系统界面的设计,图文并茂,适合不同教育程度的种植者,界面简单,易于操作。2)分布式。采用TCP/IP协议,通过B/S架构的Web页面能够实现不同的用户,从不同的地点,以不同的接入方式访问采集的数据,达到更广范围的数据共享。3)继承性。通过网络可以远程的、全面的管理设施中的空气温湿度、土壤温湿度、光照度等参数,实时监测、远程控制大棚内设备。本设计是一种比较成熟的系统监控模式,能节省远程监控系统的开发成本,而且通用浏览器就可以实现复杂专用软件才能实现的强大功能,真正地实现随时随地、不受地域限制的智能监控,为设施农业的发展提供更加便利、准确、智能的管理工具,真正达到无人化的科学种植模式。

作者:于合龙 刘杰马丽吴水方单位:吉林农业大学信息技术学院