APP下载

基于土壤墒情的联栋大棚智能灌溉系统的设计

2017-03-21王宗省苏金娣宋炳辉

节水灌溉 2017年10期
关键词:上位路由电磁阀

王宗省, 苏金娣,宋炳辉

(山东科技大学机械电子工程学院,山东 青岛 266590)

0 引 言

近几年来,随着人们生活水平的提高,对蔬菜水果的需求量大大增加,促使农业大棚得到迅速的发展。联栋大棚由于性价比高,成为水果蔬菜大棚的一种首选。传统的农业联栋大棚灌溉管理主要是粗放式的人工操作,通过观察地表潮湿度来进行人工控制漫灌[1]或者滴灌,这样不仅造成水资源浪费,而且灌溉不精确,并且大棚数目较多,人工劳动强度大。针对这个问题,本文设计了一种基于土壤墒情的联栋大棚智能灌溉系统,该系统将终端数据采集控制模块采集到的棚内土壤湿度温度数据通过ZigBee无线网络传送给上位机,上位机融合土壤湿度温度及设定值要求,给出是否灌溉的控制信号,再通过无线网络传送给终端数据采集控制模块,从而来控制水泵和滴灌主管道电磁阀的开启和关闭。该系统不仅克服了有线控制的布线的问题,也降低了利用GPRS设计使用网关的费用,又加入手机APP,管理人员可以随时随地查看大棚内的土壤墒情数据,而且更好地实现自动化、科学化的农业生产管理。

1 系统整体设计

系统主要由四部分构成:数据采集控制模块、无线传输网络、上位机管理系统及手机APP系统。系统的整体设计如图1所示,每个联栋大棚作为一个数据采集控制终端,每个大棚在不同区域放置2个土壤水分温度传感器,终端采集控制器将采集到的土壤水分温度数据经ZigBee无线网络送给上位机,终端采集控制器还可以接收由上位机经ZigBee无线网络传送的电磁阀的控制信号。每个水泵作为一个数据采集控制终端,在主管道区段放置1个压力传感器,终端采集控制器将采集到的主管道的压力信号处理经ZigBee无线网络送给上位机,终端采集控制器还可以接收由上位机经ZigBee无线网络传送的水泵的控制信号,来实现恒压滴灌,提高灌溉效率。无线网络由协调器(Coordinator)节点和多个路由(Router)节点及终端(End-device)节点构成[2],实现更灵活的管控要求。

图1 系统整体设计图

上位机管理系统对数据进行处理、分析,自动或人为控制微滴灌电磁阀的打开与关闭、开启水泵的个数。为提高管理的方便性,设计了管理系统的手机APP,借助于云服务,管理者可以随时随地实时观测大棚内土壤的温湿度,还可以对在线监测设备进行远程控制。

1.1 数据采集控制终端设计

数据采集控制终端主要是由传感器模块、CC2530芯片处理器、无线发射模块、工作指示模块、控制模块和电源模块组成。用于棚内的数据采集控制终端中的传感器采用MS-10土壤水分温度传感器组,MS-10是一款响应速度快、精度高、灵敏度高、互换性好、密封性好、耐腐蚀的土壤水分温度的传感器,其接口是基于Modbus协议的RS485总线形式。用水泵控制的数据采集控制终端中的传感器采用高性能耐腐蚀的LST-131压力传感器。CC2530芯片结合领先的RF 收发器的优良性能,且支持ZigBee协议[3],该处理器控制整个节点运作,负责把采集到的数据通过ZigBee无线上传路由器,接收上位机下达相应的控制命令。控制模块主要是电磁阀开关或者水泵的变频器开关,这里是采用固态继电器控制。电源模块采用小功率的开关电源。

1.2 无线传输网络设计

无线传输网络的构建,由于ZigBee技术具有通信距离远、功耗低、成本低、节点容量高和网络组织方便等优点[4,5]。本系统采用ZigBee联盟和TI公司推出的免费Z-Stack协议栈CC2530-2.3.0-1.4.0[6]进行开发,由系统的整体设计图1可见,采用网形网络拓扑,由一个协调器节点、多个路由器节点和终端节点组成的。

协调器是ZigBee无线传感网络建立的起点和集聚点、设置网络参数、选择信道、管理网络链路的状态、维护网络、并自动分配网络中各路由节点和终端节点的网络地址。网络建成后协调器起维持网络的作用,类似于路由器节点。协调器节点可以直接与路由节点和终端节点通信。路由器节点具有传输数据功能和路由功能,是扩大ZigBee传感网络范围的关键,为远程设备起中继服务作用,可以连接多个路由器节点和终端节点,但是不具有组网功能。终端节点处于ZigBee传感网络的末端,是传感信息和控制信号的上传点,也是驱动执行信息的接收点,终端节点没有数据转发和组网能力。

1.2.1 ZigBee网络的地址分配

