無(wú)線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和連通性監(jiān)測(cè)平臺(tái)

作者:鞠芳,劉珩 來(lái)源:RFID世界網(wǎng) 2011-08-04 10:46:13

【摘要】無(wú)線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式組成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),是一種全新的信息獲取和處理技術(shù)。本文基于Freescale 公司的MC1321x-NCB 套件實(shí)現(xiàn)了無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)建。以鄰接矩陣和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系作為理論基礎(chǔ),自主設(shè)計(jì)和實(shí)現(xiàn)對(duì)無(wú)線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的實(shí)時(shí)監(jiān)控。并最終,對(duì)監(jiān)控平臺(tái)進(jìn)行了測(cè)試。

1.引 言
  無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是組織無(wú)線傳感器節(jié)點(diǎn)的組網(wǎng)技術(shù),有多種形態(tài)和組網(wǎng)方式。對(duì)無(wú)線傳感器拓?fù)浣Y(jié)構(gòu)及連通性的檢測(cè)分析有一定的實(shí)際意義。其結(jié)果可以用于拓?fù)淇刂?、覆蓋計(jì)算等研究并能為偵查、評(píng)估等應(yīng)用服務(wù)。
  本文基于較為成熟的無(wú)線傳感器網(wǎng)絡(luò)——Zigbee進(jìn)行研究。采用Freescale公司的MC1321x-NCB 套件實(shí)現(xiàn)網(wǎng)絡(luò)的組建。通過(guò)編程對(duì)網(wǎng)絡(luò)的連通性進(jìn)行查詢和獲?。焕么谕ㄐ糯鎯?chǔ)獲取的信息;最終根據(jù)已有信息實(shí)時(shí)重建網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
  2.無(wú)線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鄰接矩陣表示
  2.1圖的鄰接矩陣
  當(dāng)我們需要一個(gè)圖的非圖形表示時(shí)(例如使用計(jì)算機(jī)時(shí)),通常我們利用圖的鄰接矩陣來(lái)描述它的結(jié)構(gòu)。


  2.2目標(biāo)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)重現(xiàn)
  在圖論中,通常根據(jù)圖頂點(diǎn)之間的邊的連接情況將圖分為有向圖和無(wú)向圖兩種。無(wú)向圖是指在圖的頂點(diǎn)與頂點(diǎn)之間存在的邊是無(wú)向邊。由于網(wǎng)絡(luò)拓?fù)涞牟淮_定性,可將無(wú)線傳感器網(wǎng)絡(luò)抽象成一個(gè)無(wú)向圖。網(wǎng)絡(luò)中的設(shè)備可用無(wú)向圖中的節(jié)點(diǎn)表示。連接關(guān)系也可用節(jié)點(diǎn)之間的邊表示。無(wú)向圖可以看作網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的抽象圖。
  而數(shù)學(xué)上,無(wú)向圖可以表示成鄰接矩陣的矩陣形式,兩個(gè)節(jié)點(diǎn)相連則鄰接矩陣中相對(duì)應(yīng)的數(shù)據(jù)項(xiàng)為“1”,其余的都表示為“0”。由此,無(wú)向圖節(jié)點(diǎn)之間的連接關(guān)系又可以表示成鄰接矩陣的形式。圖2-2 即是一個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、無(wú)向圖和鄰接矩陣三者之間的轉(zhuǎn)換關(guān)系。


圖2-2網(wǎng)絡(luò)結(jié)構(gòu)、無(wú)向圖、鄰接矩陣三者關(guān)系

  由圖中我們可以看出,三者之間的轉(zhuǎn)換關(guān)系都是互逆。已知三者中任何一個(gè),都可以得出其他兩個(gè)?;谝陨纤枷耄覀兲岢隽诉\(yùn)用圖論和鄰接矩陣?yán)碚撝R(shí)來(lái)重現(xiàn)目標(biāo)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的方法。簡(jiǎn)要流程圖如下:


