陳子奇李 娜趙彩虹
(南京師范大學電氣與自動化工程學院,南京 210042)
基于Zigbee的無線集抄系統(tǒng)中的AODV路由算法優(yōu)化
陳子奇1李 娜2趙彩虹3
(南京師范大學電氣與自動化工程學院,南京 210042)
給出一個基于智能電表的無線抄表系統(tǒng)組網(wǎng)方案,研究了Zigbee無線抄表系統(tǒng)中的傳輸機制,對路由算法進行優(yōu)化。提出了AODVln算法定義新的路由判決方式,充分考慮了鏈路優(yōu)化,降低了路由成本,并可以避免大量數(shù)據(jù)包的丟失和傳輸延遲的急劇增加。經(jīng)實驗驗證,系統(tǒng)的功能、穩(wěn)定性、丟包率及系統(tǒng)響應速度等均滿足預期。
無線抄表;Zigbee網(wǎng)絡;路由優(yōu)化
在電力系統(tǒng)應用中,由于Zigbee系統(tǒng)省電、成本低、網(wǎng)絡容量大、時延短、安全可靠、工作頻率靈活等優(yōu)點,可以滿足無線抄表應用要求,可以對變電站內(nèi)工作人員,或者安全用具進行定位,可以監(jiān)控電廠溫度,電能質(zhì)量等重要指標以及生產(chǎn)環(huán)節(jié)的監(jiān)控。文獻[1-3]主要從組網(wǎng)及Zigbee網(wǎng)絡平臺開發(fā)的角度對于全網(wǎng)全功能的抄表系統(tǒng)進行設計與實現(xiàn),但是在網(wǎng)絡協(xié)議的實用性、網(wǎng)絡的自恢復能力以及系統(tǒng)能耗方面沒有詳細研究。文獻[5-7]把研究的中心放在網(wǎng)絡傳輸上,對于節(jié)點的調(diào)度、鏈路的選擇做了詳細說明,文獻[8-9]則從算法優(yōu)化的角度出發(fā)來解決基于Zigbee無線技術進行無線抄表中出現(xiàn)的問題,本文即針對現(xiàn)有的中繼路由算法的不足,提出了一種改進的 AODVin算法,通過對鏈路進行優(yōu)化從而降低路由成本,并提升通信質(zhì)量,為基于Zigbee的集中抄表系統(tǒng)的動態(tài)組網(wǎng)和通信可靠性提供了一種有效的方法。
抄表系統(tǒng)的框圖如圖1所示。

圖1 基于Zigbee的無線抄表系統(tǒng)框圖
結構有三個層次,依次為數(shù)據(jù)采集層,數(shù)據(jù)集中層和數(shù)據(jù)分析層。數(shù)據(jù)傳送的過程基于Zigbee網(wǎng)絡,遵循IEEE 802.15.4協(xié)議[4]。
Zigbee網(wǎng)絡有三種結構:星型、網(wǎng)狀和簇型。由于電能表的安裝位置是戶內(nèi),這樣的分布位置非常復雜,故而選擇網(wǎng)狀型拓撲結構,應用中,本文的路由算法配合網(wǎng)狀結構,實現(xiàn)自組織,自愈能力強的無線集抄系統(tǒng)。
2.1網(wǎng)絡組網(wǎng)
網(wǎng)絡拓撲結構中的網(wǎng)狀形,能實現(xiàn)P2P通信。基于采集點分布復雜的特點,簇型拓撲在傳輸數(shù)據(jù)的發(fā)生堵塞的機會比較多,同時有些采集點可能臨時出現(xiàn)障礙物的阻擋,使得通信不暢通,那么采集無法完成,所以使用更靈活的網(wǎng)狀結構。網(wǎng)狀結構需要終端節(jié)點具有更多的功能,以及更多的路由算法選擇時間,在構建網(wǎng)狀模型的基礎上,亦可建立節(jié)點調(diào)度分化策略。本文使用的智能電表具有更強大的功能,可以勝任終端節(jié)點的功能。同時,本文設計的路由算法針對集抄應用,使用智能策略來完成高效路由功能。圖2所示為網(wǎng)狀網(wǎng)絡結構,不論是從網(wǎng)絡拓撲結構還是從路由方式來看,都可以認為星形網(wǎng)絡和樹形網(wǎng)絡是網(wǎng)狀網(wǎng)絡的一個特殊子集,而本文的集抄系統(tǒng)恰好是利用網(wǎng)狀結構的這個特點對應用戶分布的復雜性。

