基于Zigbee的无线集抄系统中的AODV路由算法优化
2016-09-10陈子奇李娜赵彩虹
陈子奇李 娜赵彩虹
(南京师范大学电气与自动化工程学院,南京 210042)
基于Zigbee的无线集抄系统中的AODV路由算法优化
陈子奇1李 娜2赵彩虹3
(南京师范大学电气与自动化工程学院,南京 210042)
给出一个基于智能电表的无线抄表系统组网方案,研究了Zigbee无线抄表系统中的传输机制,对路由算法进行优化。提出了AODVln算法定义新的路由判决方式,充分考虑了链路优化,降低了路由成本,并可以避免大量数据包的丢失和传输延迟的急剧增加。经实验验证,系统的功能、稳定性、丢包率及系统响应速度等均满足预期。
无线抄表;Zigbee网络;路由优化
在电力系统应用中,由于Zigbee系统省电、成本低、网络容量大、时延短、安全可靠、工作频率灵活等优点,可以满足无线抄表应用要求,可以对变电站内工作人员,或者安全用具进行定位,可以监控电厂温度,电能质量等重要指标以及生产环节的监控。文献[1-3]主要从组网及Zigbee网络平台开发的角度对于全网全功能的抄表系统进行设计与实现,但是在网络协议的实用性、网络的自恢复能力以及系统能耗方面没有详细研究。文献[5-7]把研究的中心放在网络传输上,对于节点的调度、链路的选择做了详细说明,文献[8-9]则从算法优化的角度出发来解决基于Zigbee无线技术进行无线抄表中出现的问题,本文即针对现有的中继路由算法的不足,提出了一种改进的 AODVin算法,通过对链路进行优化从而降低路由成本,并提升通信质量,为基于Zigbee的集中抄表系统的动态组网和通信可靠性提供了一种有效的方法。
1 基于Zigbee的无线抄表系统模型
抄表系统的框图如图1所示。
图1 基于Zigbee的无线抄表系统框图
结构有三个层次,依次为数据采集层,数据集中层和数据分析层。数据传送的过程基于Zigbee网络,遵循IEEE 802.15.4协议[4]。
2 Zigbee组网及路由策略
Zigbee网络有三种结构:星型、网状和簇型。由于电能表的安装位置是户内,这样的分布位置非常复杂,故而选择网状型拓扑结构,应用中,本文的路由算法配合网状结构,实现自组织,自愈能力强的无线集抄系统。
2.1网络组网
网络拓扑结构中的网状形,能实现P2P通信。基于采集点分布复杂的特点,簇型拓扑在传输数据的发生堵塞的机会比较多,同时有些采集点可能临时出现障碍物的阻挡,使得通信不畅通,那么采集无法完成,所以使用更灵活的网状结构。网状结构需要终端节点具有更多的功能,以及更多的路由算法选择时间,在构建网状模型的基础上,亦可建立节点调度分化策略。本文使用的智能电表具有更强大的功能,可以胜任终端节点的功能。同时,本文设计的路由算法针对集抄应用,使用智能策略来完成高效路由功能。图2所示为网状网络结构,不论是从网络拓扑结构还是从路由方式来看,都可以认为星形网络和树形网络是网状网络的一个特殊子集,而本文的集抄系统恰好是利用网状结构的这个特点对应用户分布的复杂性。
图2 网状网络构架
本结构具有如下特点:
(1)适用于不同分布的用户情况。
(2)当节点传递信号被阻挡(信号弱),可迅速重组网络、自组织,自修复能力强。
(3)成本低,使用较少的全功能节点(FFD)。
(4)终端节点是具有采集、中继功能的RFD。
2.2AODVln改进路由算法
路由协议是Zigbee的网络核心,是节点之间进行通信而采用的协议,主要由路由算法实现。由于网络节点的复杂性,网络拓扑可动态改变,路由算法既要满足动态路由的要求,同时也要简单高效并控制开销[9]。本文针对传统的AODV路由算法加以改进,使其适合于集抄系统。AODV算法在进行路由选择的时候存在一定的缺陷,AODV的路由选择总是会寻找最短的路径和最少的跳数来进行传递,这种理论在有线的环境中可以迅速建立起一条比较好的路径,但是当处在无线网络环境中时,这种基于最小跳数的寻径路由算法就会存在网络堵塞以及控制开销过大的问题,这是因为我们通常定义的最短路径算法的路由选择是以源节点到目的节点的跳数为标准的[10],路径又不一定是跳数最小的路径,主要有以下几点原因:
(1)跳数最少并一定路径最优,有可能是信号强度低引起的。
(2)跳数最少并不意味节点最空闲,容易堵塞,缺乏对网络状态繁忙程度的判断和链路调整机制。
(3)当源节点收到多条来自不同路径的RREP时,通过比较消息中的节点序号来选择路由,在序列号相同的情况下,根据跳数信息来确定路由,这样会加剧网络中负荷分布不均匀。
针对集抄系统网络节点相对稳定、数据可靠性能要求高、安全、高效、开销小的特点,改进的路由算法是使用 AODVin算法去发现路由,这样节点就可以不按照父子关系而直接发送信息到其通信范围内的其他具有路由功能的节点。结合路由开销实际定义一个节点开销函数,选择一条节点电池开销之和最小的路径作为最佳路由,运用算法表示为:设节点ni的剩余能量为Ei,则节点ni的开销函数为
随着节点能量的下降,节点的开销函数值将变大,假设从源节点到目的节点共有 j个节点,则路由总开销,即
由此很容易得到最小的开销路由满足:
在这些不同的路径中,上述的函数值越小,就表示节点对于参与数据分组的转发会表示出较高的意愿程度。本文策略如图 3所示,算法命名为AODVin,例如源节点l和目的节点5进行通信,假如中间节点3有节点5的路由信息,那么AODV算法在处理路由信息时将会直接回复 RREP,但是用改进后的算法来处理时,因为节点3并不是目的节点,所以不论节点3是不是包含节点5的路由信息,它都不会回复 RREP,这样一来,路由发现的过程就会大大简化,迭代的次数也会相应的减少,从而实现控制开销的减小。
图3 算法优化前后路由发现的过程比较
2.3AODVln改进算法的路由维护
在网络的初始化过程中,找到的路由信息需要被保存,在抄表的时刻激活网络,首先使用这个路由信息表,因为一旦网络布好,相对静态的抄表系统没必要经常更新路由表,只有当某些端点被阻拦,老的链路无法通信,这时候再更新路由表,事先把端点信息保存在临近节点中,更新的时候,查询初始的路由信息找到包含需要更新端点的路由表,然后更新此端点的路由信息,通过新的路由信息,建立链路,传递信息。
图4 AODVln和AODV算法的路由维护比较
当初始路由的时候,节点5无法发现,这时候利用节点4包含节点5的路由信息,从节点4恢复了节点5的链路。这个预存的路由信息是在初始化的时候建立的,每个端节点都把本节点信息存放在最近两个节点上[10]。
图5 RN+节点路由流程图
图6给出了改进算法后的数据传递过程,由图中信息可以定义由节点1至节点9、节点6向节点3两组传递信息,路由发现的过程即如图4所示,但是有所区别的是:即使中间节点存在到目的节点的路由,例如图中的节点4,这个时候也不回复RREP,并且只会按照图6的过程来存储各个节点间的链路开销,对于跳数信息路由表并不会存储,之后即选择成本最优路径来进行数据传递。当节点4需要对两组RREQ进行处理时,很可能会出现过载的情况,一旦节点4过载,路径2的路由成本就会大大增加,尽管此时路径2的跳数与路径1相比存在优势,但是由于路由成本的增加会导致沿着路径1传递的信息会比路径 2更快到达节点 9。由此可以发现:改进以后的算法会在节点选择路径之前进行链路开销的比较,从而在节点出现过载的情况下可以寻求路径的最优解。在AODV算法中只是单纯地考虑路由的最小跳数,而在改进后的AODVln算法中,优先考虑路由速度最快的路径,巧妙地忽略路由的跳数,在相对静态的端节点间多跳一次远比搜索路由信息的开销小。在跳数最少路径上某些中间节点出现严重过载的情况时,如果继续选择使用该路径进行路由,那么将选择其他链路质量较好的路径,这样就可以避免导致大量数据包的丢失和传输延迟的急剧增加。
图6 AODVln算法的数据传递过图
2.4AODVin改进算法与当前路由算法的比较
在Zigbee无线网络中,根据路由容量的有无可以将节点分成两种类型;对于路由器和协调器来说,它们由FFD全功能设备组成,是有路由容量的,而树簇拓扑Zigbee是没有路由容量的,因为其终端设备通常是RFD精简设备。在树簇型拓扑网络中,为了规避各自路由算法的局限性,通常会采用多种路由算法相结合的方法,一般来说,对于节点静止或移动相对较小的场合,会采用Cluster-tree与AODV算法相结合的路由算法,在使用过程中会根据节能、应用的方便性等因素来对路由算法进行一些简化,但保留基本的原始功能。由此产生了路由的三种模式:禁止路由模式、使能路由模式和强制路由模式,模式定义的具体根据在于路由寻径的方式和采用的路由算法。本文中的 AODVin算法会综合考虑节点的深度、能量和负载情况,对寻径方式和负载均衡进行优化,在路由中断后会自动寻找次优路径,并建立带有优先级的多条备份路由,这样就能有效的减小网络能耗,平衡网络负载,提高路由传送路径的链路质量。
3 实验验证
本文组建简单的网状网络,由三个传感器板和一个控制板组成,控制板人为的设定作为协调器节点,其他三个板子作为子节点。利用板子上的温度传感器来模拟采集到的电量数据,传递到控制板,然后通过串口等效有线网络显示在电脑上等效为数据中心。
实现了四个节点的网状结构,由区域集中器接收到来自各用户的智能电表传送的数据后,经过多跳的方式,最终传送到中心集中器。将完成中心集中器功能的节点A与一台PC的串口相连,使用串口调试助手,观察数据传送的结果。同时也观察区域集中器功能节点B和数据采集节点C的数据来监控数据传送结果。为实现大规模Zigbee组网打下基础。
1)网络测试,主要针对包括路由测试,节点加入、重新组网及使用中网络拓扑结构的变化测试。
实验证明:中心集中器可以顺利的完成新网络的建立,区域集中器也可以顺利加入网络并进行数据的传递,同时可以保持很高的精度,端节点C也能采用多跳的方式来完成区域集中器和中心集中器之间的数据传递。
图7 A、B、C三种类型节点成功组网并进行数据传送
图8 A正常、B没电、C被阻挡后网络重组的数据传送结果
图9 调试器及Zigbee模块
图10 模块间通信后的调试截图
2)算法收敛性分析,对一个矩形区域内随机分布50个节点,分别用两种算法进行仿真,可以发现:两种算法经过一定的次数迭代后均收敛到最优路径,但是AODV算法(对应图中ACA)经过23次迭代后收敛到最优路径,而改进后的 AODVin算法对应图中(I-A)经过 16次迭代即可,而且避开了严重过载的中间节点,效率非常高。
3)通信质量测试,主要包括传输距离,丢包、误码率测试和网络自愈能力的测试。
图 13给出通信质量测试图,实验采用 cc2530开发套件,芯片小功率模块室外传输距离为100m,大功率模块为 1km。首先对传输距离及通信速率进行测试(通信速率使用Transmit App进行测试)。
图11 AODVin寻优结果
图12 AODVin仿真结果
图13 实验截图
对于传输距离经测试发现穿墙距离均值为35cm,穿墙后传输距离均值为42m,而空旷传输距离均值为 85m,因为存在干扰,所以实测均低于理论值。在保证外部条件相同的情况下对于两种不同算法通信速率测试结果见表 1和表 2(测试均为协调器向由器发送)。
表1 改进前通信速率
表2 改进后通信速率
上表结果表明:使用改进 AODVin改进算法能够有效的改善通信质量,提升通信速率。之后对丢包率进行测试,使用ATKKPING进行网络丢包率测试,对 1000字节进行发送,发送频率为 1ms/次,分别对改进前后的接收字节数进行测量,测试结果如下所示。
表3 改进前丢包率
表4 改进后丢包率
之后对误码率进行测试,采用相邻的四信道干预,对于每个实验节点进行1000组通信,得到通信误码率均可以保持在万分之二以下,所以即使信号强度不高,数据的准确性仍然可以得到保障。
成熟的抄表系统要有着良好的自愈能力来进行保障,所以要对网络的自愈能力进行测试,测试方法如下:
在保证其他条件基本不变的情况下动态移动一个节点到网络传输范围以外(实际系统中对应节点被阻拦),节点与网络断开,再移动到网络传输范围以内,可以看到节点又成功加入网络。经过多次反复试验,发现节点始终可以在移动到传输范围内就加入网络,所以可以证明节点能够动态加入网络,具有良好的路由发现功能。
4 结论
针对现有抄表系统存在的问题,并结合国内外抄表系统的调研结果及工程需要,创新地对基于Zigbee的集中抄表中的路由算法进行优化,并具体实现了网络传输部分的所有功能。经实验验证了方案设计的可行性。基于一款新的智能电表芯片具有的无线网络功能,设计了集抄系统的整体框架和网络结构,给出针对这一类智能芯片的组网方案和AODVin改进路由算法,实现了基于 Zigbee网络进行无线抄表的功能。结果表明系统的各项功能都达到了预期的要求,稳定性、丢包率、系统响应速度等都能满足实际的需求。本系统还具有良好的可移植性和扩展性,可以很方便的进行功能扩充。
[1] Liu Zhao, Cui Xiaoyan, Chen Mengxiao. The design and implement of automated transfer based on tiny OS[C]//Proceeding of 2009 3rd IEEE International Symposium on Microwave: ieee press, 2009: 768-770.
[2] 周武斌. Zigbee无线组网技术的研究[D]. 长沙: 中南大学, 2009.
[3] Shen Lin, Shi xiangquan, Ling Ming. A wireless network based on the combination of Zigbee and GPRS[J]. Networking, Sensing and Control, 2008. ICNSC 2008. IEEE International Conference. 2008, 4:267-270
[4] K. Selvarajah, A. Tully, ET. Blythe. Zigbee for Intelligent Transport System Applications[J]. Road Transport Information and Control—RTIC 2008 and ITS United Kingdom MenberS Conference, IET. 2008, 5: 1-7
[5] S. Singh, M. Woo, C. S. Raghavendra. Power-aware routing in mobile ad-hoc networks[C]//Proceedings of the fourth annual ACM/IEEE international conference on Mobile computing and networking 2007, 1: 81-190.
[6] Jay Hendrix, Jim Kohl. Zigbee Overview. Zigbee Control your world[J]. Commercial Building Automation Marketing Group Zigbee Alliance. 2009, 3:52-63.
[7] 底欣, 张百海. 一类异类无线传感器网络节点调度问题研究[J]. 仪器仪表学报, 2011, 32(6): 1364-1370.
[8] 周阳, 吴宁, 葛芬, 等. 基于2D Mesh的负向优先容错路由算法研究[J]. 南京师范大学学报(工程技术版), 2012, 12(3): 76-79.
[9] F.V.C Martins, E.G. Carrano, E. F. Wanner et al. A Hybrid Multi objective Evolutionary Approach for Improving the Performance of Wireless sensor Networks[J]. IEEE SENSROS JOURNAL, Vol.11,No.3, 2011. pp: 545-554.
[10] Li Na, Zhang Ying, Cheng Jihong. A wireless bus circle network structure for wireless sensor networks[J]. JCIT, 2013, 8(10): 1218-1227.
Optimization Algorithmin the Zigbee Wireless Set Copy System
Chen Ziqi1Li Na2Zhao Caihong3
(School of Electrical and Automation Engineering, Nanjing Normal University, Nanjing 210042)
Based on smart meter network scheme, a wireless meter reading system is proposed. Transmission mechanism and routing algorithm have been researched in the Zigbee wireless meter reading system. AODVin algorithm is proposed to define new routing ruling way. The link optimization,reduces the routing cost, and can avoid the loss of a large number of data packets and the rapid increase of transmission delay were all taken into consideration. By experimental verification, the function of the system, stability, packet loss rate and the system response speed can achieve the expectations.
wireless meter reading;Zigbee network;routing optimization
陈子奇(1992-),男,现为南京师范大学电气与自动化工程学院研究生,主要研究方向为电力设备故障诊断及在线监测。