劉少楠
摘要:通過對ZigBee路由協(xié)議進(jìn)行研究,就優(yōu)化ZigBee網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)間的傳輸時(shí)延,均衡節(jié)點(diǎn)的能耗提出相應(yīng)的改進(jìn)意見。然后利用改進(jìn)后的ZigBee路由協(xié)議設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng),并以光照強(qiáng)度、溫度、濕度數(shù)據(jù)采集為例,對ZigBee網(wǎng)絡(luò)中的終端節(jié)點(diǎn)、路由節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)進(jìn)行設(shè)計(jì)。
關(guān)鍵詞:ZigBee無線傳感器網(wǎng)絡(luò);數(shù)據(jù)采集系統(tǒng);ZigBee路由算法及其改進(jìn)
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)28-0234-03
Abstract:Through the study of ZigBee routing protocol, the optimization of the transmission delay between the sensor nodes in the ZigBee network and the energy consumption of the equalized nodes is proposed. Then, the data acquisition system of wireless sensor network is designed and implemented by using the improved ZigBee routing protocol, and the terminal nodes, routing nodes and coordinator nodes in ZigBee network are designed with illumination intensity, temperature and humidity data acquisition as an example.
Key words: ZigBee wireless sensor network;data collection system;ZigBee routing algorithm and its improvement
1 概述
現(xiàn)如今,無線傳感器網(wǎng)絡(luò)主要用來采集指定區(qū)域內(nèi)的參數(shù)信息,對數(shù)據(jù)傳輸?shù)乃俾室蟛桓撸菍鞲衅鞴?jié)點(diǎn)的穩(wěn)定性、能耗和體積等方面的要求比較高。ZigBee技術(shù)由于其傳輸距離短、能耗低、成本低、時(shí)延短、可靠性高、安全性高、網(wǎng)絡(luò)容量大等特點(diǎn)[1],主要用于近距離無線傳輸,可以適應(yīng)惡劣多變的物理環(huán)境。
本文結(jié)合AODVjr路由算法中選取最佳路徑的優(yōu)勢和Cluster-Tree路由算法通過父子節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的便捷來研究ZigBee路由算法。設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于ZigBee的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng), 由ZigBee協(xié)調(diào)器節(jié)將采集到的數(shù)據(jù)通過Wi-Fi模塊傳輸?shù)缴衔粰C(jī)。上位機(jī)中的環(huán)境數(shù)據(jù)實(shí)時(shí)顯示軟件對ZigBee無線傳感器網(wǎng)絡(luò)采集到的溫度、濕度、光照強(qiáng)度信息進(jìn)行存儲并以參數(shù)和曲線兩種形式展現(xiàn)給技術(shù)人員。
2 ZigBee路由算法的研究
2.1 Cluster-Tree路由算法
在Cluster-Tree路由算法中,父節(jié)點(diǎn)可以向子節(jié)點(diǎn)傳輸數(shù)據(jù),并且子節(jié)點(diǎn)也可以向其父節(jié)點(diǎn)傳輸數(shù)據(jù)。
假設(shè)路由節(jié)點(diǎn)的地址為A,深度為d,目的節(jié)點(diǎn)的地址為D,通過公式1判斷目的節(jié)點(diǎn)D是不是該路由節(jié)點(diǎn)的子節(jié)點(diǎn)。
若滿足公式2,那么目的節(jié)點(diǎn)D是該路由節(jié)點(diǎn)的終端子節(jié)點(diǎn),下一跳的節(jié)點(diǎn)地址為D。若不滿足公式2,可以判斷該目的節(jié)點(diǎn)D不是該路由節(jié)點(diǎn)的終端子節(jié)點(diǎn),此時(shí)通過公式3計(jì)算出轉(zhuǎn)發(fā)的路由節(jié)點(diǎn)的網(wǎng)絡(luò)地址,由該路由節(jié)點(diǎn)再進(jìn)行判斷和數(shù)據(jù)轉(zhuǎn)發(fā),直到將分組信息送到最終的目的節(jié)點(diǎn)。
而如果目的節(jié)點(diǎn)D不滿足公式1,表明目的節(jié)點(diǎn)D不是該路由節(jié)點(diǎn)的子孫節(jié)點(diǎn),那么將分組信息轉(zhuǎn)發(fā)給它的父節(jié)點(diǎn)。
2.2 AODVjr路由算法
節(jié)點(diǎn)根據(jù)AODVjr路由算法進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),首先查看該節(jié)點(diǎn)的路由表中是否存在到達(dá)目的節(jié)點(diǎn)的路由信息,如果存在,只需按照此路由把數(shù)據(jù)轉(zhuǎn)發(fā)出去。如果不存在,設(shè)備中的控制服務(wù)會告知源節(jié)點(diǎn)開啟路由發(fā)現(xiàn)過程,查找到的結(jié)果便是最佳的傳輸數(shù)據(jù)路徑。
2.3 ZigBee路由算法及改進(jìn)
1) ZigBee路由算法的介紹
ZigBee協(xié)調(diào)器利用Cluster-Tree路由算法為ZigBee網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)地址分配,完成ZigBee網(wǎng)絡(luò)的建立。因?yàn)镃luster-Tree路由算法規(guī)定只能按照樹形拓?fù)浣Y(jié)構(gòu)在父子節(jié)點(diǎn)間進(jìn)行數(shù)據(jù)傳輸,這樣雖然可以減少路由開銷,控制分組信息在父子節(jié)點(diǎn)間傳輸,減少整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)通信量。但是通過Cluster-Tree路由算法完成ZigBee網(wǎng)絡(luò)的建立后,數(shù)據(jù)在網(wǎng)絡(luò)中只能通過父子節(jié)點(diǎn)的樹形結(jié)構(gòu)進(jìn)行傳輸,帶來了很大的傳輸時(shí)延和網(wǎng)絡(luò)能耗。利用AODVjr路由算法來優(yōu)化源節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn)的傳輸路徑,可以降低ZigBee網(wǎng)絡(luò)中端到端的時(shí)延,并且可以動態(tài)維護(hù)ZigBee網(wǎng)絡(luò),彌補(bǔ)了Cluster-Tree路由算法的缺陷。
2) ZigBee路由算法的改進(jìn)
通過上文的分析,Cluster-Tree路由算法的樹形拓?fù)浣Y(jié)構(gòu)有利于分組信息方向性的傳輸,但是傳輸?shù)穆窂絽s不是最佳的。AODVjr路由算法優(yōu)化源節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn)的傳輸路徑,降低ZigBee網(wǎng)絡(luò)中端到端的時(shí)延,并且動態(tài)維護(hù)ZigBee網(wǎng)絡(luò),但是在進(jìn)行路由發(fā)現(xiàn)和路由維護(hù)過程中增加了網(wǎng)絡(luò)負(fù)荷。兩個(gè)算法的結(jié)合在一定程度上形成了互補(bǔ),但也存在改進(jìn)之處。
(1) 使用Cluster-Tree路由算法建立好ZigBee網(wǎng)絡(luò)后,需要用AODVjr路由算法對路徑進(jìn)行分析和修正,尋找到達(dá)目的節(jié)點(diǎn)的最優(yōu)路徑。在這個(gè)過程中,通過Cluster-Tree路由算法控制分組信息根據(jù)樹形拓?fù)浣Y(jié)構(gòu)在父子節(jié)點(diǎn)間傳輸,當(dāng)數(shù)據(jù)發(fā)送后,傳輸路徑上的中間路由節(jié)點(diǎn)接收到分組信息需要看看是不是它的父節(jié)點(diǎn)發(fā)送過來的,是則丟棄該分組信息,不是就更新該路由節(jié)點(diǎn)的路由表信息,同時(shí)轉(zhuǎn)發(fā)該分組信息。這樣數(shù)據(jù)廣播時(shí)就具有一定的方向性,而不是在全網(wǎng)范圍內(nèi)廣播,降低網(wǎng)絡(luò)的負(fù)載和能耗。endprint
(2) 在樹簇形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,距離ZigBee協(xié)調(diào)器節(jié)點(diǎn)近的簇首節(jié)點(diǎn)因能量消耗過快而導(dǎo)致整個(gè)網(wǎng)絡(luò)傳輸效率下降。
本文提出設(shè)定好簇首節(jié)點(diǎn)正常工作的最低能耗值,當(dāng)簇首節(jié)點(diǎn)的能耗低于這個(gè)最低值時(shí),簇首節(jié)點(diǎn)會發(fā)出更換請求,由ZigBee協(xié)調(diào)器選擇一個(gè)能量高于這個(gè)最低值的全功能傳感器節(jié)點(diǎn)作為新的簇首節(jié)點(diǎn)。
E表示節(jié)點(diǎn)作為簇首時(shí)所需要的最低能量。d表示該節(jié)點(diǎn)在拓?fù)浣Y(jié)構(gòu)中的深度。Emin是傳感器節(jié)點(diǎn)正常工作需要的能量。k表示節(jié)點(diǎn)附加能量計(jì)算系數(shù)。
對于網(wǎng)絡(luò)中原來的簇首節(jié)點(diǎn),經(jīng)過時(shí)間t后剩余的能量可以通過公式5來計(jì)算:
其中P是節(jié)點(diǎn)經(jīng)過時(shí)間t后所剩余能量;E0為節(jié)點(diǎn)被選作簇首時(shí)的能量;k是節(jié)點(diǎn)的附加能量系數(shù);d是節(jié)點(diǎn)的網(wǎng)絡(luò)深度。
當(dāng)簇首節(jié)點(diǎn)的剩余能量P低于最低簇首能量E時(shí),此時(shí)該節(jié)點(diǎn)會向ZigBee協(xié)調(diào)器發(fā)出更換簇首的申請。ZigBee協(xié)調(diào)器接受申請后向ZigBee網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)發(fā)送簇首競爭的消息,具備能量要求的節(jié)點(diǎn)采用AODVjr路由算法的路由請求分組信息同時(shí)附加簇首申請廣播給周圍的鄰節(jié)點(diǎn),所有收到路由請求的節(jié)點(diǎn)都需要回復(fù)一個(gè)路由應(yīng)答分組信息,由申請節(jié)點(diǎn)修改鄰居信息表。隨后將整個(gè)信息表發(fā)送給ZigBee協(xié)調(diào)器。ZigBee協(xié)調(diào)器接收到信息表后,選擇鄰居節(jié)點(diǎn)最多的節(jié)點(diǎn)作為新的簇首節(jié)點(diǎn),最后新的簇首節(jié)點(diǎn)廣播簇首信息供周圍節(jié)點(diǎn)更新路由信息。
2.4 改進(jìn)前后ZigBee路由算法的仿真分析
在NS-2仿真區(qū)域內(nèi),建立一個(gè)分布了50個(gè)傳感器節(jié)點(diǎn)的仿真區(qū)域,且傳感器節(jié)點(diǎn)的能量相同。ZigBee網(wǎng)絡(luò)采用樹簇型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),仿真時(shí)間為300s,使用CBR業(yè)務(wù)源,40Bytes的分組容量。
可以看出改進(jìn)后的ZigBee路由算法利用Cluster-Tree路由算法輔助AODVjr路由算法控制RREP分組在網(wǎng)絡(luò)拓?fù)渲械膫鬏敺较?,從而加快了路由發(fā)現(xiàn)的過程,降低了整個(gè)網(wǎng)絡(luò)中分組信息從源節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn)的平均時(shí)延。
發(fā)現(xiàn)改進(jìn)后的ZigBee路由算法在傳感器節(jié)點(diǎn)經(jīng)過300s的工作后,能量的消耗更低。通過對比ZigBee路由算法改進(jìn)前后不同節(jié)點(diǎn)的剩余能量證明改進(jìn)后的ZigBee路由算法是節(jié)點(diǎn)的剩余能量高??梢钥闯龈倪M(jìn)后ZigBee路由算法采用簇首輪換機(jī)制可以更好的均衡網(wǎng)ZigBee絡(luò)中各個(gè)傳感器節(jié)點(diǎn)的能量。
3 基于ZigBee的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
3.1 系統(tǒng)的總體設(shè)計(jì)架構(gòu)
整個(gè)數(shù)據(jù)采集系統(tǒng)主要分為無線通信系統(tǒng)、數(shù)據(jù)采集系統(tǒng)和上位機(jī)軟件。
3.2 ZigBee無線傳感器網(wǎng)絡(luò)組建
1) ZigBee協(xié)調(diào)器創(chuàng)建網(wǎng)絡(luò)
(1) 確定協(xié)調(diào)器。
(2) 設(shè)置唯一的網(wǎng)絡(luò)ID。
(3) 進(jìn)行信道掃描。
2) ZigBee節(jié)點(diǎn)加入網(wǎng)絡(luò)
當(dāng)終端節(jié)點(diǎn)上電激活后,首先對附近的信道進(jìn)行掃描,與自己周圍的ZigBee路由器節(jié)點(diǎn)進(jìn)行通信,選擇合適的ZigBee路由器節(jié)點(diǎn)作為自己的父節(jié)點(diǎn),ZigBee協(xié)調(diào)器通過網(wǎng)絡(luò)地址分配機(jī)制為其分配唯一的網(wǎng)絡(luò)地址。
3.3 ZigBee網(wǎng)絡(luò)中節(jié)點(diǎn)的設(shè)計(jì)
1) ZigBee終端節(jié)點(diǎn)
在ZigBee網(wǎng)絡(luò)中,ZigBee終端節(jié)點(diǎn)通過DHT11溫濕度傳感器和光敏電阻傳感器采集待測區(qū)域內(nèi)的溫度、濕度和光照強(qiáng)度,并將采集到的數(shù)據(jù)通過CC2530芯片內(nèi)置的無線收發(fā)器傳輸給上位機(jī)。
2) ZigBee路由節(jié)點(diǎn)
ZigBee路由器節(jié)點(diǎn)增加了數(shù)據(jù)傳輸?shù)木嚯x,擴(kuò)大了ZigBee無線傳感器網(wǎng)絡(luò)的覆蓋范圍。ZigBee路由器節(jié)點(diǎn)主要是對數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),所以不需要傳感器接口模塊,但是在進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),需要使用Flash存儲模塊暫存數(shù)據(jù)。
3) ZigBee協(xié)調(diào)器節(jié)點(diǎn)
ZigBee協(xié)調(diào)器節(jié)點(diǎn)是ZigBee網(wǎng)絡(luò)的中心,承擔(dān)著ZigBee網(wǎng)絡(luò)中大部分的功能,
3.4 上位機(jī)設(shè)計(jì)
環(huán)境數(shù)據(jù)實(shí)時(shí)顯示軟件能夠直接把傳感器節(jié)點(diǎn)采集到的環(huán)境信息展現(xiàn)給技術(shù)人員,并以參數(shù)和曲線兩種形式呈現(xiàn),同時(shí)技術(shù)人員通過分析數(shù)據(jù)庫中存儲的歷史環(huán)境數(shù)據(jù)對環(huán)境變化進(jìn)行分析。其具備的功能如圖5所示。
4 系統(tǒng)軟設(shè)計(jì)展示
上位機(jī)中的環(huán)境數(shù)據(jù)實(shí)時(shí)顯示軟件對ZigBee無線傳感器網(wǎng)絡(luò)采集到的溫度、濕度、光照強(qiáng)度信息進(jìn)行存儲并以參數(shù)和曲線兩種形式展現(xiàn)給技術(shù)人員。
5 結(jié)束語
本文通過對ZigBee路由協(xié)議進(jìn)行研究,設(shè)計(jì)和實(shí)現(xiàn)基于ZigBee的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)對待測區(qū)域內(nèi)實(shí)時(shí)環(huán)境信息的采集并通過協(xié)調(diào)器將采集到的數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中的環(huán)境數(shù)據(jù)實(shí)時(shí)顯示軟件進(jìn)行存儲顯示。在本文中僅僅考慮了時(shí)延和能耗方面的改進(jìn),還存在著許多值得繼續(xù)研究的地方。
參考文獻(xiàn):
[1] 蔣挺, 趙成林. Zigbee技術(shù)及其應(yīng)用[M]. 北京: 北京郵電大學(xué)出版社, 2006: 12-27.
[2] 杜煥軍, 張維勇, 劉國田. ZigBee路由協(xié)議研究[J]. 合肥工業(yè)大學(xué)學(xué)報(bào), 2008, 31(10) 1617-1621.
[3] 賈靈,王薪宇,鄭淑軍. 物聯(lián)網(wǎng)無線傳感網(wǎng)原理與實(shí)踐[M]. 北京航空航天大學(xué)出版社, 2011.
[4] 蔡鑌, 袁超, 頓文濤, 等.無線傳感器網(wǎng)絡(luò)在農(nóng)業(yè)生產(chǎn)中的應(yīng)用研究[J]. 江西農(nóng)業(yè)學(xué)報(bào), 2010(9).endprint