向鳳紅, 孔慶平, 毛劍琳, 付麗霞
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
基于ZigBee的低功耗無線傳感器網(wǎng)絡(luò)改進(jìn)協(xié)議*
向鳳紅, 孔慶平, 毛劍琳, 付麗霞
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
如何降低無線傳感器網(wǎng)絡(luò)(WSNs)節(jié)點(diǎn)的能耗來延長網(wǎng)絡(luò)壽命是非常重要的,無線網(wǎng)路的性能主要取決于MAC協(xié)議,若要降低節(jié)點(diǎn)能耗,合理的設(shè)計(jì)與改進(jìn)MAC協(xié)議就成為一個(gè)關(guān)鍵性問題。主要介紹了無線傳感器網(wǎng)絡(luò)中的ZigBee技術(shù)發(fā)展與應(yīng)用,針對(duì)相關(guān)能耗問題,將延遲測量時(shí)間同步(DMTS)算法融入到ZigBee網(wǎng)絡(luò)中,同時(shí)引入了基于S-MAC協(xié)議機(jī)制的周期性偵聽/睡眠、碰撞避免等措施對(duì)協(xié)議進(jìn)行改進(jìn),通過仿真與基本協(xié)議進(jìn)行比較。仿真結(jié)果表明:改進(jìn)的協(xié)議能夠有效降低網(wǎng)絡(luò)節(jié)點(diǎn)能耗。
無線傳感器網(wǎng)絡(luò); ZigBee協(xié)議棧; 低功耗; 延遲測量時(shí)間同步
無線傳感器網(wǎng)絡(luò)(WSNs)作為新型無線網(wǎng)絡(luò),是當(dāng)前國際上非常關(guān)注的、一種多學(xué)科交叉技術(shù),具有相當(dāng)廣泛的應(yīng)用前景[1,2]。無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)能夠采集環(huán)境數(shù)據(jù)信息、實(shí)時(shí)地監(jiān)控被控對(duì)象的動(dòng)態(tài)信息,并且經(jīng)過嵌入式處理操作對(duì)采集的信息處理,通過無線通信將相關(guān)信息傳遞給觀測者[3]。2011年,美國商業(yè)周刊和MIT技術(shù)對(duì)未來影響世界的技術(shù)進(jìn)行了評(píng)選,無線傳感器網(wǎng)絡(luò)技術(shù)被評(píng)選為21世紀(jì)最有影響的21世紀(jì)21項(xiàng)技術(shù)和改變世界的10大技術(shù)之一[4],該項(xiàng)技術(shù)是繼因特網(wǎng)之后的又一項(xiàng)偉大的技術(shù)。
本文通過分析基礎(chǔ)IEEE 802.15.4協(xié)議存在的能耗問題,引入了基于S-MAC協(xié)議機(jī)制的周期性偵聽/睡眠措施,同時(shí)結(jié)合時(shí)間同步算法中能耗較低的DMTS算法來進(jìn)行時(shí)間同步,進(jìn)一步減少能量消耗。
在無線傳感器網(wǎng)絡(luò)中,網(wǎng)絡(luò)傳輸協(xié)議體系中的MAC協(xié)議是無線傳感器網(wǎng)絡(luò)系統(tǒng)的底層協(xié)議,該協(xié)議主要負(fù)責(zé)管理信道的使用方式,為節(jié)點(diǎn)分配有限的頻譜資源,并且它直接控制著傳感器網(wǎng)絡(luò)中的發(fā)射模塊,對(duì)傳感器節(jié)點(diǎn)的能耗有很大的影響,是保證無線傳感器網(wǎng)絡(luò)低功耗性能的關(guān)鍵協(xié)議之一[5,6]。傳統(tǒng)無線網(wǎng)絡(luò)的MAC協(xié)議重點(diǎn)考慮節(jié)點(diǎn)使用帶寬的公平性,增加網(wǎng)絡(luò)的實(shí)時(shí)性以及提高帶寬的利用率[7]。
ZigBee 協(xié)議校的MAC層協(xié)議采用采用IEEE 802.15.4標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是建立在節(jié)點(diǎn)的固定功率基礎(chǔ)上,那么會(huì)降低傳感器節(jié)點(diǎn)的電池壽命。那么合理的設(shè)計(jì)MAC協(xié)議也能有效的降低功耗,對(duì)提高ZigBee 網(wǎng)絡(luò)的整體性能有很重要的作用。本節(jié)將重點(diǎn)介紹MAC層協(xié)議的節(jié)能研究,以及如何對(duì)其進(jìn)行改進(jìn),以用于本文所研究的無線傳感網(wǎng)絡(luò)系統(tǒng)。
ZigBee傳感器網(wǎng)絡(luò)中,能量消耗主要在于處理器和無線通信模塊折兩個(gè)部分[7],傳感器節(jié)點(diǎn)各個(gè)模塊消耗能量分布圖如圖1所示。
圖1 傳感器節(jié)點(diǎn)各個(gè)模塊消耗能量分布圖
由圖1所知,傳感器、處理器模塊的能耗是由硬件所決定,且占據(jù)整個(gè)傳感器網(wǎng)絡(luò)功耗的比重比較小,而無線通信模塊的能耗占據(jù)整個(gè)傳感器網(wǎng)絡(luò)功耗的比重很大,所以有效管理無線通信模塊能耗,才能使整個(gè)網(wǎng)絡(luò)的功耗得以降低。由上分析可知,若傳感器節(jié)點(diǎn)在沒有發(fā)送和接收數(shù)據(jù)狀態(tài)下,讓節(jié)點(diǎn)盡量處于睡眠狀態(tài)進(jìn)行休眠操作。而S-MAC協(xié)議就是基于此種思想的一種協(xié)議,該協(xié)議采用的周期性偵聽/睡眠機(jī)制就是讓節(jié)點(diǎn)在無數(shù)據(jù)傳輸時(shí)進(jìn)入睡眠狀態(tài),避免了不必要的偵聽,以達(dá)到節(jié)能的效果。
S-MAC協(xié)議采用周期性偵聽/睡眠機(jī)制,使節(jié)點(diǎn)定期地進(jìn)入睡眠狀態(tài),從而減少節(jié)點(diǎn)空閑偵聽的時(shí)間降低能量消耗。在協(xié)議校中將時(shí)間分成很多的時(shí)隙,再將每個(gè)時(shí)隙分成偵聽和睡眠兩個(gè)狀態(tài),其時(shí)間幀格式如圖2所示。
圖2 周期性偵聽/睡眠幀格式
在S-MAC協(xié)議中一個(gè)完整的偵聽和睡眠是一個(gè)時(shí)間幀,其中Tframe是一個(gè)幀周期,偵聽時(shí)間Tlisten占一個(gè)幀周期號(hào)Tframe的比值稱作占空比,它的公式為
(1)
該過程基本的調(diào)度思想如下:在偵聽狀態(tài)時(shí),節(jié)點(diǎn)的無線收發(fā)器是正常工作的,與其它節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。而節(jié)點(diǎn)在睡眠狀態(tài)時(shí),關(guān)閉無線收發(fā)器,不參與任何數(shù)據(jù)傳輸,然后通過定時(shí)器喚醒節(jié)點(diǎn),查看是否有數(shù)據(jù)發(fā)送給自己。在周期偵聽/睡眠前,每一個(gè)節(jié)點(diǎn)都要選擇一個(gè)調(diào)度表,與鄰居節(jié)點(diǎn)交換調(diào)度信息,而且每個(gè)節(jié)點(diǎn)都存儲(chǔ)著所有鄰居調(diào)度信息的調(diào)度表。為了使節(jié)點(diǎn)被喚醒后能夠收到鄰居節(jié)點(diǎn)的消息,則相鄰節(jié)點(diǎn)要維護(hù)彼此鄰居節(jié)點(diǎn)的時(shí)間調(diào)度表,還有節(jié)點(diǎn)睡眠和醒來的時(shí)間,以便于確保相鄰節(jié)點(diǎn)間能及時(shí)通信降低因睡眠造成的時(shí)延。
在時(shí)間調(diào)度表中,節(jié)點(diǎn)的睡眠和監(jiān)聽的比不是固定的,而是根據(jù)節(jié)點(diǎn)接收和發(fā)送的多少進(jìn)行設(shè)定的,具體的比例根據(jù)網(wǎng)絡(luò)需求來調(diào)節(jié),為了方便實(shí)際的應(yīng)用,本文只選擇睡眠和監(jiān)聽的時(shí)間比為1∶1 進(jìn)行研究,即節(jié)點(diǎn)在一個(gè)時(shí)間幀內(nèi),50 %的時(shí)間處于休眠狀態(tài),這樣會(huì)有效減少不必要的偵聽,以達(dá)到網(wǎng)絡(luò)的節(jié)能。
本文主要在傳感器終端節(jié)點(diǎn)的設(shè)計(jì)上引入工作/睡眠調(diào)度機(jī)制,該協(xié)議校中的MAC層協(xié)議是基于IEEE 802.15.4的標(biāo)準(zhǔn)的,由于其MAC層總是處于工作或監(jiān)聽狀態(tài),沒有加入睡眠機(jī)制,則本文在MAC層的任務(wù)運(yùn)行函數(shù)MACTASKs中,加入監(jiān)聽/睡眠機(jī)制功能函數(shù)部分,為了能正常運(yùn)行協(xié)議,本文選擇在無原語的狀態(tài)下,實(shí)現(xiàn)監(jiān)聽/睡眠機(jī)制。
但在實(shí)際應(yīng)用中,要使改進(jìn)的協(xié)議很好運(yùn)行,就要使整個(gè)網(wǎng)絡(luò)的時(shí)間進(jìn)行時(shí)間同步,但由于ZigBee協(xié)議節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí)間點(diǎn)不同,那么會(huì)使整個(gè)網(wǎng)絡(luò)的時(shí)間不能夠同步,為了更好實(shí)現(xiàn)協(xié)議枝,需要整個(gè)網(wǎng)絡(luò)同步,延遲測量時(shí)間同步(delay measurement time synchronization,DMTS)算法[8,9],是基于發(fā)送者—接收者的單向時(shí)間同步算法,該算法結(jié)構(gòu)簡單,功耗較低,具有廣泛的運(yùn)用,其算法原理圖如圖3所示。當(dāng)發(fā)送節(jié)點(diǎn)在檢測到通道空閑時(shí),給廣播分組加上時(shí)間戳t0,從而排除了發(fā)送節(jié)點(diǎn)的處理延遲與MAC層的訪問延遲,并假設(shè)發(fā)送報(bào)文的長度為N個(gè)bit(包括前導(dǎo)碼與同步字),報(bào)文發(fā)送速率為t/bit,而接收者在接收完同步字后,記錄下此時(shí)的本地時(shí)間為t1,而調(diào)整自身本地時(shí)間記錄前的時(shí)間為t2,這時(shí)接收節(jié)點(diǎn)為實(shí)現(xiàn)與基準(zhǔn)節(jié)點(diǎn)時(shí)間的同步,調(diào)整接收節(jié)點(diǎn)的本地時(shí)間改為t0+t*N+(t2-t1)。
圖3 DMTS算法示意圖
由圖3可知,DMTS算法簡單,能耗低,能夠滿足部分的無線傳感器網(wǎng)絡(luò)要求。
2.1 NS2模擬仿真
通過以上分析,用NS2網(wǎng)絡(luò)仿真軟件[10]來模擬仿真IEEE 802.15.4 MAC層協(xié)議和采用S-MAC協(xié)議思想機(jī)制的改進(jìn)協(xié)議能耗分析。模擬仿真中設(shè)定16個(gè)節(jié)點(diǎn),設(shè)定網(wǎng)絡(luò)拓?fù)錇樾切屯負(fù)浣Y(jié)構(gòu),節(jié)點(diǎn)以相同速度產(chǎn)生數(shù)據(jù)流,節(jié)點(diǎn)之間隨機(jī)選擇連續(xù)比特率(continuous bit rate,CBR)數(shù)據(jù)傳輸鏈路,節(jié)點(diǎn)的場景參數(shù)配置:占空比為50 %,節(jié)點(diǎn)通信距離為200 m,信道帶寬為10 kbps,數(shù)據(jù)包長度為100 bytes,MAC幀頭長度為10 bytes,控制包長度為10 bytes,時(shí)隙長度為2 ms,初始能量為1 000 J,傳單器幾點(diǎn)個(gè)數(shù)為16。
通過編寫tcl程序設(shè)置好節(jié)點(diǎn)參數(shù)后,然后進(jìn)行數(shù)據(jù)發(fā)送分組間隔分別為1,2,3,…,10 s的仿真,每分組間隔進(jìn)行仿真15次,每個(gè)源節(jié)點(diǎn)發(fā)送50個(gè)數(shù)據(jù)分組,每節(jié)點(diǎn)長度為100字節(jié),每個(gè)節(jié)點(diǎn)通過仿真后的trace文件記錄數(shù)據(jù)傳送過程和能量的變化情況。數(shù)據(jù)傳輸過程仿真圖如圖4所示。
圖4 數(shù)據(jù)傳送過程仿真圖
2.2 Matlab能耗仿真
經(jīng)過NS2仿真后,仿真的結(jié)果數(shù)據(jù)都保留在trace文件即out.tr下,進(jìn)行數(shù)據(jù)處理后得到所需要數(shù)據(jù),然后通過Matlab軟件模擬出能耗曲線如圖4所示。
圖5 改進(jìn)協(xié)議與原MAC協(xié)議能耗對(duì)比圖
從圖5所示,在不同的發(fā)送數(shù)據(jù)間隔,改進(jìn)后的MAC層協(xié)議整體功耗的變化不大,其能量消耗低于原MAC協(xié)議即IEEE 802.15.4協(xié)議,特別在隨著分組時(shí)間間隔的變大,其更具有優(yōu)勢。
2.3 Matlab死亡節(jié)點(diǎn)與數(shù)據(jù)傳輸仿真
通過收集的能耗對(duì)比數(shù)據(jù)來利用Matlab進(jìn)行無線傳感器網(wǎng)絡(luò)的死亡節(jié)點(diǎn)數(shù)量與數(shù)據(jù)傳輸對(duì)比仿真,仿真結(jié)果圖6和圖7所示。
圖6 改進(jìn)協(xié)議與原MAC的死亡節(jié)點(diǎn)數(shù)對(duì)比圖
從圖6中可以看出,隨著時(shí)間的不斷增長,由于改進(jìn)后的MAC層協(xié)議整體功耗的變化不大,其能量消耗低于原MAC協(xié)議即IEEE 802.15.4協(xié)議,所以整個(gè)無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)死亡速度有顯著降低,能夠有效延長節(jié)點(diǎn)的存活時(shí)間,從而延長整個(gè)網(wǎng)絡(luò)的使用壽命,提高效率。
圖7 改進(jìn)協(xié)議與原MAC的數(shù)據(jù)傳輸對(duì)比圖
從圖7中所示,隨著時(shí)間增長,原MAC協(xié)議即IEEE 802.15.4協(xié)議的節(jié)點(diǎn)會(huì)接連死亡,而改進(jìn)后的MAC層協(xié)議由于能耗降低,節(jié)點(diǎn)存活時(shí)間增長,存活的節(jié)點(diǎn)數(shù)量也更多,所以能在相同時(shí)間內(nèi)工作更長時(shí)間,傳輸?shù)臄?shù)據(jù)量也比原協(xié)議要多。
利用改進(jìn)的MAC協(xié)議與DMTS算法來實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的時(shí)間同步,雖說精度上沒有TPSN,參考廣播同步(reference broadcast synchronization,RBS)算法精度高,不過通過實(shí)驗(yàn)表明,本文的算法大大降低了無線傳感器網(wǎng)絡(luò)的能量消耗,增加了節(jié)點(diǎn)的存貨時(shí)間與相同時(shí)間內(nèi)的存活數(shù)量,大大提高了無線傳感器網(wǎng)絡(luò)的使用壽命與工作效率。
實(shí)驗(yàn)仿真測試證明:當(dāng)數(shù)據(jù)量較小時(shí),改進(jìn)的協(xié)議能夠使節(jié)點(diǎn)的能耗在理論上大幅度降低,延長了節(jié)點(diǎn)存活時(shí)間,從而延長了無線傳感器網(wǎng)絡(luò)的使用壽命,但在時(shí)間同步的精度上有一定誤差,需要后續(xù)工作繼續(xù)改進(jìn)。本文的研究在降低能耗方面具有一定的應(yīng)用價(jià)值,在實(shí)際的工程應(yīng)用中具有一定的參考價(jià)值。
[1] 任豐原,黃海寧,林 闖.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報(bào),2003,14(7):1282-1291.
[2] 原 峰.ZigBee技術(shù)在港口貨運(yùn)倉庫安全監(jiān)控系統(tǒng)中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2015,34(2):57-59.
[3] 劉海燕,劉 云.無線傳感器網(wǎng)絡(luò)中基于距離的簇頭選擇優(yōu)化研究[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版,2014(4):490-496.
[4] 王 殊.無線傳感器網(wǎng)絡(luò)的理論及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.
[5] 曾 東,熊 飛.面向能耗控制的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)協(xié)議優(yōu)化[J].無線電通信技術(shù),2014,40(1):28-31.
[6] Shakshuki E,Malik H.Agent-based approach to minimize energy consumption for border nodes in wireless sensor networks[C]∥Proceedings of the 21st International Conference on Advanced Networking and Applications,IEEE Computer Society,2007:134-141.
[7] Xian Y,Liu L.The adaptive scheme and relationship between traffic load and optimal duty cycle based on best traffic efficiency in S-MAC[C]∥2008 The 4th International Conference on Wireless Communications,Networking and Mobile Computing,WiCOM’08,IEEE,2008:1-4.
[8] 何秀春,張金榜,劉 軍,等.基于TPSN和DMTS的低能耗時(shí)間同步算法[J].電子設(shè)計(jì)工程,2014(3):21-22.
[9] 陳 英,舒 堅(jiān),劉琳嵐,等.無線傳感器網(wǎng)絡(luò)時(shí)間同步與成簇算法[J].傳感器與微系統(tǒng),2008,27(1):44-48.
[10] 黃化吉,馮穗力,秦麗姣,等.NS網(wǎng)絡(luò)模擬和協(xié)議仿真[M].北京:人民郵電出版社,2010.
Improved low-power consumption protocol for wireless sensor networks based on ZigBee*
XIANG Feng-hong, KONG Qing-ping, MAO Jian-lin, FU Li-xia
(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,China)
How to reduce the energy consumption of nodes in wireless sensor networks(WSNs),extend the life cycle of the network is very important.The performance of WSNs mainly depend on MAC protocol.To reduce energy consumption of nodes,reasonable design and improvement of MAC protocol has become a critical issue.Development and application of ZigBee technology in WSNs mainly introduced.To solve these related issues,delay measurement time synchronization(DMTS)algorithm is fused into ZigBee networks while mechanism cyclical interception/ sleep,collision avoid other measures based on S-MAC protocol is introduced.To improve the protocol,compare with basic protocol by simulation.The simulation results show that energy consumption of node is reduced efficiently by the improved protocol.
wireless sensor networks(WSNs); ZigBee protocol stack; low energy consumption; delay measurement time synchronization(DMTS)
10.13873/J.1000—9787(2017)03—0033—03
2016—03—30
國家自然科學(xué)基金資助項(xiàng)目(61163051);云南省教育廳科學(xué)研究基金資助項(xiàng)目(2015Y071)
TP 272
A
1000—9787(2017)03—0033—03
向鳳紅(1964-),男,博士,教授,博士生導(dǎo)師,中國自動(dòng)化學(xué)會(huì)第九屆理事會(huì)理事,主要從事自動(dòng)化控制方向研究工作。
孔慶平(1991-),男,通訊作者,碩士研究生,研究方向?yàn)闊o線傳感技術(shù),E-mail:1104317402@qq.com。