ZigBee网络采用分布式地址分配机制,ZigBee设备有两种类型的地址,一种是全球唯一的64位MAC扩展地址,一种是组建ZigBee传感网络时父节点分配的16位网络地址,用于数据传输和路由机制[7]。具体地址分配规则如下。

Cm是一个父节点所能容纳的最大子节点个数,Rm是子节点中最大路由数目,网络的最大深度为Lm,则对于深度为d的父节点为其子节点分配的地址空间偏移量Cskip(d)如式(1)所示。

(1)

当地址空间偏移量大于0时,才能够为子节点分配地址,允许子节点加入网络。协调器的地址和网络深度都为0。如果父节点的网络地址为Ap,给第n个加入的路由器节点分配的地址An如式(2)所示。

An=Ap+1+Cskip(d)×(n-1)

(2)

当第i个加入的子节点为终端节点时,父节点为其分配的网络地址Ai如式(3)所示。

Ai=Ap+Cskip(d)×Rm+i,1≤i≤Cm-Rm

(3)

ZigBee终端节点向协调器发送的数据,其数据帧结构由帧控制、目的地址,原地址和有效载荷等组成。其中目的地址表示该数据帧要被送达的协调器节点,源地址是由ZigBee终端节点发出的。在系统设计时分别对每个大棚进行编号,并且将源地址和大棚的编号相对应。这样上位机软件就可以通过源地址的内容判断该数据帧哪个大棚,从而可以启动相应的执行机构对环境因素进行适当的调节。

1.2.2 ZigBee路由算法

路由算法用于解决网络的数据传输问题,是保证网络性能好坏的关键技术。在ZigBee传感网络中常用的路由算法有3种:Cluster-Tree路由算法,AODVjr路由算法,以及两种算法结合使用。

Cluster-Tree路由算法是ZigBee网络树形拓扑结构中基本的路由算法,在树形网络拓扑结构中,如果某一子节点想要发送数据给其他节点,是先将数据发送给自己的父节点,父节点判断目的地址是否为自己,若是自己,则接收数据;否则需要根据式(4)判断目的节点是否为其后代节点。其中Ap为父节点的短地址,d为网络深度,D为目的节点网络地址。

Ap

(4)

如果目的节点地址满足式(4),那么目的地址就在父节点的地址空间内,目的节点是它的后代节点,目的节点直接接收数据,根据式(5)进行计算下一跳节点的地址。

(5)

如果目的节点地址不满足式(4),将数据包转发给地址为Ap节点的父节点,若目的地址是其父节点,则处理数据,否则收到数据的父路由按照上面的方式寻址,直到找到目的地址。Cluster-Tree路由算法必须按照树形网络拓扑结构分配方式来寻址,源节点到目的节点的传输路径跳数过多,选择的路径不一定是最佳路径,灵活性差,路由效率低下。

AODVjr路由算法是按需分配[8]的,是按时间最短原则来寻找最优路径的。当具有路由功能的节点需要发送数据时,如果路由表中有到达目的地址的路径,有就直接发送过去,若没有,则马上进行路由过程。 路由过程分为发现路由、建立反向路由、建立正向路由,由此就建好了一条从进行起点到终点的有效传输通道[9]。AODVjr路由算法通过目的节点对源节点周期性的发送KEEP-ALIVE来维护路径的,简化了路由表,降低了复杂度。但AODVjr路由算法在路由发现过程中,会产生分组大量泛洪的问题[10],会导致冗余、能量的消耗等问题。

在本系统中采用AODVjr+Cluster-Tree的路由算法,ZigBee路由节点分为两类:RN+节点和RN-节点[11]。RN+是指内存大且具有路由选择功能的节点,RN-是指内存不足没有能力进行AODVjr路由算法的节点,在ZigBee无线传感网络中建立路由的步骤:

RN+节点可以采用AODVjr路由算法,发起路由发现过程来寻找最佳路由路径,RN-节点则只能采用Cluster-Tree算法计算下一跳地址。节点创建RREQ并向邻居节点广播消息,如果是RN+节点收到,则建立反向路径将RREQ广播;如果是RN-节点收到的RREQ分组,就按照Cluster-Tree路由算法转发出去;当RREQ到达了目的节点后,目的节点就得向源节点回复RREP,RREP所走的是先前建立好的反向路由路径,同时目的节点还要计算它到下一站的路由开销;凡所收到RREP的设备都要建好到此次目的地的正向路由,而且路由表必须更新[12];随着RREP到达发起RREQ的节点,这样就通过AODVjr路由算法选择好了最优路径,信息将沿着正向路径传输。

1.3 上位机管理系统的设计

本设计采用 C++语言编写上位机界面,其面向对象[13]的特点,便于理解。上位机部分包括数据管理、云服务和自动控制部分,是一个基于大棚号、温湿度、水泵压力等信息的小型监测系统,方便管理人员对大棚的管理。数据管理也就是云计算平台,在平台上可以对数据进行并行计算处理,统一管理大棚的数据信息。云服务就是通过Web服务访问云平台,用户可以利用手机APP实时观测大棚内土壤的温湿度,对在线监测设备进行远程控制,上位机可以显示各个大棚的灌溉状态及主要环境监测数据、远程对大棚中的电磁阀和泵进行操作。界面如图3所示。

