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