楊陽等
摘 要:研究、分析了ZigBee網絡的組網過程及其路由算法。首先針對污水水質監測這一特殊的應用場景,闡述了當前實際工程應用的方案及ZigBee網絡在水質監測中的作用;其次根據污水處理實際,分析了現有的ZigBee路由算法,然后提出了一種基于無線傳感器網絡的污水處理路由方法;最后利用NS2仿真軟件對實際應用中ZigBee無線網絡在污水處理的路由機制作了仿真分析。
關鍵詞:ZigBee網絡;路由算法;污水處理;NS2仿真軟件
中圖分類號:TP277.2 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2015.20.011
1 概述
隨著科技的發展和人們生活水平的提高,物聯網技術越來越受到社會的廣泛關注。ZigBee作為物聯網的一項關鍵技術,存在許多優勢。ZigBee是一種短距離的、基于IEEE802.15.4無線通信標準的無線通訊技術,具有低價、低功耗、低復雜度、低速率、高可靠性等特點。ZigBee被各大通信公司和研究組織認為是未來幾年內最具潛力的無線通信技術,并且被廣泛應用于工業傳感控制及其自動化技術等方面。
目前,污水水質監測方法大多采用人工取樣實驗分析或者采用國外的水質在線監測方法。本文基于無線傳感器網絡水質監測系統,分析了無線收發模塊的路由方法,并結合現有ZigBee路由改進方法,提出一種基于無線傳感器網絡的污水處理路由方法。然后利用NS2仿真軟件,對現有的ZigBee網絡組網和路由過程進行了性能仿真分析。
2 污水處理無線傳感器網絡的系統結構
圖1 污水無線傳感器監控系統設計方案圖
首先介紹一種當前常用的水質監測系統。如圖1所示,整個系統由傳感器節點、匯聚節點、監測中心和遠程用戶控制中心組成。圖1中前端的大量無線傳感器節點分布在污水處理工廠的各個廠區,無線傳感器節點之間通過自組網的方式構成網絡收集傳輸信息,將需要的信息收集構成子站。目前,在大多數系統中,子站網絡內的數據可相互交換,但是子站間是互不通信的?;镜牧鞒虨椋簾o線傳感器節點從實際的場
景中收集監測數據,然后把收集到的數據發送到匯聚節點中。匯聚節點對收集到的信息融合處理后再發送到監測中心,遠程用戶可以在平臺中集中處理數據,對實時數據進行決策,并作出相關調節。
3 ZigBee技術路由機制
由ZigBee技術組成的無線個人網絡是一種低速率的網絡。ZigBee網絡有三種網絡拓撲結構,即星型、樹型和網狀拓撲。在ZigBee網絡中,將設備分成兩種不同物理類型的設備,即全功能設備(Full Function Device,FFD)和精簡功能設備(Reduce Function Device,RFD)。將網絡節點分為三種,即ZigBee協調器(ZC)、ZigBee路由節點(ZR)和ZigBee終端節點(ZED)。其中,ZigBee協調器和ZigBee路由節點屬于FFD,ZigBee終端節點屬于RFD。ZigBee協調器在IEEE802.15.4中被稱作“PAN協調器”,在無線網絡中被稱為“匯聚節點”。一個ZigBee網絡只有一個協調器,ZigBee協調器必須是FFD。
3.1 ZigBee網絡路由算法
ZigBee網絡路由算法是Cluster-Tree路由算法和AODVjr路由算法的混合算法。在ZigBee網絡路由算法中,將網絡中的節點分成RN+節點和RN-節點。RN+節點有路由發現功能,可以執行AODVjr算法;RN-節點沒有路由發現功能,只能執行簡單的Cluster-Tree算法。
3.1.1 Cluster-Tree路由算法
Cluster-Tree路由算法在Cluster-Tree協議中沒有路由表,它只能沿樹簇傳遞信息。在建立網絡時,該算法會通過樹型編址,給每個節點分配一個地址。當一個網絡深度為d、地址為A的FFD節點收到目的地址為D的分組數據時,首先對比自身網絡地址。如果自身為目的節點,直接回復。否則,判斷目的節點是否為自身的后代節點——如果是,則通過公式確定下一條地址;如果不是,將數據傳給A節點的父節點。
3.1.2 AODVjr路由算法
AODVjr路由算法是ZigBee聯盟在AODV協議的基礎上,根據ZigBee網絡節點的特點對AODV算法經過精簡的一種路由算法。AODV算法,即按需距離矢量路由協議。顧名思義,它就是一種基于目的節點地址發起路由發現的過程,從而找到目的節點的最佳路徑。它對每條路由添加了唯一的序列號,避免路由環路的出現。
AODVjr算法在發現路由的過程中需要廣播RREQ分組。然而,大多數RREQ分組是為了發現目的節點,最后被丟棄。這就不可避免地造成了能量消耗,導致節點能量下降。而Cluster-Tree算法由于沒有路由發現表,就不存在這類消耗,但是在一定的樹簇規模下,它會由于尋找路徑而將能量浪費在路由跳數上。綜上所述,兩種路由算法各有優勢,ZigBee網絡路由算法結合了以上兩種路由算法的優勢,具有一定的先進性。
3.2 ZigBee網絡路由改進算法
根據實際需要,廣大學者提出了類似于原始分簇協議的LEACH協議等分簇路由算法。由于ZigBee自身的組網和地址分配特點,原有的分簇協議不能被直接應用于ZigBee協議中?,F有的ZigBee分簇路由協議規定,只有協調器和路由節點能夠擔任簇首,協調器作為第一個簇首并且發起組網,限制相鄰簇首間的最大跳出數不超過2跳。ME-AODV路由算法和ZiCL路由算法是兩種典型的分簇路由算法。
4 基于無線傳感器網絡的污水處理路由方法
目前,路由協議有很多,從原則上來說,要設計一個適合所有場景的無線傳感器網絡的通用路由協議是不可能的。因此,我們要根據實際生產操作情況,對現有的路由協議進行改進。本文提出了一種基于ZigBee技術、基于分簇路由思想,在組網和路由階段類似于ZigBee的改進算法——ZiCL算法。根據ZigBee技術的網絡拓撲特點和組網順序,并結合污水處理中的具體處理流程,總結出以下幾點:①各個節點分布在水中。由于處理工藝的節點移動相對較小,可以認為網絡拓撲是靜態的。②根據處理流程,將污水處理分成若干個分區。③有節點入網和路由過程等多個因素。本文針對污水處理的實際情況,提出了一種基于ZigBee技術的分簇路由方法。
基于實際操作的需要,我們在每個分區中選擇一個控制器(控制器必須是路由節點),將這個控制器和ZigBee協調器用電源持續供電,并且規定,只有ZigBee和每個分區的控制器可以建立分區簇,這樣就可以避免節點死亡;對比一些分簇路由算法,免去了備用網關節點和簇首的輪換機制,這樣就減少了其他節點的能量消耗,提高了網絡的生存能力。在組網開始時,ZigBee協調器建立第一個分區,并且擔任簇首,同時廣播。其他各個分區控制器建立自己的分區,各個簇首根據簇標簽計算方法為每個分區分配一個簇標識,并提供簇標識的廣播機制,在分區內的節點自動加入分區所在的簇。協調器默認簇標識為0,簇首設置完成后,請求加入協調器的無線傳感器網絡,協調器按照ZigBee的分址方法,將網絡地址分配給每一個節點。每個分區的簇首會定期查詢路由節點的更新情況,發現有路由確認消息,就更新路由信息廣播,使簇內成員共享路由信息。這樣,在數據傳播時,就減少了大量的路由發現,同時也提高了網絡存活率。在傳輸數據時,與ZiCL算法相同,分別建立簇內路由和簇間路由,源節點通過目的節點的地址計算出所在分區的簇標識。如果與源節點在同一分區,則采用簇內路由,簇內路由采用Cluster-Tree路由算法;如果不在同一分區,則采用簇間路由。簇間路由是源節點發起路由發現的過程。首先尋找自身的路由表,如果路由表中有目的節點的地址,則通過路由表中的路徑傳播數據;如果無目的節點的地址,則發起簇間路由,使用AODV改進路由算法將鄰居表轉發,并將簇標識加入到路由協議,從而發現目的節點。在路由發現的同時,由于分簇標識代表了簇內所有節點,這在一定程度上減少了能量消耗。路由協議流程如圖2所示。
基于無線傳感器網絡的污水處理路由協議是在ZiCL路由的基礎上,將開始分簇階段的簇首固定為有電源供電的分區控制器節點。與一般的路由相比,這種路由的穩定性更好,同時不用擔心簇首會因為能量不足而退化,簡化了路由協議。在路由發現的過程中加入了鄰居表查詢和簇標識查詢,在路由發現的過程中減少了RREQ的發送,從另一個角度來說,減少了能量的消耗,優化了路由協議。
5 仿真分析
利用NS2軟件對ZigBee的網絡層進行仿真。首先設定仿真參數。本文將隨機數據流設定為5個和8個,在平均發包速率為0.5 packets/s的情況下,對每個場景中隨機產生的10~100個節點進行網絡仿真分析,并從分組投遞率、平均端到端時延兩個方面對仿真進行比較。所有的數據都是在網絡中獨立運行20次得到的平均數。主要仿真參數的設定如表1所示。
結果分析:仿真最后得到一個tr文件,通過AWK程序對它進行分析,下面是其中的一個片段:
r 8.411189177 _9_ MAC --- 13 cbr 90 [0 9 7 800] [energy 19.999596 ei 0.000 es 0.000 et 0.000 er 0.000]-------[7:2 9:0 30 9] [1] 1 0
節點9在8.411 189 177 s時發送一個cbr分組,分組的UID為13,分組長度為36,目的節點的MAC地址為9,源節點的MAC地址為0,源節點的IP地址為7節點的2號端口,目的節點的IP地址為9號節點的0端口,分組的TTL值為30.
5.1 分組投遞率
分組投遞率是目的節點總共接收到的數據分組個數與源節點總的數據分組發送之間的比值。分組投遞率是網絡可靠性的重要指標,它反映了數據投遞的成功率。數據流分別為5個和8個時得到的網絡分組遞交率狀況如圖3所示。
從圖3中可以看出,當網絡節點較少時,分組遞交率接近100%;而隨著網絡中節點數的增加,在不同的數據分組傳遞過程中,隨著路由跳數的增加和分組之間的碰撞,一些數據分組將會被丟棄或者失效,導致目的節點無法接收到數據分組,使分組遞交率下降。圖3中,8個數據流有一部分在5個數據流的上方。這是因為8個數據流中節點間發送的數據分組增多,雖然一定程度上失效的分組也在增加,但是比率相對穩定。如果節點增多,那么比率會下降得更快。
5.2 平均端到端時延
平均端到端時延是源節點發送數據包與目的節點成功接收數據包之間的差值。它反映了整個網絡在傳輸數據時的效率和網絡擁塞程度,是評價網絡通信質量的重要參數。圖4所示為平均端到端時延狀況。
從圖4中可以看出,隨著節點的增多,平均端到端時延越來越大。從ZigBee路由協議中分析得出,隨著數據分組的增多,路由的跳數也增多,隨之而來的就是網絡擁擠程度增加,最終導致平均端到端時延增大。此外,通過其他的仿真可知,平均端到端時延還與網絡分布的范圍大小有關——隨著網絡范圍的擴大,路由距離增加,數據分組的丟失率隨之增大,數據流的傳輸時延越來越大。
6 結束語
在這個科技飛速發展的時代,隨著新技術的層出不窮和市場發展空間的拓展,ZigBee技術被許多組織公司和學者認為是最適合傳感器接入端的短距離無線通訊技術。對ZigBee的研究為物聯網的實際應用和發展奠定了基礎。本文在污水處理無線傳感器網絡系統構架的基礎上,研究、闡述了ZigBee網絡的路由算法。同時,研究了ZigBee路由改進算法,并在改進算法的基礎上提出了一種依據實際處理污水的路由方法。通過固定簇首來減少網絡能量的消耗,可保證網絡的穩定性;采用簇間和簇內路由相結合的方法可簡化路由發現的過程,減少了RREQ的發送,也減少了網絡內部的冗余,進而提高網絡的整體性能。最后本文對現有無線傳感器網絡中應用到的ZigBee路由進行了仿真,并利用IEEE802.15.4的物理層和MAC層分析了仿真結果。比較一些網絡性能指標,剖析路由協議和仿真結果,具有一定的實際意義。
參考文獻
[1]Dimosthenis Kyriazisa,Theodora Varvarigou.Smart,Autonomous and Reliable Internet of Things[J].Procedia Computer Science,2013(21).
[2]鐘永春.ZigBee無線傳感器網絡[M].北京:北京郵電大學出版社,2011.
[3]J.Pedro Amaro,Rui Cortes?o,Fernando J.T.E.Ferreira,et al.Device and operation mechanism for non-beacon IEEE802.15.4/ZigBee nodes running on harvested energy[J].Ad hoc networks,2014(16).
[4]王輝.NS2網絡模擬器的原理和應用[M].西安:西北工業大學出版社,2011.
[5]柯志亨,鄧德雋.NS2仿真實驗:多媒體和無線網絡通信[D].北京:電子工業出版社,2009.
[6]Morell Antoni,Vicario Jose Lopez,Vilajosana Xavier,et al.Optimal rate allocation in cluster-tree WSNs[J]. Sensors,2011(4).
[7]Lalit Saraswat,Pankaj Singh Yadav,Rekha Rani.Adaptability of IEEE 802.15.4(ZigBee)Protocol for Wireless Sensor network[J].International Journal on Computer Science and Engineering,2010(3).
[8]Kulkarni V,Forster A,Venayagamoorthy G.Computational Intelligence in Wireless Sensor Networks:A survey[J].Communications Surveys & Tutorials,2010(99).
[9]K wang Koog Lee,Seong Hoon Kim,Yong Soon Choi.Hong Seong Park:A Mesh Routing Protoeol using Cluster Label in the ZigBee Network[J].Proceeding of IEEE International Conference on Mobile Adhoc and Sensor System, 2006(6).
[10]王芳.基于MESH結構的ZigBee網絡可靠路由算法[D].濟南:山東大學,2009.
[11]錢志洪,朱爽,王雪.基于分簇機制的ZigBee混合路由能量優化算法[J].計算機學報,2013(3).
〔編輯:劉曉芳〕