張浩平
(南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210037)
在林業(yè)環(huán)境監(jiān)測系統(tǒng)的應(yīng)用中,無線傳感器網(wǎng)絡(luò)技術(shù)有著獨特的優(yōu)勢。無線傳感器網(wǎng)絡(luò)具有成本低、體積小、功耗低、可靠性強等特點,在監(jiān)測區(qū)域內(nèi)部署大量的微型傳感器節(jié)點,經(jīng)由無線通信方式形成一個網(wǎng)絡(luò)系統(tǒng),從而實現(xiàn)網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)感知對象的信息的采集、量化、融合和傳輸?shù)墓δ?,是傳統(tǒng)的在線監(jiān)測系統(tǒng)所不能比擬的。
2002年,英特爾公司率先在俄勒岡建立了世界上第一個無線葡萄園。傳感器節(jié)點被分布在葡萄園的每個角落,每隔1 min檢測1次土壤溫度、濕度或該區(qū)域有害物的數(shù)量,以確保葡萄可以健康生長。同年英特爾研究實驗室研究人員曾經(jīng)將32個小型傳感器Mote連進(jìn)互聯(lián)網(wǎng),用于監(jiān)測觀察緬因州“大鴨島”上動物的棲息地環(huán)境,來評價一種海燕巢的條件,并且長時間搜集光線、溫度等環(huán)境氣候因子的變化資料[1]。但無線傳感器網(wǎng)絡(luò)在林業(yè)監(jiān)測中的應(yīng)用尚處于起步階段,在大面積的林區(qū)采用無線傳感器網(wǎng)絡(luò)進(jìn)行環(huán)境監(jiān)測,還有很多問題尚待解決。
ZigBee是一種短距離、架構(gòu)簡單、低功耗和低速率的無線通信技術(shù)。ZigBee聯(lián)盟于2005年6月公布了無線個人局域網(wǎng)絡(luò)標(biāo)準(zhǔn)之一的ZigBee協(xié)議,它具有高通信效率、低復(fù)雜度、低功耗、低成本、高安全性及全數(shù)字化等優(yōu)點,成為最適合構(gòu)建低速率無線傳感器網(wǎng)絡(luò)(WSN)的標(biāo)準(zhǔn)之一。ZigBee的物理層、MAC層和鏈路層采用了IEEE 802.15.4(個人無線局域網(wǎng))協(xié)議標(biāo)準(zhǔn),并在此基礎(chǔ)上進(jìn)行了進(jìn)一步的完善;工作在采用直接序列擴頻的工業(yè)科學(xué)醫(yī)療(ISM)頻段,即 2.4 GHz、915 MHz、868 MHz 的免執(zhí)照頻段,非常適用于無線傳感器網(wǎng)絡(luò)。
此外,ZigBee工作在低耗電待機模式下,一塊普通的堿性電池可支持一個節(jié)點工作6個月到2年的時間,這是ZigBee的突出優(yōu)勢,特別適合用于低成本的傳感器網(wǎng)絡(luò)。把它放入森林里,可以長時間對環(huán)境的數(shù)據(jù)進(jìn)行收集,不需頻繁地更換電池[2]。
CC2430是TI公司推出的新一代ZigBee無線單片機系列芯片。CC2430除了包括RF收發(fā)器外,還集成了加強型8051單片機、具有2/64/128 Kb可編程閃存和8 Kb的RAM以及ADC、看門狗等。CC2430可工作在2.4 GHz頻段,采用低電壓(2.0~3.6 V)供電,待機時電流消耗僅0.2 μA,但靈敏度高達(dá)-91 dBm、最大輸出為+0.6 dBm、最大傳送速率為250 Kb/s。CC2430僅需添加少量的外圍元件就可以完成ZigBee通信功能的硬件實現(xiàn)。
在林區(qū)建立WSN首先遇到的問題就是如何布設(shè)WSN節(jié)點。林區(qū)的特點是面積大、地形復(fù)雜、環(huán)境惡劣,這給在林區(qū)布設(shè)無線傳感器網(wǎng)絡(luò)帶來了很大的困難。有人提出用隨機拋灑的方式[4],筆者認(rèn)為這種方式弊大于利,首先是由于拋灑的不均勻性,會導(dǎo)致有的節(jié)點因為與鄰接節(jié)點的距離過遠(yuǎn)而無法收到信號,成為孤點而失效;其次由于林區(qū)的地形復(fù)雜,有很多的陡坡和深谷,在水流和大風(fēng)的影響下,節(jié)點會發(fā)生位移,嚴(yán)重時會有大量的節(jié)點因失去聯(lián)系而成為失效的孤點,影響系統(tǒng)的穩(wěn)定性。更為重要的是,一段時間后,隨著電池的耗盡,大量的節(jié)點失效,不得不進(jìn)行新的拋灑。而那些大量含有廢電池和電子元器件的失效節(jié)點無法回收,任其長期滯留在森林里,將會造成嚴(yán)重的環(huán)境污染。
因此,節(jié)點的布設(shè)必須用人工的方式進(jìn)行,而且要進(jìn)行良好的固定,并設(shè)置明顯的標(biāo)志,失效的電池必須予以回收。盡管這會大大增加工作量,但保護(hù)森林的生態(tài)環(huán)境是第一位的。
無線傳感器節(jié)點在林區(qū)的環(huán)境下,無線發(fā)射的覆蓋范圍只有50~100 m左右,一平方公里的區(qū)域就需要布設(shè)100~200個節(jié)點,而一個林區(qū)的面積往往有幾十甚至上百平方公里,需要布設(shè)成千上萬個節(jié)點。眾多的節(jié)點會造成頻繁的無線信道的爭用沖突,導(dǎo)致重發(fā)的概率大大提高,從而降低通信效率,增加了節(jié)點的功耗。
為此,本文提出一種基于鏈狀分簇的傳感器節(jié)點布設(shè)方案,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。傳感器節(jié)點以林區(qū)的邊沿外圍為起點,向林區(qū)的深處以鏈狀的形式進(jìn)行布設(shè),每一條鏈為一個簇,簇頭(ZigBee的網(wǎng)絡(luò)協(xié)調(diào)器)固定設(shè)在林區(qū)的邊沿外圍(如林區(qū)的公路),必須有穩(wěn)定的電源供電(如太陽能電池或交流電),并配有大功率無線收發(fā)模塊,負(fù)責(zé)收集本簇各個節(jié)點所采集的數(shù)據(jù),并上傳給遠(yuǎn)處的控制中心基站,同時接收來自基站的控制命令。
傳感器節(jié)點所采集的數(shù)據(jù)經(jīng)過融合后沿著節(jié)點鏈逐跳傳遞給簇頭。為了防止因鏈中某個節(jié)點失效而導(dǎo)致斷鏈的現(xiàn)象,節(jié)點與節(jié)點之間的距離應(yīng)小于30 m,一旦某節(jié)點失效,失效節(jié)點的前、后節(jié)點之間的距離依然在無線收發(fā)的有效范圍,因此可加大前、后節(jié)點的發(fā)射強度直接建立連接,進(jìn)行隔跳傳輸。
鏈簇與鏈簇之間盡可能地拉開距離,避免相互之間的無線信號干擾,以便盡可能降低信道爭用沖突的概率。
在ZigBee中,網(wǎng)絡(luò)節(jié)點有三種類型:網(wǎng)絡(luò)協(xié)調(diào)器ZC、路由器ZR和終端節(jié)點ZED。一個簇中必須有且只能有一個ZC(簇頭)。在本方案中,除了簇頭和最遠(yuǎn)端(即簇鏈的末端)的一個節(jié)點為ZED之外,其余節(jié)點均為ZR,可根據(jù)需要在某些ZR節(jié)點上安裝傳感器,用來采集環(huán)境數(shù)據(jù),其余節(jié)點可不安裝傳感器,主要用來轉(zhuǎn)發(fā)數(shù)據(jù)。
從簇頭向簇鏈的末端方向傳輸數(shù)據(jù)稱為下行,反之向簇頭方向傳輸數(shù)據(jù)稱為上行。相對每個節(jié)點而言,上行方向相鄰的那個節(jié)點稱為該節(jié)點的父節(jié)點,下行方向相鄰的那個節(jié)點稱為該節(jié)點的子節(jié)點。因此,除簇頭沒有父節(jié)點和簇鏈末端的節(jié)點沒有子節(jié)點外,每個節(jié)點均有一個父節(jié)點和一個子節(jié)點。
系統(tǒng)的協(xié)議棧由物理層、MAC層、網(wǎng)絡(luò)層和應(yīng)用層構(gòu)成,如圖2所示。應(yīng)用層負(fù)責(zé)環(huán)境數(shù)據(jù)的采集、數(shù)據(jù)融合和喚醒周期的控制;網(wǎng)絡(luò)層負(fù)責(zé)網(wǎng)絡(luò)的建立和維護(hù)、節(jié)點的管理和數(shù)據(jù)的傳輸;MAC層負(fù)責(zé)數(shù)據(jù)包的發(fā)送和接收、信道的掃描和評估、發(fā)射功率的控制和能量檢測;CC2430及外圍硬件電路構(gòu)成物理層。
圖2 系統(tǒng)結(jié)構(gòu)
ZED由于配有穩(wěn)定的電源,始終處于蘇醒狀態(tài),隨時可以接收來自基站的最新喚醒周期表和節(jié)點路由表,以及時鐘同步值,并及時下發(fā)給每個節(jié)點。每個節(jié)點配有一個靜態(tài)的地址,地址由簇標(biāo)識和節(jié)點號組成,節(jié)點路由表給出每個節(jié)點的地址和相對位置,一般情況下,每個節(jié)點只與自己的父節(jié)點和子節(jié)點通信。
每當(dāng)安裝好一個新節(jié)點后,人工開啟新節(jié)點的父節(jié)點,使新節(jié)點與父節(jié)點建立連接,并接收父節(jié)點下發(fā)的喚醒周期表、節(jié)點路由表和時鐘同步值,直至所有節(jié)點都建立好連接。
為降低功耗,ZigBee采用周期性喚醒的方式工作,所有節(jié)點嚴(yán)格按照喚醒周期表同步喚醒,完成數(shù)據(jù)傳輸后即進(jìn)入休眠狀態(tài),并按照喚醒周期表決定下一次喚醒時間。數(shù)據(jù)傳輸過程如下:
(1)所有節(jié)點在同一時間同步喚醒。
(2)首先簇頭啟動下行連接流程,呼叫自己的子節(jié)點,建立連接,成功后,該子節(jié)點繼續(xù)呼叫自己的子節(jié)點,直至所有節(jié)點都與自己的父節(jié)點建立好連接,如果此時有新的喚醒周期表或其他控制命令或信息需要下發(fā),則在建立連接時同時下發(fā)。
(3)安裝有傳感器的節(jié)點在與自己的子節(jié)點建立好連接后即進(jìn)行環(huán)境數(shù)據(jù)的采集操作,做好數(shù)據(jù)上傳準(zhǔn)備。
(4)最末端的節(jié)點采集好數(shù)據(jù)后即刻進(jìn)行上行的數(shù)據(jù)傳輸流程,將數(shù)據(jù)傳送給自己的父節(jié)點,父節(jié)點將自己的數(shù)據(jù)與子節(jié)點傳來的數(shù)據(jù)合并后再傳送給自己的父節(jié)點,直至所有數(shù)據(jù)匯集到簇頭,由簇頭傳送給基站。每個節(jié)點完成向父節(jié)點的數(shù)據(jù)傳輸后即進(jìn)入休眠狀態(tài)。
3.3.1 信道沖突的解決
在WSN中,如果在無線信號覆蓋范圍內(nèi)兩個或兩個以上的節(jié)點同時使用了相同的信道進(jìn)行發(fā)射,就會發(fā)生信道沖突,按照ZigBee的規(guī)范,信道沖突按照CSMACA協(xié)議進(jìn)行退避和重發(fā),頻繁的信道沖突不僅增加了網(wǎng)絡(luò)時延,也額外地消耗了節(jié)點的寶貴能量。本設(shè)計方案中,由于采用了鏈狀的拓?fù)浣Y(jié)構(gòu),每個節(jié)點在與自己的父節(jié)點建立好連接后再呼叫自己的子節(jié)點,在傳送數(shù)據(jù)時收到子節(jié)點的數(shù)據(jù)后再向自己的父節(jié)點上傳數(shù)據(jù),因此一般情況下不會產(chǎn)生信道沖突。另外,簇與簇之間的距離可以足夠大,或限定各個簇鏈?zhǔn)褂貌煌男诺澜M,都可以避免簇與簇之間相互的信號干擾。但即使如此也不能完全排除其他原因(如孤點的恢復(fù))可能產(chǎn)生的信道沖突,因此MAC層在發(fā)射前須進(jìn)行信道的評估,如果發(fā)生信道沖突則按照CSMA-CA協(xié)議進(jìn)行退避和重發(fā)。
3.3.2 孤點的處理
孤點是指因某種原因與網(wǎng)絡(luò)失去聯(lián)系的節(jié)點(包括因為電池失效或硬件故障的失效節(jié)點)。當(dāng)某節(jié)點呼叫子節(jié)點3次均未收到子節(jié)點的響應(yīng),則認(rèn)為該子節(jié)點已成為孤點。父節(jié)點保存此時所使用的喚醒周期表,然后加大發(fā)射功率直接呼叫孤點的子節(jié)點,如果成功則將該子節(jié)點劃為自己的子節(jié)點,并在數(shù)據(jù)上傳時向基站匯報??紤]到節(jié)點的失效未必是永久性的,例如由于干擾造成程序的紊亂,看門狗使能后即可恢復(fù)正常,因此有必要在下一次喚醒時進(jìn)行孤點恢復(fù)操作,其流程如下:
(1)由基站下達(dá)啟動孤點恢復(fù)操作的命令。
(2)由孤點的原父節(jié)點執(zhí)行孤點恢復(fù)操作的命令,該節(jié)點將按照所保存的舊喚醒周期表嘗試向孤點進(jìn)行呼叫,嘗試的次數(shù)以基站下達(dá)的命令中給出。
(3)如果呼叫孤點成功,則恢復(fù)原有的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),否則保持現(xiàn)有的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
(4)在下一次上傳數(shù)據(jù)時向基站匯報操作的結(jié)果。
3.3.3 節(jié)能措施
傳感器節(jié)點采用電池供電的方式獲取能源,在林區(qū)的環(huán)境下,頻繁地給大規(guī)模的傳感器節(jié)點更換電池是不現(xiàn)實的。因此,要考慮如何高效、合理地使用能源,以盡可能地延長電池的壽命。在本方案中,鄰接節(jié)點的距離小于30 m,盡管這樣會增加節(jié)點的數(shù)目,從而增加成本,但這樣做有幾個明顯的好處:(1)由于距離近,可以采用小功率的發(fā)射,可有效地節(jié)約能源。(2)小功率的發(fā)射可以降低信道沖突的概率,信道沖突的減少對能源的節(jié)約十分有利。(3)當(dāng)某節(jié)點成為孤點時,與孤點相鄰的上下兩個節(jié)點可直接建立連接,有效地提高了網(wǎng)絡(luò)的堅固性。
本文所提出的設(shè)計方案為物聯(lián)網(wǎng)技術(shù)在林業(yè)環(huán)境監(jiān)測中的應(yīng)用提供了一條新思路。由于鏈狀分簇的設(shè)計可以根據(jù)實際情況靈活地選擇鏈簇的數(shù)目,從而有效地提高了系統(tǒng)建設(shè)的靈活性。同時,本方案在減少信道沖突和節(jié)約能源方面具有一定的優(yōu)勢。但本設(shè)計方案目前只是在實驗室里進(jìn)行了可行性實驗,真正應(yīng)用到實際環(huán)境中還會有很多問題,需要進(jìn)一步研究解決。
[1]葉慧坤.無線傳感器網(wǎng)絡(luò)及其在林業(yè)中的應(yīng)用[J].福建林業(yè)科技,2009,36(3)∶253.
[2]靳仁昌,趙金川,包長春,等.基于 ZigBee技術(shù)的森林防火預(yù)警系統(tǒng)設(shè)計 [J].河北科技師范學(xué)院學(xué)報,2009,23(2)∶56.
[3]呂治安.ZigBee網(wǎng)絡(luò)原理與應(yīng)用開發(fā)[M].北京∶北京航空航天大學(xué)出版社,2008.
[4]肖迎春.拋撒式森林防火監(jiān)控網(wǎng)絡(luò)[J].深圳職業(yè)技術(shù)學(xué)院 學(xué) 報,2007(3)∶25-28.