圖2 網(wǎng)狀網(wǎng)絡構架
本結構具有如下特點:
(1)適用于不同分布的用戶情況。
(2)當節(jié)點傳遞信號被阻擋(信號弱),可迅速重組網(wǎng)絡、自組織,自修復能力強。
(3)成本低,使用較少的全功能節(jié)點(FFD)。
(4)終端節(jié)點是具有采集、中繼功能的RFD。
2.2AODVln改進路由算法
路由協(xié)議是Zigbee的網(wǎng)絡核心,是節(jié)點之間進行通信而采用的協(xié)議,主要由路由算法實現(xiàn)。由于網(wǎng)絡節(jié)點的復雜性,網(wǎng)絡拓撲可動態(tài)改變,路由算法既要滿足動態(tài)路由的要求,同時也要簡單高效并控制開銷[9]。本文針對傳統(tǒng)的AODV路由算法加以改進,使其適合于集抄系統(tǒng)。AODV算法在進行路由選擇的時候存在一定的缺陷,AODV的路由選擇總是會尋找最短的路徑和最少的跳數(shù)來進行傳遞,這種理論在有線的環(huán)境中可以迅速建立起一條比較好的路徑,但是當處在無線網(wǎng)絡環(huán)境中時,這種基于最小跳數(shù)的尋徑路由算法就會存在網(wǎng)絡堵塞以及控制開銷過大的問題,這是因為我們通常定義的最短路徑算法的路由選擇是以源節(jié)點到目的節(jié)點的跳數(shù)為標準的[10],路徑又不一定是跳數(shù)最小的路徑,主要有以下幾點原因:
(1)跳數(shù)最少并一定路徑最優(yōu),有可能是信號強度低引起的。
(2)跳數(shù)最少并不意味節(jié)點最空閑,容易堵塞,缺乏對網(wǎng)絡狀態(tài)繁忙程度的判斷和鏈路調(diào)整機制。
(3)當源節(jié)點收到多條來自不同路徑的RREP時,通過比較消息中的節(jié)點序號來選擇路由,在序列號相同的情況下,根據(jù)跳數(shù)信息來確定路由,這樣會加劇網(wǎng)絡中負荷分布不均勻。
針對集抄系統(tǒng)網(wǎng)絡節(jié)點相對穩(wěn)定、數(shù)據(jù)可靠性能要求高、安全、高效、開銷小的特點,改進的路由算法是使用 AODVin算法去發(fā)現(xiàn)路由,這樣節(jié)點就可以不按照父子關系而直接發(fā)送信息到其通信范圍內(nèi)的其他具有路由功能的節(jié)點。結合路由開銷實際定義一個節(jié)點開銷函數(shù),選擇一條節(jié)點電池開銷之和最小的路徑作為最佳路由,運用算法表示為:設節(jié)點ni的剩余能量為Ei,則節(jié)點ni的開銷函數(shù)為

隨著節(jié)點能量的下降,節(jié)點的開銷函數(shù)值將變大,假設從源節(jié)點到目的節(jié)點共有 j個節(jié)點,則路由總開銷,即

由此很容易得到最小的開銷路由滿足:

