摘 要:基于无线传感器网络的Ad Hoc自组网技术及AODV技术,结合适用于农业环境参数传输的路由特点,完成了农业信息远程数据采集与无线传输网络的路由报文设计,并给出了按需平面距离矢量路由协议(AODV)的工作流程。该方案具有体积小、成本低、功耗低的特点,支持网状拓扑结构,可以快速组网,顺利读取农业环境的土壤温度、湿度、光照等信息。
关键词:ZigBee;路由协议;AODV;网状网;农业信息
随着信息化和数字化在全球范围内的普及与应用,传统农业和现代农业也向着数字化农业方向转变,其核心是精准农业。因此信息的实时采集、迅速传输与及时分析、处理就显得非常重要。农业信息数据传输具有需要数据采集或监控的网点多、要求传输的数据量不大且数据传输可靠性高、安全性高、要求设备成本低、体积很小、不便放置较大的充电电池或者电源模块、电池供电、地形复杂、监测点多、需要较大的网络覆盖等特点[1]。另外,现有移动网络存在覆盖盲区,使用现存移动网络进行低数据量传输的遥测遥控系统效果差或成本太高。目前,在无线传感器网络中,ZigBee技术以其设备成本低、电池寿命长、数据传输安全可靠、组网简易灵活等独特的优势,在家居智能化、工业自动化和医疗护理等领域获得了广泛应用,所以基于ZigBee技术的无线组网方案在精准农业中的应用就显得很有必要。
ZigBee无线传感器网络结构是自组网方式,有终端节点的加入和退出,网络可以自动调整通信连接方式,核心是路由路径的重新选择。网络结构有树状网、星型网和网状网,在一个协调器管理的范围内,所有节点都通过自动选择的路由或预先设定的路由与协调器节点进行数据命令的交换。农业信息采集系统中,每块试验田被设置为一个独立的网络,网络中各个节点的路由均设计为按需路由方式,也就是按需距离矢量路由协议AODV(Ad Hoc on-demand Distance Vector)[2]。本文在熟悉AODV的基础上,给出了基于ZigBee无线传感器网络技术的农业信息远程采集系统框图,进行了无线网络中按需距离矢量的路由设计,并给出了协议的工作流程。
1 远程数据采集系统整体架构
本文设计的农业信息采集系统中,将每块试验农田设置成一个独立的ZigBee网状网络[3],每个网络只有一个中心节点(即协调器端),其他终端节点(由MCU和无线收发芯片构成)都设置为具有路由器功能的路由节点,并连接有土壤PH值、氮浓度计、大气温湿度等传感器。这些不承担网络信息中转任务的ZigBee终端节点在自己信号覆盖的范围内,彼此间通过ZigBee无线方式连接,然后将检测到的数据资料汇集到ZigBee中心节点。由于每块试验田的中心节点和远程中央控制中心均配置有GPRS模块,所以中心节点就会将收集到的数据通过GPRS无线通信方式传输到中央控制中心,经由系统软件对该控制中心所管辖的农田参数进行综合分析,并做出相应控制决策。
本文给出了如图1所示的结构设计,协调器节点模块、FFD路由器节点模块和GPRS模块采用相同的硬件和软件设计。不同的是GPRS模块通过在硬件中采用跳线的方式来选择无线模块工作在主协调器模式还是从路由器模式,以达到增强无线模块的通用性、灵活性和节约成本的目的。系统工作时,由ZigBee协调器建立一个新的ZigBee网络。首先,ZigBee协调器会在允许的通道内搜索其他的ZigBee协调器。并基于每个允许通道中所检测到的通道能量及网络号,选择唯一的16 bit PAN ID,建立自己的网络。一旦一个新网络被建立,ZigBee路由器与终端设备就可以加入到网络中,从而在ZigBee无线通信技术的基础上,基于GPRS通信方式实现对农田数据的远程采集、传输及控制[4]。各个数据采集节点到协调器节点之间的数据传输是本系统的重点和难点,在对比了多种路由协议后,本文选择按需距离矢量路由协议AODV完成本系统的路由设计。
2 ZigBee无线传感器网络系统路由报文设计
AODV(Ad Hoc on-Demand Distance Vector)是基于距离矢量算法的路由协议,它是DSR和DSDV结合生成的一种按需路由协议,综合运用了DSR路由发现/查找/维护和DSDV跳计数(hop-by-hop)、序列号和周期更新的原理机制。AODV协议只保持需要的路由信息,不需要节点维持通信过程中未激活到达目的节点的路由信息,因此在节点移动导致网络拓扑发生快速变化或者链接中断的情况下能够快速收敛响应和修复中断的链路[5]。其特点是:通过使用目的节点序列号可有效降低闭环路由发生概率,解决基于距离矢量路由算法存在无限跳计数的问题。由于需要周期性地广播报文分组和路由信息,以解决路由失效的问题,因此会带来较大的协议开销。
本系统网状网结构中,每个终端节点到协调器节点的路由可以有多个,路由表的维护也比较复杂,为此对每个节点的路由请求、路由应答、路由错误及修复、路由节点应答的数据格式采用了双字设计,便于路由识别和扩展[6]。
2.1 ZigBee路由请求RREQ报文设计
路由请求(RREQ)报文的字段设计如表1所示,其中各部分的含义:J为路由加入标记位,用于组播字段时多目标传输标记;R为路由有效标记(1表示路由有效);G为无请求路由应答标识位,此位置为1,表示RREQ报文被中间节点响应,并使中间节点向目的节点单播一个RREQ报文;置0,表示不需要中间节点响应。D为单个目的节点标志位,表示只有一个目的节点可以对RREQ报文分组做出响应;U为未知目的地标识位,当目的节点序列号未知时置为1;Reserved为12位二进制保留位,发送时设0,接收时对其不作处理;Hop count为跳计数,记录RREQ从信源到应答节点所经过的跳计数,长为1 B,8位二进制;RREQ ID为报文分组标记,设定为2 B,32位二进制,Destination IP address为32位二进制目的节点IP地址,Destination sequence number是路由进程中存储的目的节点最新序列号, Originator IP address是广播RREQ报文分组的信源节点IP地址,Originator sequence number是信源节点序列号,均为32位二进制数据格式。
2.2 ZigBee路由应答RREP报文设计
RREP路由应答报文分组格式如表2所示,其中R为路由修复标记,用于组播字段;A为需要确认标记,表示是否需要确认收到RREP报文分组;Prefix size为预置数据长度,长为1 B; Hop count为1 B跳计数,记录从信源到相邻或中间节点所经过的跳计数值;Destination IP address为目的节点IP地址,数据长度为2 B;Originator IP address为双字长度的信源IP地址,也是广播RREQ报文分组的节点IP地址,Life time为路由存活时间。
2.3 ZigBee路由错误RERR报文设计
RERR报文分组格式如表3所示,各个部分的含义为:N为不删除路由标志,当某个节点正在对一条链路路由进行本地修复时,设置N为1,这个节点的上行节点不删除本条路由;Unreachable destination count为不能到达的目的节点计数,数据长度为2 B,表示RERR报文分组不能到达目的节点的计数值至少要为1;Unreachable destination sequence number为不能到达目的节点序列号,数据长度为2 B,是路由表中保存的原先不能到达的目的节点对应的序列号;Unreachable destination IP address数据长度为双字,表示由于链路中断,不能到达的目的节点的IP地址。
2.4 ZigBee路由应答反馈RREP-ACK报文设计
RREP-ACK路由应答认可报文分组格式如表4所示。当一个RREP中的控制位(A)被设置为1时,给RREP回传一个路由应答认可报文分组(Route Reply Acknowledgement)。如果存在单向链路影响干扰路由寻找进程时,也会发送RREP-ACK报文分组,以免形成路由环路。该应答格式中TYPE 为1 B的数据类型,Reserved为扩展保留位,长为3 B。
3 ZigBee无线传感器网络系统路由过程设计
本文对路由报文的设计是根据农业信息数据采集系统的通信特点和要求进行的,试验田内各个节点间的距离较长,而数据节点到协调器节点的路由选择不是唯一的。ZigBee网络系统中各节点之间是网状网,任意一个路由器节点向协调器节点发送数据时,协调器节点为目的节点,发送节点为信源节点。
本文设计的AODV协议对路由表的管理,若存在寿命周期较短或者接收RREQ和转发RREP时建立的临时路由,也应相应建立和维护其路由表信息。路由表建立后,每个节点都维护路由、管理路由表。当抛弃路由或者路由失效时,节点就会删除对应的路由表;当发生链路断开情况时,目的节点发出路由错误RERR并通知其他节点进行路由修复,重新建立信源节点到达目的节点的有效路由。下面给出路由过程设计。
3.1 ZigBee广播路由查找建立过程
报文广播路由查找建立过程如图2所示。如果节点1(信源节点)到节点7(目的节点)之间一开始就有相互可到达的有效路由信息,则AODV路由查找进程不起作用。当节点1没有到达节点7的有效路由信息时,信源便启动广播路由请求RREQ报文分组查找路由的过程,信源广播RREQ包含信源地址、信源序列号、目的节点地址、目的节点序列号和跳计数等参数。相邻节点4、6在收到RREQ时,则建立或更新到达信源的反向路由信息,并经中间节点4、6到达目的节点7。目的节点7收到RREQ后,通过相邻节点4、6转发RREP至信源。信源为寻找有效路由,会沿多条路径广播RREQ,RREP则沿着建立好的反向路径(节点6、节点4)转发至信源,同时对中间节点路由表信息进行更新,以此建立信源节点1—节点4—节点6—目的节点7的一条有效报文分组转发和路由信息传递路径。
3.2 ZigBee路由链路中断修复过程
当目的节点发生移动时,将导致网络拓扑变化,链路发生中断,如图3所示,目的节点7与节点6发生链路中断。实线代表转发链路方向,虚线代表RERR转发或广播方向。
若目的节点7与节点6发生链路中断,节点6将按照AODV协议路由机制,转发RERR。节点6将RERR转发至节点4与节点5,维护路由表的节点收到RERR,更新路由表信息,将目的节点7与节点6之间的路由设置为无效,节点4在收到路由更新信息后,停止对节点6的RREQ转发,同时将RERR继续广播至网络中其他节点,如图4所示。
AODV协议通过路由信息更新和广播RERR的方式将路由链路中断的情况播报给整个网络。如图5所示,实线代表RREQ重新广播方向,虚线代表RREP应答方向。通过向全网范围内广播RERR,信源知道原传输路径(信源节点1—节点4—节点6—目的节点7)已经发生了链路中断,所以信源重新发起路由查找过程,建立新的路径(信源节点1—节点3—节点5—节点6—目的节点7),完成链路中断修复的过程。
本系统在试验田设置的数据采集节点都是具有路由功能的节点,网状网自组网时,路由比较灵活,每个节点到协调器节点的路由可能有多条,因此还应考虑路由优化的设计。为了在试验中优先保证路由畅通,本文未实现理想的路由最佳化。
在对用于农业信息监控的无线传感器网络系统的AODV路由报文设计时做了扩展预留,对地址等信息设置了较长的数据位数,以便系统扩展节点时方便。本系统采用的路由方案成本低、功耗小、组网灵活,特别适合农业信息传递所遇到的地形复杂,低成本和数据传输速率不高的特点。
参考文献
[1] 刘原,宋良图.基于ZigBee技术的农业信息无线数据传输[J].自动化与仪器仪表,2006(5):21-25.
[2] 徐忠臣,王潜平.移动Ad hoc网络AODV路由协议的进展研究[J].电脑知识与技术,2010,34(12):9735-9738.
[3] 刘建平.基于GPRS的无线数据传输模块的设计[J].信息通信,2009(2):48-50,63.
[4] 丁海峡,贾宝磊,倪远平.基于GPRS和ZigBee的精准农业模式研究[J].自动化仪表,2009,30(4):17-19,23.
[5] 陈旭.Ad Hoc网络系统中AODV协议算法的研究及实现[D].西安:西安电子科技大学,2010.
[6] 刘正良.基于信任的无线传感器网络及其AODV路由协议研究[D].南京:南京理工大学,2010.