基于Zigbee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )協(xié)議的設計
1 引言
本文引用地址:http://dyxdggzs.com/article/158175.htm無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是由多個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )傳感器構成,這些傳感器集傳感器執行、控制器和通信裝置于一體,集傳感與驅動(dòng)控制能力、計算能力、通信能力于一身的資源受限的嵌入式設備。由這些微型傳感器構成的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )能夠實(shí)時(shí)監測、感知和采集網(wǎng)絡(luò )分布區域內的各種監測對象信息,并對這些信息進(jìn)行處理,傳送給需要這些信息的用戶(hù)。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )具有自組織、自愈、多跳等特點(diǎn),并且節點(diǎn)放置位置大多固定。由于有些無(wú)線(xiàn)傳感器現場(chǎng)工作環(huán)境比較惡劣,因此在設計無(wú)線(xiàn)傳感器網(wǎng)絡(luò )協(xié)議的時(shí)候就必須充分考慮傳感器節點(diǎn)的節能問(wèn)題和采集數據的實(shí)時(shí)性傳輸問(wèn)題。
ZigBee技術(shù)是一個(gè)具有統一技術(shù)標準的短距離無(wú)線(xiàn)通信技術(shù),其PHY層和MAC層協(xié)議為IEEE802.15.4協(xié)議標準。本文提出的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )工作在全球通用的ISM(Industrial,Scientific and Medica1)免付費頻段2.4GHz上,其數據傳輸速率為250Kb/s,劃分為16個(gè)信道。與藍牙或802.11b等同屬短距離無(wú)線(xiàn)通信技術(shù)相比,ZigBee技術(shù)具有先天的優(yōu)勢。ZigBee設備為低功耗設備,具有能量檢測和鏈路質(zhì)量指示的功能。同時(shí),由于采用了碰撞避免機制(CSMA―CA),避免了發(fā)送數據時(shí)的沖突。在網(wǎng)絡(luò )安全方面,采用了密鑰長(cháng)度為128位的加密算法,對所傳輸的數據信息進(jìn)行加密處理,保證了數據傳輸時(shí)的高可靠性和安全性。
用ZigBee技術(shù)組成的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )結構簡(jiǎn)單、體積小、性?xún)r(jià)比高、放置靈活、擴展簡(jiǎn)便、成本低、功耗低、安全可靠,這種新興的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )必將有廣泛的應用前景。
2 Zigbee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )
目前,zigbee技術(shù)在國外已經(jīng)在家庭網(wǎng)絡(luò )、控制網(wǎng)絡(luò )、手機移動(dòng)終端等領(lǐng)域有了一定的應用,但是現有zigbee技術(shù)構成的網(wǎng)絡(luò )都是僅限于zigbee技術(shù)的無(wú)線(xiàn)個(gè)域網(wǎng)(WPN)拓撲結構,每個(gè)接入點(diǎn)所能接納的傳感器的節點(diǎn)數遠遠低于協(xié)議所標稱(chēng)的255個(gè),為了達到傳感器網(wǎng)絡(luò )密集覆蓋的目的,就必須進(jìn)行復雜的組網(wǎng),這不僅增加了網(wǎng)絡(luò )的復雜性,還增加了網(wǎng)絡(luò )整體的功耗,傳感器節點(diǎn)的壽命大大降低。本文提出的是構建簇樹(shù)形拓撲結構的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )。網(wǎng)絡(luò )示意圖如圖1:
圖 1 簇形傳感網(wǎng)絡(luò )示意圖
在此網(wǎng)絡(luò )中鄰近區域內的節點(diǎn)構成了一個(gè)簇,每個(gè)簇有且僅有一個(gè)簇頭,相鄰的簇頭又循環(huán)構成了另一個(gè)簇,這樣依次反復,構成了一個(gè)樹(shù)形結構的傳感網(wǎng)絡(luò )。在此結構中,樹(shù)根節點(diǎn)作為整個(gè)網(wǎng)絡(luò )的協(xié)調器可以和PC機相連,接收傳感器所采集的數據,并對數據進(jìn)行顯示和處理。
3 網(wǎng)絡(luò )協(xié)議的設計
3.1網(wǎng)絡(luò )的自組織
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )最初是由全功能設備(FFD)的節點(diǎn)發(fā)起并建立,無(wú)線(xiàn)傳感器網(wǎng)絡(luò )建立后,此發(fā)起設備就作為整個(gè)網(wǎng)絡(luò )協(xié)調器,該協(xié)調器可以通過(guò)串行接口和PC相連接,處理接收到的各種數據,也可以和其他異種網(wǎng)絡(luò )進(jìn)行數據交換。節點(diǎn)自發(fā)建網(wǎng)過(guò)程如下:FFD節點(diǎn)首先進(jìn)行信道能量檢測(ED),選取檢測到的能量峰值最小的那個(gè)信道作為要建立的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的數據傳輸信道;然后在此信道上發(fā)送跨網(wǎng)信標(beacon)請求幀,用以獲取節點(diǎn)操作范圍內其他無(wú)線(xiàn)傳感器網(wǎng)絡(luò )信息參數,在接收到beacon幀后,選擇未被使用的網(wǎng)絡(luò )標號,最后根據已確定的網(wǎng)絡(luò )信道號、網(wǎng)絡(luò )標號及其他相關(guān)參數來(lái)設定硬件中相關(guān)寄存器的值,至此無(wú)線(xiàn)傳感網(wǎng)中網(wǎng)絡(luò )協(xié)調器就形成了。圖2是設備自發(fā)建網(wǎng)示意圖。
圖 2 設備自發(fā)建網(wǎng)示意圖
當一個(gè)節點(diǎn)要申請加入已經(jīng)建好的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的時(shí)候,此節點(diǎn)首先預設好網(wǎng)絡(luò )標號和使用的信道,然后發(fā)送網(wǎng)內beacon請求廣播幀,在接收到多個(gè)帶有鏈路質(zhì)量信號參數的beacon幀后,選取鏈路質(zhì)量較好、剩余能量較多的節點(diǎn)進(jìn)行連接,向相應的協(xié)調器發(fā)送入網(wǎng)請求命令幀,協(xié)調器允許后會(huì )分配網(wǎng)內短地址給該節點(diǎn)。每個(gè)節點(diǎn)都有一張鄰居表,并且對其動(dòng)態(tài)維護。在該鄰居表中含有一個(gè)父節點(diǎn)地址(除了根節點(diǎn))和多個(gè)子節點(diǎn)地址(除了葉結點(diǎn))。依次重復這樣的過(guò)程,所有的節點(diǎn)就可以自組成一個(gè)簇樹(shù)狀的無(wú)線(xiàn)傳感網(wǎng)。圖3是節點(diǎn)入網(wǎng)握手示意圖:
圖 3 節點(diǎn)入網(wǎng)握手示意圖 圖 4 節點(diǎn)出網(wǎng)握手示意圖
同理,一個(gè)節點(diǎn)要離開(kāi)網(wǎng)絡(luò )的話(huà),只要向其父節點(diǎn)發(fā)送請求命令幀,父節點(diǎn)在接收到請求后會(huì )做出相應的操作并發(fā)送響應幀給于回應。圖4是節點(diǎn)出網(wǎng)握手示意圖。
3.2網(wǎng)絡(luò )的自愈合和自節能
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )除了節點(diǎn)有自組網(wǎng)能力外,還具有自愈和自節能的特點(diǎn)。當某一節點(diǎn)因為某種客觀(guān)環(huán)境原因或是原傳感網(wǎng)參數發(fā)生變化,導致此節點(diǎn)和傳感網(wǎng)脫離,脫離節點(diǎn)可以發(fā)送孤立(orphan)顯示請求幀給協(xié)調器,協(xié)調器在接收到請求幀后確定此節點(diǎn)是不是自己原先的孩子節點(diǎn),在做出判定后向該節點(diǎn)發(fā)送響應幀,以確定是否重新接收該節點(diǎn)為自己的孩子節點(diǎn)。圖5 為orphan請求的握手示意圖。
圖5 節點(diǎn)orphan請求的握手示意圖
由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中的協(xié)調器具有多跳的功能,那么充當協(xié)調器的節點(diǎn)就會(huì )為轉發(fā)接收到的數據而耗費額外的能量開(kāi)銷(xiāo)。因此,我們設定一個(gè)最低能量極限值,并且使節點(diǎn)周期性的檢測當前所剩余的能量值,當檢測到本節點(diǎn)的剩余能量低于此極限值時(shí),則此協(xié)調器向其所有孩子節點(diǎn)發(fā)送出網(wǎng)命令幀,隨之,各子節點(diǎn)相繼執行入網(wǎng)的相關(guān)操作后,脫離了原先的父節點(diǎn),而依附于新的協(xié)調器節點(diǎn)。此時(shí)原先的協(xié)調器節點(diǎn)就成為了葉節點(diǎn),不用承擔數據轉發(fā)的責任,從而達到減小能耗的要求,增加了該節點(diǎn)使用壽命,進(jìn)而提高了整個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的使用年限。
3.3 幀的形成和轉發(fā)
每個(gè)節點(diǎn)通過(guò)傳感裝置所獲取到的數據,經(jīng)過(guò)節點(diǎn)處理后形成幀,而后將此幀發(fā)向其父節點(diǎn),依次循環(huán),最終由網(wǎng)絡(luò )協(xié)調器獲得,隨后交由PC來(lái)處理。
Zigbee協(xié)議定義了四種幀,分別是:命令幀,數據幀,beacon幀,確認幀。通用幀的格式如表1所示:
表 1通用幀格式
幀控制域中主要包括了幀類(lèi)型和源、目的地址模式。
4.結束語(yǔ)
在測試中,我們使用三個(gè)無(wú)線(xiàn)傳感器節點(diǎn)來(lái)構建對等網(wǎng)絡(luò )。其中,有一個(gè)節點(diǎn)通過(guò)串口和PC相連,作為網(wǎng)絡(luò )協(xié)調器,通過(guò)它可以將采集到的數據交給PC機。無(wú)線(xiàn)傳感器節點(diǎn)主要以Philips公司的p89lpc932單片機為核心,無(wú)線(xiàn)數據收發(fā)芯片采用Ubec公司的基于zigbee協(xié)議的UZ2400,節點(diǎn)硬件概況圖如下。通常情況下節點(diǎn)一般處于休眠狀態(tài),當有中斷請求時(shí)激活節點(diǎn)工作,接收數據。
圖6 無(wú)線(xiàn)傳感器節點(diǎn)硬件概況圖
初步實(shí)驗結果表明:由PC機向網(wǎng)絡(luò )協(xié)調器發(fā)送自組網(wǎng)指令后,其他兩個(gè)無(wú)線(xiàn)傳感器節點(diǎn)都能正常的入網(wǎng),各節點(diǎn)之間能夠正常的發(fā)送和接收數據。同時(shí),網(wǎng)絡(luò )協(xié)調器可以把自身采集的數據或是由其他傳感器傳送過(guò)來(lái)的數據交由PC機處理。
由于,相比使用其他無(wú)線(xiàn)設備來(lái)構建傳感網(wǎng),所花費的成本要低,自組網(wǎng)能力強,相信利用此種技術(shù)來(lái)構建無(wú)線(xiàn)傳感網(wǎng)的前景將非常樂(lè )觀(guān)。
評論