在這些不同的路徑中,上述的函數(shù)值越小,就表示節(jié)點對于參與數(shù)據(jù)分組的轉發(fā)會表示出較高的意愿程度。本文策略如圖 3所示,算法命名為AODVin,例如源節(jié)點l和目的節(jié)點5進行通信,假如中間節(jié)點3有節(jié)點5的路由信息,那么AODV算法在處理路由信息時將會直接回復 RREP,但是用改進后的算法來處理時,因為節(jié)點3并不是目的節(jié)點,所以不論節(jié)點3是不是包含節(jié)點5的路由信息,它都不會回復 RREP,這樣一來,路由發(fā)現(xiàn)的過程就會大大簡化,迭代的次數(shù)也會相應的減少,從而實現(xiàn)控制開銷的減小。

圖3 算法優(yōu)化前后路由發(fā)現(xiàn)的過程比較
2.3AODVln改進算法的路由維護
在網(wǎng)絡的初始化過程中,找到的路由信息需要被保存,在抄表的時刻激活網(wǎng)絡,首先使用這個路由信息表,因為一旦網(wǎng)絡布好,相對靜態(tài)的抄表系統(tǒng)沒必要經(jīng)常更新路由表,只有當某些端點被阻攔,老的鏈路無法通信,這時候再更新路由表,事先把端點信息保存在臨近節(jié)點中,更新的時候,查詢初始的路由信息找到包含需要更新端點的路由表,然后更新此端點的路由信息,通過新的路由信息,建立鏈路,傳遞信息。

圖4 AODVln和AODV算法的路由維護比較
當初始路由的時候,節(jié)點5無法發(fā)現(xiàn),這時候利用節(jié)點4包含節(jié)點5的路由信息,從節(jié)點4恢復了節(jié)點5的鏈路。這個預存的路由信息是在初始化的時候建立的,每個端節(jié)點都把本節(jié)點信息存放在最近兩個節(jié)點上[10]。

圖5 RN+節(jié)點路由流程圖
圖6給出了改進算法后的數(shù)據(jù)傳遞過程,由圖中信息可以定義由節(jié)點1至節(jié)點9、節(jié)點6向節(jié)點3兩組傳遞信息,路由發(fā)現(xiàn)的過程即如圖4所示,但是有所區(qū)別的是:即使中間節(jié)點存在到目的節(jié)點的路由,例如圖中的節(jié)點4,這個時候也不回復RREP,并且只會按照圖6的過程來存儲各個節(jié)點間的鏈路開銷,對于跳數(shù)信息路由表并不會存儲,之后即選擇成本最優(yōu)路徑來進行數(shù)據(jù)傳遞。當節(jié)點4需要對兩組RREQ進行處理時,很可能會出現(xiàn)過載的情況,一旦節(jié)點4過載,路徑2的路由成本就會大大增加,盡管此時路徑2的跳數(shù)與路徑1相比存在優(yōu)勢,但是由于路由成本的增加會導致沿著路徑1傳遞的信息會比路徑 2更快到達節(jié)點 9。由此可以發(fā)現(xiàn):改進以后的算法會在節(jié)點選擇路徑之前進行鏈路開銷的比較,從而在節(jié)點出現(xiàn)過載的情況下可以尋求路徑的最優(yōu)解。在AODV算法中只是單純地考慮路由的最小跳數(shù),而在改進后的AODVln算法中,優(yōu)先考慮路由速度最快的路徑,巧妙地忽略路由的跳數(shù),在相對靜態(tài)的端節(jié)點間多跳一次遠比搜索路由信息的開銷小。在跳數(shù)最少路徑上某些中間節(jié)點出現(xiàn)嚴重過載的情況時,如果繼續(xù)選擇使用該路徑進行路由,那么將選擇其他鏈路質(zhì)量較好的路徑,這樣就可以避免導致大量數(shù)據(jù)包的丟失和傳輸延遲的急劇增加。