当土壤水分传感器检测土壤水分含量高于设定的上阈值时,管理系统会显示警示状态,用红色指示灯指示并播放警示声音,管理人员可以通过控制电磁阀驱动按钮,远程控制电磁阀关闭;当土壤水分温度传感器检测土壤水分含量低于设定的下阈值时,管理系统会显示警示状态,用红色指示灯指示并播放警示声音,管理人员可以通过控制电磁阀驱动按钮,远程控制电磁阀打开,进行浇水动作。上位机管理系统还实时监测管道内的水的压力值,自动综调开启水泵的个数,保证泵的管道压力值在正常范围内,防止管道破裂。

1.4 手机APP系统的开发

手机APP的设计使用JAVA语言,其中主要运用了如Socket编程、SpringMVC框架[14]等知识,以Eclipse作为系统开发平台。

手机APP可以实现各个大棚的温度湿度及电磁阀状态数据的实时上传,方便管理人员及时了解当前的信息。管理人员也可以通过手机APP下达灌溉指令实现远程控制的灌溉操作。

当管理人员在手机 APP 输入和上位机同样的 IP 地址,与上位机进行通信连接。手机 APP 和上位机的连接采用C++的SocKet异步通信方式。上位机服务器端首先建立套接字,用本地的IP 地址绑定上位机的端口,云服务器端使用 Listen 的方法侦听端口等待连接指令。手机APP请求连接登录到上位机运行的服务器端,手机APP把接收的数据分配给不同的终端进行显示。上位机接到手机的查询命令后把大棚内土壤的温湿度数据发送到手机APP终端。设计界面如图2所示。

2 系统测试结果

在山东潍坊高密春华秋实农业有限公司的12个联栋大棚,近13.33 hm2地现场测试,可以实时的采集到大棚内土壤温湿度和管道压力数据,对大棚内的ZigBee终端节点进行采集数据测试,系统测试结果如图3所示,系统可以实时监测大棚内土壤温湿度的数据,并且可以分别控制大棚内灌溉开关的状态。当采集到的温湿度数据超过设定阈值,系统界面会显示红色指示灯并播放警告语音,提醒管理人员关闭灌溉开关。

图2 手机APP设计界面

图3 系统测试结果

3 结 语

基于ZigBee技术的联栋大棚智能灌溉系统经过测试,该系统自动化程度高,可以根据不同作物的生长期、当时的土壤温度、湿度等进行自行灌溉或者人为控制;网络及手机APP等现代的通信方式的拓展,随时随地实时监测大棚内的情况,节省了人力物力,使其管理更方便;具有反馈闭环,实现恒压灌溉,提高灌溉效率;利用物联方式,形成一个开放式的系统,可以随时增加或者去掉一些大棚节点,且与互联网联结起来,对农产品的产、销都可以联结起来,具有广阔的市场前景。

[1] 贾科进,王文贞,杜太行等.基于ZigBee无线传感网络的土壤墒情检测系统[J].节水灌溉,2014,(3):69-74.

[2] 王春玲,陈华标,王梅红.基于ZigBee的高校教学楼照明管控系统设计[J].电子技术,2016,(12):88-89.

[3] 王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012.

[4] 陈 辉.基于ZigBee与GPRS的温室番茄远程智能灌溉系统的研究与实现[D]. 杭州:浙江大学,2013.

[5] 余 凯.基于ZigBee的室内盲人定位导航及远程监控系统[J].桂林电子科技大学学报,2016,(12):431-436.

[6] 张亚峰.基于ZigBee技术的农田土壤温湿度监测系统设计[J].节水灌溉,2014,(9):80 -83.

[7] 陈 波.ZigBee路由算法分析及改进[D]. 天津:南开大学,2009.

[8] 班艳丽.基于能量有效的ZigBee网络路由算法研究[D]. 济南:山东大学,2009.

[9] 闫文达.基于能量优化的ZigBee路由算法研究及应用[D]. 兰州:兰州大学交通大学,2013.

[10] 曹 越,胡方明,党 妮.基于Cluster-Tree+AODVj的优化路由算法研究[J].现代电子技术,2012,12(10):4-7.

[11] 张 栋.ZigBee无线传感器网络路由协议研究与优化[D]. 济南:山东大学,2009.

[12] 朱一兰.基于ZigBee无线传感器网络的能量路由算法研究[D]. 兰州:兰州大学,2016.

[13] 管西京.深入体验VC++项目开发[M].北京:清华大学出版社,2011.

[14] 李兴华.Android开发实战经典[M].北京:清华大学出版社,2013.

猜你喜欢

上位路由电磁阀
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
福特6F35变速器的电磁阀控制策略
路由重分发时需要考虑的问题
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统