無線傳感器網(wǎng)絡(luò)拓撲結(jié)構(gòu)和連通性監(jiān)測平臺
作者:鞠芳,劉珩 來源:RFID世界網(wǎng) 2011-08-04 10:46:13
【摘要】無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,通過無線通信方式組成的一個多跳的自組織網(wǎng)絡(luò)系統(tǒng),是一種全新的信息獲取和處理技術(shù)。本文基于Freescale 公司的MC1321x-NCB 套件實現(xiàn)了無線傳感器網(wǎng)絡(luò)的構(gòu)建。以鄰接矩陣和網(wǎng)絡(luò)拓撲結(jié)構(gòu)之間的對應(yīng)關(guān)系作為理論基礎(chǔ),自主設(shè)計和實現(xiàn)對無線傳感器網(wǎng)絡(luò)拓撲結(jié)構(gòu)的實時監(jiān)控。并最終,對監(jiān)控平臺進行了測試。
1.引 言無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)是組織無線傳感器節(jié)點的組網(wǎng)技術(shù),有多種形態(tài)和組網(wǎng)方式。對無線傳感器拓撲結(jié)構(gòu)及連通性的檢測分析有一定的實際意義。其結(jié)果可以用于拓撲控制、覆蓋計算等研究并能為偵查、評估等應(yīng)用服務(wù)。
本文基于較為成熟的無線傳感器網(wǎng)絡(luò)——Zigbee進行研究。采用Freescale公司的MC1321x-NCB 套件實現(xiàn)網(wǎng)絡(luò)的組建。通過編程對網(wǎng)絡(luò)的連通性進行查詢和獲取;利用串口通信存儲獲取的信息;最終根據(jù)已有信息實時重建網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
2.無線傳感器網(wǎng)絡(luò)拓撲結(jié)構(gòu)的鄰接矩陣表示
2.1圖的鄰接矩陣
當(dāng)我們需要一個圖的非圖形表示時(例如使用計算機時),通常我們利用圖的鄰接矩陣來描述它的結(jié)構(gòu)。
在圖論中,通常根據(jù)圖頂點之間的邊的連接情況將圖分為有向圖和無向圖兩種。無向圖是指在圖的頂點與頂點之間存在的邊是無向邊。由于網(wǎng)絡(luò)拓撲的不確定性,可將無線傳感器網(wǎng)絡(luò)抽象成一個無向圖。網(wǎng)絡(luò)中的設(shè)備可用無向圖中的節(jié)點表示。連接關(guān)系也可用節(jié)點之間的邊表示。無向圖可以看作網(wǎng)絡(luò)拓撲結(jié)構(gòu)的抽象圖。
而數(shù)學(xué)上,無向圖可以表示成鄰接矩陣的矩陣形式,兩個節(jié)點相連則鄰接矩陣中相對應(yīng)的數(shù)據(jù)項為“1”,其余的都表示為“0”。由此,無向圖節(jié)點之間的連接關(guān)系又可以表示成鄰接矩陣的形式。圖2-2 即是一個網(wǎng)絡(luò)的拓撲結(jié)構(gòu)、無向圖和鄰接矩陣三者之間的轉(zhuǎn)換關(guān)系。
圖2-2網(wǎng)絡(luò)結(jié)構(gòu)、無向圖、鄰接矩陣三者關(guān)系
圖2-3目標(biāo)網(wǎng)絡(luò)拓撲結(jié)構(gòu)重建流程圖
在本文中,我們采用Freescale公司的MC1321x-NCB套件實現(xiàn)星型Zigbee網(wǎng)絡(luò)的組建。
3.1Zigbee網(wǎng)絡(luò)的組建過程
將所有節(jié)點布置完畢,打開電源后,Zigbee協(xié)調(diào)器(NCB)開始組建網(wǎng)絡(luò),而終端設(shè)備(SRB)則周期性的發(fā)送信號,詢問是否有路由器或協(xié)調(diào)器可以連接而加入網(wǎng)絡(luò)。
?。?)Zigbee協(xié)調(diào)器(NCB)建立網(wǎng)絡(luò)的過程
在進行初始化之后,Zigbee協(xié)調(diào)器通過向網(wǎng)絡(luò)層發(fā)送網(wǎng)絡(luò)形成請求原語請求開始建立新網(wǎng)絡(luò)。它首先對2.4GHz—2.4835GHz標(biāo)號為11至26的16個信道進行能量掃描,選取能量值最低的信道,即存在其他Zigbee網(wǎng)絡(luò)最少的信道[3]。之后,協(xié)調(diào)器為自身選擇一個短地址。最后,協(xié)調(diào)器為整個網(wǎng)絡(luò)選擇一個不與現(xiàn)存網(wǎng)絡(luò)沖突的PAN ID。這樣,協(xié)調(diào)器建立了新的網(wǎng)絡(luò),它可以允許其他設(shè)備加入到網(wǎng)絡(luò)中。
?。?)Zigbee終端設(shè)備(SRB)加入網(wǎng)絡(luò)過程
同協(xié)調(diào)器一樣,終端設(shè)備首先也要對所有的16個信道進行能量掃描,并通過媒體訪問控制子層的管理服務(wù)(MLME)發(fā)送信標(biāo)請求。如果收到了回復(fù)的信標(biāo)幀,代表該信道中存在網(wǎng)絡(luò),設(shè)備將把信標(biāo)幀中的信息(發(fā)送信標(biāo)設(shè)備地址,網(wǎng)絡(luò)標(biāo)識符,可否連接等)存儲下來。在掃描完所有的信道后,Zigbee終端設(shè)備將選擇一個網(wǎng)絡(luò)加入,并連接至這個網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點。如果與父設(shè)備連接成功,父設(shè)備會分配一個16位的網(wǎng)絡(luò)地址,該網(wǎng)絡(luò)地址在此網(wǎng)絡(luò)中是唯一的,并且該設(shè)備在以后的通信中將使用這個地址[3]。連接完畢后,終端設(shè)備即可通過向父設(shè)備發(fā)送詢問請求,來確定父設(shè)備是否有數(shù)據(jù)要發(fā)送給自身。如果有,該數(shù)據(jù)會在父設(shè)備的回復(fù)中一并發(fā)送。終端節(jié)點在第一次詢問沒有回復(fù)之前,不能夠發(fā)送第二次訊問請求。
3.2Zigbee 網(wǎng)絡(luò)連通性的獲取
由Zigbee協(xié)調(diào)器(NCB)每三秒準(zhǔn)備一個二進制數(shù)據(jù)向子設(shè)備發(fā)送,該數(shù)據(jù)為0-15的遞增循環(huán)顯示。與此同時,子設(shè)備每3秒鐘將會向父節(jié)點發(fā)送一個查詢請求,詢問是否有發(fā)給自身的數(shù)據(jù)已經(jīng)準(zhǔn)備好。如果數(shù)據(jù)被取走,則清空;如果沒有,我們將設(shè)置一個參數(shù)作為標(biāo)記。三次取數(shù)據(jù)失敗后,該子設(shè)備將被認定已經(jīng)與協(xié)調(diào)器斷開連接。由此,網(wǎng)絡(luò)的拓撲結(jié)構(gòu)發(fā)生了變化。查詢的簡要流程圖如下:
圖3流程圖
4.1 監(jiān)測平臺的設(shè)計
在成功獲取網(wǎng)絡(luò)連通性的基礎(chǔ)上,監(jiān)測平臺簡化為兩大部分。一個是串口通信部分,用于將發(fā)送至串口的信息實時地讀取并存儲至計算機的文檔內(nèi);另一個是圖形界面部分,根據(jù)所存儲的文檔,實現(xiàn)拓撲結(jié)構(gòu)的重構(gòu)。
在本文中,使用VC++中的MSComm控件來實現(xiàn)串口通信。
選擇COM7口,以二進制方式讀寫數(shù)據(jù),波特率19200,無校驗位,8個數(shù)據(jù)位,一個停止位。當(dāng)緩沖區(qū)中有一個及一個以上字符時,將引發(fā)接收數(shù)據(jù)的OnComm事件。并將緩沖區(qū)內(nèi)容全部讀取。
免責(zé)聲明:本文僅代表作者個人觀點,與自動化網(wǎng)無關(guān)。對本文及其中內(nèi)容、文字的真實性、完整性、及時性,本站不作任何保證或承諾。請讀者僅供參考。
評論排行