楊陽等
摘 要:研究、分析了ZigBee網(wǎng)絡(luò)的組網(wǎng)過程及其路由算法。首先針對(duì)污水水質(zhì)監(jiān)測(cè)這一特殊的應(yīng)用場(chǎng)景,闡述了當(dāng)前實(shí)際工程應(yīng)用的方案及ZigBee網(wǎng)絡(luò)在水質(zhì)監(jiān)測(cè)中的作用;其次根據(jù)污水處理實(shí)際,分析了現(xiàn)有的ZigBee路由算法,然后提出了一種基于無線傳感器網(wǎng)絡(luò)的污水處理路由方法;最后利用NS2仿真軟件對(duì)實(shí)際應(yīng)用中ZigBee無線網(wǎng)絡(luò)在污水處理的路由機(jī)制作了仿真分析。
關(guān)鍵詞:ZigBee網(wǎng)絡(luò);路由算法;污水處理;NS2仿真軟件
中圖分類號(hào):TP277.2 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2015.20.011
1 概述
隨著科技的發(fā)展和人們生活水平的提高,物聯(lián)網(wǎng)技術(shù)越來越受到社會(huì)的廣泛關(guān)注。ZigBee作為物聯(lián)網(wǎng)的一項(xiàng)關(guān)鍵技術(shù),存在許多優(yōu)勢(shì)。ZigBee是一種短距離的、基于IEEE802.15.4無線通信標(biāo)準(zhǔn)的無線通訊技術(shù),具有低價(jià)、低功耗、低復(fù)雜度、低速率、高可靠性等特點(diǎn)。ZigBee被各大通信公司和研究組織認(rèn)為是未來幾年內(nèi)最具潛力的無線通信技術(shù),并且被廣泛應(yīng)用于工業(yè)傳感控制及其自動(dòng)化技術(shù)等方面。
目前,污水水質(zhì)監(jiān)測(cè)方法大多采用人工取樣實(shí)驗(yàn)分析或者采用國外的水質(zhì)在線監(jiān)測(cè)方法。本文基于無線傳感器網(wǎng)絡(luò)水質(zhì)監(jiān)測(cè)系統(tǒng),分析了無線收發(fā)模塊的路由方法,并結(jié)合現(xiàn)有ZigBee路由改進(jìn)方法,提出一種基于無線傳感器網(wǎng)絡(luò)的污水處理路由方法。然后利用NS2仿真軟件,對(duì)現(xiàn)有的ZigBee網(wǎng)絡(luò)組網(wǎng)和路由過程進(jìn)行了性能仿真分析。
2 污水處理無線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)
圖1 污水無線傳感器監(jiān)控系統(tǒng)設(shè)計(jì)方案圖
首先介紹一種當(dāng)前常用的水質(zhì)監(jiān)測(cè)系統(tǒng)。如圖1所示,整個(gè)系統(tǒng)由傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)、監(jiān)測(cè)中心和遠(yuǎn)程用戶控制中心組成。圖1中前端的大量無線傳感器節(jié)點(diǎn)分布在污水處理工廠的各個(gè)廠區(qū),無線傳感器節(jié)點(diǎn)之間通過自組網(wǎng)的方式構(gòu)成網(wǎng)絡(luò)收集傳輸信息,將需要的信息收集構(gòu)成子站。目前,在大多數(shù)系統(tǒng)中,子站網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)可相互交換,但是子站間是互不通信的。基本的流程為:無線傳感器節(jié)點(diǎn)從實(shí)際的場(chǎng)
景中收集監(jiān)測(cè)數(shù)據(jù),然后把收集到的數(shù)據(jù)發(fā)送到匯聚節(jié)點(diǎn)中。匯聚節(jié)點(diǎn)對(duì)收集到的信息融合處理后再發(fā)送到監(jiān)測(cè)中心,遠(yuǎn)程用戶可以在平臺(tái)中集中處理數(shù)據(jù),對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行決策,并作出相關(guān)調(diào)節(jié)。
3 ZigBee技術(shù)路由機(jī)制
由ZigBee技術(shù)組成的無線個(gè)人網(wǎng)絡(luò)是一種低速率的網(wǎng)絡(luò)。ZigBee網(wǎng)絡(luò)有三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),即星型、樹型和網(wǎng)狀拓?fù)?。在ZigBee網(wǎng)絡(luò)中,將設(shè)備分成兩種不同物理類型的設(shè)備,即全功能設(shè)備(Full Function Device,F(xiàn)FD)和精簡功能設(shè)備(Reduce Function Device,RFD)。將網(wǎng)絡(luò)節(jié)點(diǎn)分為三種,即ZigBee協(xié)調(diào)器(ZC)、ZigBee路由節(jié)點(diǎn)(ZR)和ZigBee終端節(jié)點(diǎn)(ZED)。其中,ZigBee協(xié)調(diào)器和ZigBee路由節(jié)點(diǎn)屬于FFD,ZigBee終端節(jié)點(diǎn)屬于RFD。ZigBee協(xié)調(diào)器在IEEE802.15.4中被稱作“PAN協(xié)調(diào)器”,在無線網(wǎng)絡(luò)中被稱為“匯聚節(jié)點(diǎn)”。一個(gè)ZigBee網(wǎng)絡(luò)只有一個(gè)協(xié)調(diào)器,ZigBee協(xié)調(diào)器必須是FFD。
3.1 ZigBee網(wǎng)絡(luò)路由算法
ZigBee網(wǎng)絡(luò)路由算法是Cluster-Tree路由算法和AODVjr路由算法的混合算法。在ZigBee網(wǎng)絡(luò)路由算法中,將網(wǎng)絡(luò)中的節(jié)點(diǎn)分成RN+節(jié)點(diǎn)和RN-節(jié)點(diǎn)。RN+節(jié)點(diǎn)有路由發(fā)現(xiàn)功能,可以執(zhí)行AODVjr算法;RN-節(jié)點(diǎn)沒有路由發(fā)現(xiàn)功能,只能執(zhí)行簡單的Cluster-Tree算法。
3.1.1 Cluster-Tree路由算法
Cluster-Tree路由算法在Cluster-Tree協(xié)議中沒有路由表,它只能沿樹簇傳遞信息。在建立網(wǎng)絡(luò)時(shí),該算法會(huì)通過樹型編址,給每個(gè)節(jié)點(diǎn)分配一個(gè)地址。當(dāng)一個(gè)網(wǎng)絡(luò)深度為d、地址為A的FFD節(jié)點(diǎn)收到目的地址為D的分組數(shù)據(jù)時(shí),首先對(duì)比自身網(wǎng)絡(luò)地址。如果自身為目的節(jié)點(diǎn),直接回復(fù)。否則,判斷目的節(jié)點(diǎn)是否為自身的后代節(jié)點(diǎn)——如果是,則通過公式確定下一條地址;如果不是,將數(shù)據(jù)傳給A節(jié)點(diǎn)的父節(jié)點(diǎn)。
3.1.2 AODVjr路由算法
AODVjr路由算法是ZigBee聯(lián)盟在AODV協(xié)議的基礎(chǔ)上,根據(jù)ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)的特點(diǎn)對(duì)AODV算法經(jīng)過精簡的一種路由算法。AODV算法,即按需距離矢量路由協(xié)議。顧名思義,它就是一種基于目的節(jié)點(diǎn)地址發(fā)起路由發(fā)現(xiàn)的過程,從而找到目的節(jié)點(diǎn)的最佳路徑。它對(duì)每條路由添加了唯一的序列號(hào),避免路由環(huán)路的出現(xiàn)。
AODVjr算法在發(fā)現(xiàn)路由的過程中需要廣播RREQ分組。然而,大多數(shù)RREQ分組是為了發(fā)現(xiàn)目的節(jié)點(diǎn),最后被丟棄。這就不可避免地造成了能量消耗,導(dǎo)致節(jié)點(diǎn)能量下降。而Cluster-Tree算法由于沒有路由發(fā)現(xiàn)表,就不存在這類消耗,但是在一定的樹簇規(guī)模下,它會(huì)由于尋找路徑而將能量浪費(fèi)在路由跳數(shù)上。綜上所述,兩種路由算法各有優(yōu)勢(shì),ZigBee網(wǎng)絡(luò)路由算法結(jié)合了以上兩種路由算法的優(yōu)勢(shì),具有一定的先進(jìn)性。
3.2 ZigBee網(wǎng)絡(luò)路由改進(jìn)算法
根據(jù)實(shí)際需要,廣大學(xué)者提出了類似于原始分簇協(xié)議的LEACH協(xié)議等分簇路由算法。由于ZigBee自身的組網(wǎng)和地址分配特點(diǎn),原有的分簇協(xié)議不能被直接應(yīng)用于ZigBee協(xié)議中。現(xiàn)有的ZigBee分簇路由協(xié)議規(guī)定,只有協(xié)調(diào)器和路由節(jié)點(diǎn)能夠擔(dān)任簇首,協(xié)調(diào)器作為第一個(gè)簇首并且發(fā)起組網(wǎng),限制相鄰簇首間的最大跳出數(shù)不超過2跳。ME-AODV路由算法和ZiCL路由算法是兩種典型的分簇路由算法。
4 基于無線傳感器網(wǎng)絡(luò)的污水處理路由方法
目前,路由協(xié)議有很多,從原則上來說,要設(shè)計(jì)一個(gè)適合所有場(chǎng)景的無線傳感器網(wǎng)絡(luò)的通用路由協(xié)議是不可能的。因此,我們要根據(jù)實(shí)際生產(chǎn)操作情況,對(duì)現(xiàn)有的路由協(xié)議進(jìn)行改進(jìn)。本文提出了一種基于ZigBee技術(shù)、基于分簇路由思想,在組網(wǎng)和路由階段類似于ZigBee的改進(jìn)算法——ZiCL算法。根據(jù)ZigBee技術(shù)的網(wǎng)絡(luò)拓?fù)涮攸c(diǎn)和組網(wǎng)順序,并結(jié)合污水處理中的具體處理流程,總結(jié)出以下幾點(diǎn):①各個(gè)節(jié)點(diǎn)分布在水中。由于處理工藝的節(jié)點(diǎn)移動(dòng)相對(duì)較小,可以認(rèn)為網(wǎng)絡(luò)拓?fù)涫庆o態(tài)的。②根據(jù)處理流程,將污水處理分成若干個(gè)分區(qū)。③有節(jié)點(diǎn)入網(wǎng)和路由過程等多個(gè)因素。本文針對(duì)污水處理的實(shí)際情況,提出了一種基于ZigBee技術(shù)的分簇路由方法。
基于實(shí)際操作的需要,我們?cè)诿總€(gè)分區(qū)中選擇一個(gè)控制器(控制器必須是路由節(jié)點(diǎn)),將這個(gè)控制器和ZigBee協(xié)調(diào)器用電源持續(xù)供電,并且規(guī)定,只有ZigBee和每個(gè)分區(qū)的控制器可以建立分區(qū)簇,這樣就可以避免節(jié)點(diǎn)死亡;對(duì)比一些分簇路由算法,免去了備用網(wǎng)關(guān)節(jié)點(diǎn)和簇首的輪換機(jī)制,這樣就減少了其他節(jié)點(diǎn)的能量消耗,提高了網(wǎng)絡(luò)的生存能力。在組網(wǎng)開始時(shí),ZigBee協(xié)調(diào)器建立第一個(gè)分區(qū),并且擔(dān)任簇首,同時(shí)廣播。其他各個(gè)分區(qū)控制器建立自己的分區(qū),各個(gè)簇首根據(jù)簇標(biāo)簽計(jì)算方法為每個(gè)分區(qū)分配一個(gè)簇標(biāo)識(shí),并提供簇標(biāo)識(shí)的廣播機(jī)制,在分區(qū)內(nèi)的節(jié)點(diǎn)自動(dòng)加入分區(qū)所在的簇。協(xié)調(diào)器默認(rèn)簇標(biāo)識(shí)為0,簇首設(shè)置完成后,請(qǐng)求加入?yún)f(xié)調(diào)器的無線傳感器網(wǎng)絡(luò),協(xié)調(diào)器按照ZigBee的分址方法,將網(wǎng)絡(luò)地址分配給每一個(gè)節(jié)點(diǎn)。每個(gè)分區(qū)的簇首會(huì)定期查詢路由節(jié)點(diǎn)的更新情況,發(fā)現(xiàn)有路由確認(rèn)消息,就更新路由信息廣播,使簇內(nèi)成員共享路由信息。這樣,在數(shù)據(jù)傳播時(shí),就減少了大量的路由發(fā)現(xiàn),同時(shí)也提高了網(wǎng)絡(luò)存活率。在傳輸數(shù)據(jù)時(shí),與ZiCL算法相同,分別建立簇內(nèi)路由和簇間路由,源節(jié)點(diǎn)通過目的節(jié)點(diǎn)的地址計(jì)算出所在分區(qū)的簇標(biāo)識(shí)。如果與源節(jié)點(diǎn)在同一分區(qū),則采用簇內(nèi)路由,簇內(nèi)路由采用Cluster-Tree路由算法;如果不在同一分區(qū),則采用簇間路由。簇間路由是源節(jié)點(diǎn)發(fā)起路由發(fā)現(xiàn)的過程。首先尋找自身的路由表,如果路由表中有目的節(jié)點(diǎn)的地址,則通過路由表中的路徑傳播數(shù)據(jù);如果無目的節(jié)點(diǎn)的地址,則發(fā)起簇間路由,使用AODV改進(jìn)路由算法將鄰居表轉(zhuǎn)發(fā),并將簇標(biāo)識(shí)加入到路由協(xié)議,從而發(fā)現(xiàn)目的節(jié)點(diǎn)。在路由發(fā)現(xiàn)的同時(shí),由于分簇標(biāo)識(shí)代表了簇內(nèi)所有節(jié)點(diǎn),這在一定程度上減少了能量消耗。路由協(xié)議流程如圖2所示。
基于無線傳感器網(wǎng)絡(luò)的污水處理路由協(xié)議是在ZiCL路由的基礎(chǔ)上,將開始分簇階段的簇首固定為有電源供電的分區(qū)控制器節(jié)點(diǎn)。與一般的路由相比,這種路由的穩(wěn)定性更好,同時(shí)不用擔(dān)心簇首會(huì)因?yàn)槟芰坎蛔愣嘶?,簡化了路由協(xié)議。在路由發(fā)現(xiàn)的過程中加入了鄰居表查詢和簇標(biāo)識(shí)查詢,在路由發(fā)現(xiàn)的過程中減少了RREQ的發(fā)送,從另一個(gè)角度來說,減少了能量的消耗,優(yōu)化了路由協(xié)議。
5 仿真分析
利用NS2軟件對(duì)ZigBee的網(wǎng)絡(luò)層進(jìn)行仿真。首先設(shè)定仿真參數(shù)。本文將隨機(jī)數(shù)據(jù)流設(shè)定為5個(gè)和8個(gè),在平均發(fā)包速率為0.5 packets/s的情況下,對(duì)每個(gè)場(chǎng)景中隨機(jī)產(chǎn)生的10~100個(gè)節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)仿真分析,并從分組投遞率、平均端到端時(shí)延兩個(gè)方面對(duì)仿真進(jìn)行比較。所有的數(shù)據(jù)都是在網(wǎng)絡(luò)中獨(dú)立運(yùn)行20次得到的平均數(shù)。主要仿真參數(shù)的設(shè)定如表1所示。
結(jié)果分析:仿真最后得到一個(gè)tr文件,通過AWK程序?qū)λM(jìn)行分析,下面是其中的一個(gè)片段:
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
節(jié)點(diǎn)9在8.411 189 177 s時(shí)發(fā)送一個(gè)cbr分組,分組的UID為13,分組長度為36,目的節(jié)點(diǎn)的MAC地址為9,源節(jié)點(diǎn)的MAC地址為0,源節(jié)點(diǎn)的IP地址為7節(jié)點(diǎn)的2號(hào)端口,目的節(jié)點(diǎn)的IP地址為9號(hào)節(jié)點(diǎn)的0端口,分組的TTL值為30.
5.1 分組投遞率
分組投遞率是目的節(jié)點(diǎn)總共接收到的數(shù)據(jù)分組個(gè)數(shù)與源節(jié)點(diǎn)總的數(shù)據(jù)分組發(fā)送之間的比值。分組投遞率是網(wǎng)絡(luò)可靠性的重要指標(biāo),它反映了數(shù)據(jù)投遞的成功率。數(shù)據(jù)流分別為5個(gè)和8個(gè)時(shí)得到的網(wǎng)絡(luò)分組遞交率狀況如圖3所示。
從圖3中可以看出,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)較少時(shí),分組遞交率接近100%;而隨著網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)的增加,在不同的數(shù)據(jù)分組傳遞過程中,隨著路由跳數(shù)的增加和分組之間的碰撞,一些數(shù)據(jù)分組將會(huì)被丟棄或者失效,導(dǎo)致目的節(jié)點(diǎn)無法接收到數(shù)據(jù)分組,使分組遞交率下降。圖3中,8個(gè)數(shù)據(jù)流有一部分在5個(gè)數(shù)據(jù)流的上方。這是因?yàn)?個(gè)數(shù)據(jù)流中節(jié)點(diǎn)間發(fā)送的數(shù)據(jù)分組增多,雖然一定程度上失效的分組也在增加,但是比率相對(duì)穩(wěn)定。如果節(jié)點(diǎn)增多,那么比率會(huì)下降得更快。
5.2 平均端到端時(shí)延
平均端到端時(shí)延是源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包與目的節(jié)點(diǎn)成功接收數(shù)據(jù)包之間的差值。它反映了整個(gè)網(wǎng)絡(luò)在傳輸數(shù)據(jù)時(shí)的效率和網(wǎng)絡(luò)擁塞程度,是評(píng)價(jià)網(wǎng)絡(luò)通信質(zhì)量的重要參數(shù)。圖4所示為平均端到端時(shí)延狀況。
從圖4中可以看出,隨著節(jié)點(diǎn)的增多,平均端到端時(shí)延越來越大。從ZigBee路由協(xié)議中分析得出,隨著數(shù)據(jù)分組的增多,路由的跳數(shù)也增多,隨之而來的就是網(wǎng)絡(luò)擁擠程度增加,最終導(dǎo)致平均端到端時(shí)延增大。此外,通過其他的仿真可知,平均端到端時(shí)延還與網(wǎng)絡(luò)分布的范圍大小有關(guān)——隨著網(wǎng)絡(luò)范圍的擴(kuò)大,路由距離增加,數(shù)據(jù)分組的丟失率隨之增大,數(shù)據(jù)流的傳輸時(shí)延越來越大。
6 結(jié)束語
在這個(gè)科技飛速發(fā)展的時(shí)代,隨著新技術(shù)的層出不窮和市場(chǎng)發(fā)展空間的拓展,ZigBee技術(shù)被許多組織公司和學(xué)者認(rèn)為是最適合傳感器接入端的短距離無線通訊技術(shù)。對(duì)ZigBee的研究為物聯(lián)網(wǎng)的實(shí)際應(yīng)用和發(fā)展奠定了基礎(chǔ)。本文在污水處理無線傳感器網(wǎng)絡(luò)系統(tǒng)構(gòu)架的基礎(chǔ)上,研究、闡述了ZigBee網(wǎng)絡(luò)的路由算法。同時(shí),研究了ZigBee路由改進(jìn)算法,并在改進(jìn)算法的基礎(chǔ)上提出了一種依據(jù)實(shí)際處理污水的路由方法。通過固定簇首來減少網(wǎng)絡(luò)能量的消耗,可保證網(wǎng)絡(luò)的穩(wěn)定性;采用簇間和簇內(nèi)路由相結(jié)合的方法可簡化路由發(fā)現(xiàn)的過程,減少了RREQ的發(fā)送,也減少了網(wǎng)絡(luò)內(nèi)部的冗余,進(jìn)而提高網(wǎng)絡(luò)的整體性能。最后本文對(duì)現(xiàn)有無線傳感器網(wǎng)絡(luò)中應(yīng)用到的ZigBee路由進(jìn)行了仿真,并利用IEEE802.15.4的物理層和MAC層分析了仿真結(jié)果。比較一些網(wǎng)絡(luò)性能指標(biāo),剖析路由協(xié)議和仿真結(jié)果,具有一定的實(shí)際意義。
參考文獻(xiàn)
[1]Dimosthenis Kyriazisa,Theodora Varvarigou.Smart,Autonomous and Reliable Internet of Things[J].Procedia Computer Science,2013(21).
[2]鐘永春.ZigBee無線傳感器網(wǎng)絡(luò)[M].北京:北京郵電大學(xué)出版社,2011.
[3]J.Pedro Amaro,Rui Cortes?o,F(xiàn)ernando 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網(wǎng)絡(luò)模擬器的原理和應(yīng)用[M].西安:西北工業(yè)大學(xué)出版社,2011.
[5]柯志亨,鄧德雋.NS2仿真實(shí)驗(yàn):多媒體和無線網(wǎng)絡(luò)通信[D].北京:電子工業(yè)出版社,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,F(xiàn)orster 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結(jié)構(gòu)的ZigBee網(wǎng)絡(luò)可靠路由算法[D].濟(jì)南:山東大學(xué),2009.
[11]錢志洪,朱爽,王雪.基于分簇機(jī)制的ZigBee混合路由能量優(yōu)化算法[J].計(jì)算機(jī)學(xué)報(bào),2013(3).
〔編輯:劉曉芳〕