圖6 AODVln算法的數(shù)據(jù)傳遞過圖
2.4AODVin改進算法與當前路由算法的比較
在Zigbee無線網(wǎng)絡中,根據(jù)路由容量的有無可以將節(jié)點分成兩種類型;對于路由器和協(xié)調(diào)器來說,它們由FFD全功能設備組成,是有路由容量的,而樹簇拓撲Zigbee是沒有路由容量的,因為其終端設備通常是RFD精簡設備。在樹簇型拓撲網(wǎng)絡中,為了規(guī)避各自路由算法的局限性,通常會采用多種路由算法相結合的方法,一般來說,對于節(jié)點靜止或移動相對較小的場合,會采用Cluster-tree與AODV算法相結合的路由算法,在使用過程中會根據(jù)節(jié)能、應用的方便性等因素來對路由算法進行一些簡化,但保留基本的原始功能。由此產(chǎn)生了路由的三種模式:禁止路由模式、使能路由模式和強制路由模式,模式定義的具體根據(jù)在于路由尋徑的方式和采用的路由算法。本文中的 AODVin算法會綜合考慮節(jié)點的深度、能量和負載情況,對尋徑方式和負載均衡進行優(yōu)化,在路由中斷后會自動尋找次優(yōu)路徑,并建立帶有優(yōu)先級的多條備份路由,這樣就能有效的減小網(wǎng)絡能耗,平衡網(wǎng)絡負載,提高路由傳送路徑的鏈路質(zhì)量。
本文組建簡單的網(wǎng)狀網(wǎng)絡,由三個傳感器板和一個控制板組成,控制板人為的設定作為協(xié)調(diào)器節(jié)點,其他三個板子作為子節(jié)點。利用板子上的溫度傳感器來模擬采集到的電量數(shù)據(jù),傳遞到控制板,然后通過串口等效有線網(wǎng)絡顯示在電腦上等效為數(shù)據(jù)中心。
實現(xiàn)了四個節(jié)點的網(wǎng)狀結構,由區(qū)域集中器接收到來自各用戶的智能電表傳送的數(shù)據(jù)后,經(jīng)過多跳的方式,最終傳送到中心集中器。將完成中心集中器功能的節(jié)點A與一臺PC的串口相連,使用串口調(diào)試助手,觀察數(shù)據(jù)傳送的結果。同時也觀察區(qū)域集中器功能節(jié)點B和數(shù)據(jù)采集節(jié)點C的數(shù)據(jù)來監(jiān)控數(shù)據(jù)傳送結果。為實現(xiàn)大規(guī)模Zigbee組網(wǎng)打下基礎。
1)網(wǎng)絡測試,主要針對包括路由測試,節(jié)點加入、重新組網(wǎng)及使用中網(wǎng)絡拓撲結構的變化測試。
實驗證明:中心集中器可以順利的完成新網(wǎng)絡的建立,區(qū)域集中器也可以順利加入網(wǎng)絡并進行數(shù)據(jù)的傳遞,同時可以保持很高的精度,端節(jié)點C也能采用多跳的方式來完成區(qū)域集中器和中心集中器之間的數(shù)據(jù)傳遞。

圖7 A、B、C三種類型節(jié)點成功組網(wǎng)并進行數(shù)據(jù)傳送

圖8 A正常、B沒電、C被阻擋后網(wǎng)絡重組的數(shù)據(jù)傳送結果

圖9 調(diào)試器及Zigbee模塊

圖10 模塊間通信后的調(diào)試截圖
2)算法收斂性分析,對一個矩形區(qū)域內(nèi)隨機分布50個節(jié)點,分別用兩種算法進行仿真,可以發(fā)現(xiàn):兩種算法經(jīng)過一定的次數(shù)迭代后均收斂到最優(yōu)路徑,但是AODV算法(對應圖中ACA)經(jīng)過23次迭代后收斂到最優(yōu)路徑,而改進后的 AODVin算法對應圖中(I-A)經(jīng)過 16次迭代即可,而且避開了嚴重過載的中間節(jié)點,效率非常高。
3)通信質(zhì)量測試,主要包括傳輸距離,丟包、誤碼率測試和網(wǎng)絡自愈能力的測試。
圖 13給出通信質(zhì)量測試圖,實驗采用 cc2530開發(fā)套件,芯片小功率模塊室外傳輸距離為100m,大功率模塊為 1km。首先對傳輸距離及通信速率進行測試(通信速率使用Transmit App進行測試)。