圖2-3目標(biāo)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)重建流程圖

  3.無(wú)線傳感器網(wǎng)絡(luò)的組建
  在本文中,我們采用Freescale公司的MC1321x-NCB套件實(shí)現(xiàn)星型Zigbee網(wǎng)絡(luò)的組建。
  3.1Zigbee網(wǎng)絡(luò)的組建過(guò)程
  將所有節(jié)點(diǎn)布置完畢,打開(kāi)電源后,Zigbee協(xié)調(diào)器(NCB)開(kāi)始組建網(wǎng)絡(luò),而終端設(shè)備(SRB)則周期性的發(fā)送信號(hào),詢問(wèn)是否有路由器或協(xié)調(diào)器可以連接而加入網(wǎng)絡(luò)。
 ?。?)Zigbee協(xié)調(diào)器(NCB)建立網(wǎng)絡(luò)的過(guò)程
  在進(jìn)行初始化之后,Zigbee協(xié)調(diào)器通過(guò)向網(wǎng)絡(luò)層發(fā)送網(wǎng)絡(luò)形成請(qǐng)求原語(yǔ)請(qǐng)求開(kāi)始建立新網(wǎng)絡(luò)。它首先對(duì)2.4GHz—2.4835GHz標(biāo)號(hào)為11至26的16個(gè)信道進(jìn)行能量掃描,選取能量值最低的信道,即存在其他Zigbee網(wǎng)絡(luò)最少的信道[3]。之后,協(xié)調(diào)器為自身選擇一個(gè)短地址。最后,協(xié)調(diào)器為整個(gè)網(wǎng)絡(luò)選擇一個(gè)不與現(xiàn)存網(wǎng)絡(luò)沖突的PAN ID。這樣,協(xié)調(diào)器建立了新的網(wǎng)絡(luò),它可以允許其他設(shè)備加入到網(wǎng)絡(luò)中。
  (2)Zigbee終端設(shè)備(SRB)加入網(wǎng)絡(luò)過(guò)程
  同協(xié)調(diào)器一樣,終端設(shè)備首先也要對(duì)所有的16個(gè)信道進(jìn)行能量掃描,并通過(guò)媒體訪問(wèn)控制子層的管理服務(wù)(MLME)發(fā)送信標(biāo)請(qǐng)求。如果收到了回復(fù)的信標(biāo)幀,代表該信道中存在網(wǎng)絡(luò),設(shè)備將把信標(biāo)幀中的信息(發(fā)送信標(biāo)設(shè)備地址,網(wǎng)絡(luò)標(biāo)識(shí)符,可否連接等)存儲(chǔ)下來(lái)。在掃描完所有的信道后,Zigbee終端設(shè)備將選擇一個(gè)網(wǎng)絡(luò)加入,并連接至這個(gè)網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點(diǎn)。如果與父設(shè)備連接成功,父設(shè)備會(huì)分配一個(gè)16位的網(wǎng)絡(luò)地址,該網(wǎng)絡(luò)地址在此網(wǎng)絡(luò)中是唯一的,并且該設(shè)備在以后的通信中將使用這個(gè)地址[3]。連接完畢后,終端設(shè)備即可通過(guò)向父設(shè)備發(fā)送詢問(wèn)請(qǐng)求,來(lái)確定父設(shè)備是否有數(shù)據(jù)要發(fā)送給自身。如果有,該數(shù)據(jù)會(huì)在父設(shè)備的回復(fù)中一并發(fā)送。終端節(jié)點(diǎn)在第一次詢問(wèn)沒(méi)有回復(fù)之前,不能夠發(fā)送第二次訊問(wèn)請(qǐng)求。
  3.2Zigbee 網(wǎng)絡(luò)連通性的獲取
  由Zigbee協(xié)調(diào)器(NCB)每三秒準(zhǔn)備一個(gè)二進(jìn)制數(shù)據(jù)向子設(shè)備發(fā)送,該數(shù)據(jù)為0-15的遞增循環(huán)顯示。與此同時(shí),子設(shè)備每3秒鐘將會(huì)向父節(jié)點(diǎn)發(fā)送一個(gè)查詢請(qǐng)求,詢問(wèn)是否有發(fā)給自身的數(shù)據(jù)已經(jīng)準(zhǔn)備好。如果數(shù)據(jù)被取走,則清空;如果沒(méi)有,我們將設(shè)置一個(gè)參數(shù)作為標(biāo)記。三次取數(shù)據(jù)失敗后,該子設(shè)備將被認(rèn)定已經(jīng)與協(xié)調(diào)器斷開(kāi)連接。由此,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生了變化。查詢的簡(jiǎn)要流程圖如下:


圖3流程圖

  4.監(jiān)測(cè)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
  4.1 監(jiān)測(cè)平臺(tái)的設(shè)計(jì)
  在成功獲取網(wǎng)絡(luò)連通性的基礎(chǔ)上,監(jiān)測(cè)平臺(tái)簡(jiǎn)化為兩大部分。一個(gè)是串口通信部分,用于將發(fā)送至串口的信息實(shí)時(shí)地讀取并存儲(chǔ)至計(jì)算機(jī)的文檔內(nèi);另一個(gè)是圖形界面部分,根據(jù)所存儲(chǔ)的文檔,實(shí)現(xiàn)拓?fù)浣Y(jié)構(gòu)的重構(gòu)。


  在本文中,使用VC++中的MSComm控件來(lái)實(shí)現(xiàn)串口通信。
  選擇COM7口,以二進(jìn)制方式讀寫數(shù)據(jù),波特率19200,無(wú)校驗(yàn)位,8個(gè)數(shù)據(jù)位,一個(gè)停止位。當(dāng)緩沖區(qū)中有一個(gè)及一個(gè)以上字符時(shí),將引發(fā)接收數(shù)據(jù)的OnComm事件。并將緩沖區(qū)內(nèi)容全部讀取。

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與自動(dòng)化網(wǎng)無(wú)關(guān)。對(duì)本文及其中內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性,本站不作任何保證或承諾。請(qǐng)讀者僅供參考。