摘 要:本文提出了使用zigbee技術構建簇樹形拓撲結構的無線傳感器網絡。首先,概述了無線傳感器網絡的特點;其次,重點闡述了此類拓撲結構的無線傳感器網絡協議設計思想;最后,在實際的硬件環(huán)境下驗證所設計的協議。
關鍵字:無線傳感器網絡;zigbee;自愈合
Abstract: This paper brings forward to construct cluster-tree wireless sensor network which is based on zigbee technology. Firstly, it talks about features of wireless sensor networks. Then, it mainly talks about key points of designing this type of network. Finally, we test the protocol on real hardware.
Key words: Wireless Sensor Networks; Zigbee; Self-health
1 引言
無線傳感器網絡是由多個無線網絡傳感器構成,這些傳感器集傳感器執(zhí)行、控制器和通信裝置于一體,集傳感與驅動控制能力、計算能力、通信能力于一身的資源受限的嵌入式設備。由這些微型傳感器構成的無線傳感器網絡能夠實時監(jiān)測、感知和采集網絡分布區(qū)域內的各種監(jiān)測對象信息,并對這些信息進行處理,傳送給需要這些信息的用戶。無線傳感器網絡具有自組織、自愈、多跳等特點,并且節(jié)點放置位置大多固定。由于有些無線傳感器現場工作環(huán)境比較惡劣,因此在設計無線傳感器網絡協議的時候就必須充分考慮傳感器節(jié)點的節(jié)能問題和采集數據的實時性傳輸問題。
ZigBee技術是一個具有統(tǒng)一技術標準的短距離無線通信技術,其PHY層和MAC層協議為IEEE802.15.4協議標準。本文提出的無線傳感器網絡工作在全球通用的ISM(Industrial,Scientific and Medica1)免付費頻段2.4GHz上,其數據傳輸速率為250Kb/s,劃分為16個信道。與藍牙或802.11b等同屬短距離無線通信技術相比,ZigBee技術具有先天的優(yōu)勢。ZigBee設備為低功耗設備,具有能量檢測和鏈路質量指示的功能。同時,由于采用了碰撞避免機制(CSMA—CA),避免了發(fā)送數據時的沖突。在網絡安全方面,采用了密鑰長度為128位的加密算法,對所傳輸的數據信息進行加密處理,保證了數據傳輸時的高可靠性和安全性。
用ZigBee技術組成的無線傳感器網絡結構簡單、體積小、性價比高、放置靈活、擴展簡便、成本低、功耗低、安全可靠,這種新興的無線傳感器網絡必將有廣泛的應用前景。
2 Zigbee無線傳感器網絡
目前,zigbee技術在國外已經在家庭網絡、控制網絡、手機移動終端等領域有了一定的應用,但是現有zigbee技術構成的網絡都是僅限于zigbee技術的無線個域網(WPN)拓撲結構,每個接入點所能接納的傳感器的節(jié)點數遠遠低于協議所標稱的255個,為了達到傳感器網絡密集覆蓋的目的,就必須進行復雜的組網,這不僅增加了網絡的復雜性,還增加了網絡整體的功耗,傳感器節(jié)點的壽命大大降低。本文提出的是構建簇樹形拓撲結構的無線傳感器網絡。網絡示意圖如圖1:
[align=center]
圖 1 簇形傳感網絡示意圖[/align]
在此網絡中鄰近區(qū)域內的節(jié)點構成了一個簇,每個簇有且僅有一個簇頭,相鄰的簇頭又循環(huán)構成了另一個簇,這樣依次反復,構成了一個樹形結構的傳感網絡。在此結構中,樹根節(jié)點作為整個網絡的協調器可以和PC機相連,接收傳感器所采集的數據,并對數據進行顯示和處理。
3 網絡協議的設計
3.1網絡的自組織
無線傳感器網絡最初是由全功能設備(FFD)的節(jié)點發(fā)起并建立,無線傳感器網絡建立后,此發(fā)起設備就作為整個網絡協調器,該協調器可以通過串行接口和PC相連接,處理接收到的各種數據,也可以和其他異種網絡進行數據交換。節(jié)點自發(fā)建網過程如下:FFD節(jié)點首先進行信道能量檢測(ED),選取檢測到的能量峰值最小的那個信道作為要建立的無線傳感器網絡的數據傳輸信道;然后在此信道上發(fā)送跨網信標(beacon)請求幀,用以獲取節(jié)點操作范圍內其他無線傳感器網絡信息參數,在接收到beacon幀后,選擇未被使用的網絡標號,最后根據已確定的網絡信道號、網絡標號及其他相關參數來設定硬件中相關寄存器的值,至此無線傳感網中網絡協調器就形成了。圖2是設備自發(fā)建網示意圖。
[align=center]
圖 2 設備自發(fā)建網示意圖[/align]
當一個節(jié)點要申請加入已經建好的無線傳感器網絡的時候,此節(jié)點首先預設好網絡標號和使用的信道,然后發(fā)送網內beacon請求廣播幀,在接收到多個帶有鏈路質量信號參數的beacon幀后,選取鏈路質量較好、剩余能量較多的節(jié)點進行連接,向相應的協調器發(fā)送入網請求命令幀,協調器允許后會分配網內短地址給該節(jié)點。每個節(jié)點都有一張鄰居表,并且對其動態(tài)維護。在該鄰居表中含有一個父節(jié)點地址(除了根節(jié)點)和多個子節(jié)點地址(除了葉結點)。依次重復這樣的過程,所有的節(jié)點就可以自組成一個簇樹狀的無線傳感網。圖3是節(jié)點入網握手示意圖:
[align=center]
圖 3 節(jié)點入網握手示意圖
圖 4 節(jié)點出網握手示意圖[/align]
同理,一個節(jié)點要離開網絡的話,只要向其父節(jié)點發(fā)送請求命令幀,父節(jié)點在接收到請求后會做出相應的操作并發(fā)送響應幀給于回應。圖4是節(jié)點出網握手示意圖。
3.2網絡的自愈合和自節(jié)能
無線傳感器網絡除了節(jié)點有自組網能力外,還具有自愈和自節(jié)能的特點。當某一節(jié)點因為某種客觀環(huán)境原因或是原傳感網參數發(fā)生變化,導致此節(jié)點和傳感網脫離,脫離節(jié)點可以發(fā)送孤立(orphan)顯示請求幀給協調器,協調器在接收到請求幀后確定此節(jié)點是不是自己原先的孩子節(jié)點,在做出判定后向該節(jié)點發(fā)送響應幀,以確定是否重新接收該節(jié)點為自己的孩子節(jié)點。圖5 為orphan請求的握手示意圖。
[align=center]
圖5 節(jié)點orphan請求的握手示意圖[/align]
由于無線傳感器網絡中的協調器具有多跳的功能,那么充當協調器的節(jié)點就會為轉發(fā)接收到的數據而耗費額外的能量開銷。因此,我們設定一個最低能量極限值,并且使節(jié)點周期性的檢測當前所剩余的能量值,當檢測到本節(jié)點的剩余能量低于此極限值時,則此協調器向其所有孩子節(jié)點發(fā)送出網命令幀,隨之,各子節(jié)點相繼執(zhí)行入網的相關操作后,脫離了原先的父節(jié)點,而依附于新的協調器節(jié)點。此時原先的協調器節(jié)點就成為了葉節(jié)點,不用承擔數據轉發(fā)的責任,從而達到減小能耗的要求,增加了該節(jié)點使用壽命,進而提高了整個無線傳感器網絡的使用年限。
3.3 幀的形成和轉發(fā)
每個節(jié)點通過傳感裝置所獲取到的數據,經過節(jié)點處理后形成幀,而后將此幀發(fā)向其父節(jié)點,依次循環(huán),最終由網絡協調器獲得,隨后交由PC來處理。
Zigbee協議定義了四種幀,分別是:命令幀,數據幀,beacon幀,確認幀。通用幀的格式如表1所示:
表 1通用幀格式
幀控制域中主要包括了幀類型和源、目的地址模式。
4.結束語
在測試中,我們使用三個無線傳感器節(jié)點來構建對等網絡。其中,有一個節(jié)點通過串口和PC相連,作為網絡協調器,通過它可以將采集到的數據交給PC機。無線傳感器節(jié)點主要以Philips公司的p89lpc932單片機為核心,無線數據收發(fā)芯片采用Ubec公司的基于zigbee協議的UZ2400,節(jié)點硬件概況圖如下。通常情況下節(jié)點一般處于休眠狀態(tài),當有中斷請求時激活節(jié)點工作,接收數據。
[align=center]
圖6 無線傳感器節(jié)點硬件概況圖[/align]
初步實驗結果表明:由PC機向網絡協調器發(fā)送自組網指令后,其他兩個無線傳感器節(jié)點都能正常的入網,各節(jié)點之間能夠正常的發(fā)送和接收數據。同時,網絡協調器可以把自身采集的數據或是由其他傳感器傳送過來的數據交由PC機處理。
由于,相比使用其他無線設備來構建傳感網,所花費的成本要低,自組網能力強,相信利用此種技術來構建無線傳感網的前景將非常樂觀。
參考文獻:
[1]ZigBee Alliance. Catch the buzz on ZigBee[DB/OL]. http://www. ZigBee. Org/en/resources, 2007-02-11.
[2]Microchip Technology Inc. Microchip stack for the ZigBee protocol[DB/OL]. http://www. Microchip. Com,2007-03-14.
[3]Kevin Dankwardt. Real-Time and Linux[J].Embedded Linux Journa1,2002,issue7:29-32.
[4]Bate. real-time embedded system[J].Computing & Control Engineering Journal,2002, 13(4):154-156.
[5] 劉瑞強,馮長安.基于zigbee的無線傳感器網絡[J].遙測遙控,2006,9:12-13.
[6] 朱向慶,王建明.zigbee協議網絡層的研究與實現[J].電子技術應用,2006,1:87-89.
[7] 施承,宋鐵成.基于zigbee協議的無線傳感器網絡節(jié)點的研制[J].廣東通信技術,2006,1:18-19.
[8] 陳新光,陸以勤,呂錦.基于Zigbee 協議的OSGi 無線家庭網關設計[J].微計算機信息,2006,9-2:22-26.