圖11 AODVin尋優(yōu)結果

圖12 AODVin仿真結果

圖13 實驗截圖
對于傳輸距離經(jīng)測試發(fā)現(xiàn)穿墻距離均值為35cm,穿墻后傳輸距離均值為42m,而空曠傳輸距離均值為 85m,因為存在干擾,所以實測均低于理論值。在保證外部條件相同的情況下對于兩種不同算法通信速率測試結果見表 1和表 2(測試均為協(xié)調(diào)器向由器發(fā)送)。

表1 改進前通信速率

表2 改進后通信速率
上表結果表明:使用改進 AODVin改進算法能夠有效的改善通信質(zhì)量,提升通信速率。之后對丟包率進行測試,使用ATKKPING進行網(wǎng)絡丟包率測試,對 1000字節(jié)進行發(fā)送,發(fā)送頻率為 1ms/次,分別對改進前后的接收字節(jié)數(shù)進行測量,測試結果如下所示。

表3 改進前丟包率

表4 改進后丟包率
之后對誤碼率進行測試,采用相鄰的四信道干預,對于每個實驗節(jié)點進行1000組通信,得到通信誤碼率均可以保持在萬分之二以下,所以即使信號強度不高,數(shù)據(jù)的準確性仍然可以得到保障。
成熟的抄表系統(tǒng)要有著良好的自愈能力來進行保障,所以要對網(wǎng)絡的自愈能力進行測試,測試方法如下:
在保證其他條件基本不變的情況下動態(tài)移動一個節(jié)點到網(wǎng)絡傳輸范圍以外(實際系統(tǒng)中對應節(jié)點被阻攔),節(jié)點與網(wǎng)絡斷開,再移動到網(wǎng)絡傳輸范圍以內(nèi),可以看到節(jié)點又成功加入網(wǎng)絡。經(jīng)過多次反復試驗,發(fā)現(xiàn)節(jié)點始終可以在移動到傳輸范圍內(nèi)就加入網(wǎng)絡,所以可以證明節(jié)點能夠動態(tài)加入網(wǎng)絡,具有良好的路由發(fā)現(xiàn)功能。
針對現(xiàn)有抄表系統(tǒng)存在的問題,并結合國內(nèi)外抄表系統(tǒng)的調(diào)研結果及工程需要,創(chuàng)新地對基于Zigbee的集中抄表中的路由算法進行優(yōu)化,并具體實現(xiàn)了網(wǎng)絡傳輸部分的所有功能。經(jīng)實驗驗證了方案設計的可行性。基于一款新的智能電表芯片具有的無線網(wǎng)絡功能,設計了集抄系統(tǒng)的整體框架和網(wǎng)絡結構,給出針對這一類智能芯片的組網(wǎng)方案和AODVin改進路由算法,實現(xiàn)了基于 Zigbee網(wǎng)絡進行無線抄表的功能。結果表明系統(tǒng)的各項功能都達到了預期的要求,穩(wěn)定性、丟包率、系統(tǒng)響應速度等都能滿足實際的需求。本系統(tǒng)還具有良好的可移植性和擴展性,可以很方便的進行功能擴充。
[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無線組網(wǎng)技術的研究[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] 底欣, 張百海. 一類異類無線傳感器網(wǎng)絡節(jié)點調(diào)度問題研究[J]. 儀器儀表學報, 2011, 32(6): 1364-1370.
[8] 周陽, 吳寧, 葛芬, 等. 基于2D Mesh的負向優(yōu)先容錯路由算法研究[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-),男,現(xiàn)為南京師范大學電氣與自動化工程學院研究生,主要研究方向為電力設備故障診斷及在線監(jiān)測。