無線傳感器網絡拓撲結構和連通性監測平臺
作者:鞠芳,劉珩
來源:RFID世界網
日期:2011-08-04 10:46:13
摘要:無線傳感器網絡是由部署在監測區域內大量的廉價微型傳感器節點組成,通過無線通信方式組成的一個多跳的自組織網絡系統,是一種全新的信息獲取和處理技術。本文基于Freescale 公司的MC1321x-NCB 套件實現了無線傳感器網絡的構建。以鄰接矩陣和網絡拓撲結構之間的對應關系作為理論基礎,自主設計和實現對無線傳感器網絡拓撲結構的實時監控。并最終,對監控平臺進行了測試。
1. 引 言
無線傳感器網絡(Wireless Sensor Network, WSN)的網絡拓撲結構是組織無線傳感器節點的組網技術,有多種形態和組網方式。對無線傳感器拓撲結構及連通性的檢測分析有一定的實際意義。其結果可以用于拓撲控制、覆蓋計算等研究并能為偵查、評估等應用服務。
本文基于較為成熟的無線傳感器網絡——Zigbee 進行研究。采用Freescale 公司的MC1321x-NCB 套件實現網絡的組建。通過編程對網絡的連通性進行查詢和獲取;利用串口通信存儲獲取的信息;最終根據已有信息實時重建網絡拓撲結構。
2. 無線傳感器網絡拓撲結構的鄰接矩陣表示
2.1 圖的鄰接矩陣
當我們需要一個圖的非圖形表示時(例如使用計算機時),通常我們利用圖的鄰接矩陣來描述它的結構。
在圖論中,通常根據圖頂點之間的邊的連接情況將圖分為有向圖和無向圖兩種。無向圖是指在圖的頂點與頂點之間存在的邊是無向邊。由于網絡拓撲的不確定性,可將無線傳感器網絡抽象成一個無向圖。網絡中的設備可用無向圖中的節點表示。連接關系也可用節點之間的邊表示。無向圖可以看作網絡拓撲結構的抽象圖。
而數學上,無向圖可以表示成鄰接矩陣的矩陣形式,兩個節點相連則鄰接矩陣中相對應的數據項為“1”, 其余的都表示為“0”。由此,無向圖節點之間的連接關系又可以表示成鄰接矩陣的形式。圖2-2 即是一個網絡的拓撲結構、無向圖和鄰接矩陣三者之間的轉換關系。
在本文中,我們采用Freescale公司的MC1321x-NCB套件實現星型Zigbee網絡的組建。
3.1 Zigbee 網絡的組建過程
將所有節點布置完畢,打開電源后,Zigbee協調器(NCB)開始組建網絡,而終端設備(SRB)則周期性的發送信號,詢問是否有路由器或協調器可以連接而加入網絡。
(1)Zigbee協調器(NCB)建立網絡的過程
在進行初始化之后,Zigbee協調器通過向網絡層發送網絡形成請求原語請求開始建立新網絡。它首先對2.4GHz—2.4835GHz標號為11至26的16個信道進行能量掃描,選取能量值最低的信道,即存在其他Zigbee網絡最少的信道[3]。之后,協調器為自身選擇一個短地址。最后,協調器為整個網絡選擇一個不與現存網絡沖突的PAN ID。這樣,協調器建立了新的網絡,它可以允許其他設備加入到網絡中。
(2)Zigbee終端設備(SRB)加入網絡過程
同協調器一樣,終端設備首先也要對所有的16個信道進行能量掃描,并通過媒體訪問控制子層的管理服務(MLME)發送信標請求。如果收到了回復的信標幀,代表該信道中存在網絡,設備將把信標幀中的信息(發送信標設備地址,網絡標識符,可否連接等)存儲下來。在掃描完所有的信道后,Zigbee終端設備將選擇一個網絡加入,并連接至這個網絡中的協調器節點。如果與父設備連接成功,父設備會分配一個16位的網絡地址,該網絡地址在此網絡中是唯一的,并且該設備在以后的通信中將使用這個地址[3]。連接完畢后,終端設備即可通過向父設備發送詢問請求,來確定父設備是否有數據要發送給自身。如果有,該數據會在父設備的回復中一并發送。終端節點在第一次詢問沒有回復之前,不能夠發送第二次訊問請求。
3.2 Zigbee 網絡連通性的獲取
由Zigbee協調器(NCB)每三秒準備一個二進制數據向子設備發送,該數據為0-15的遞增循環顯示。與此同時,子設備每3秒鐘將會向父節點發送一個查詢請求,詢問是否有發給自身的數據已經準備好。如果數據被取走,則清空;如果沒有,我們將設置一個參數作為標記。三次取數據失敗后,該子設備將被認定已經與協調器斷開連接。由此,網絡的拓撲結構發生了變化。查詢的簡要流程圖如下:
4.1 監測平臺的設計
在成功獲取網絡連通性的基礎上,監測平臺簡化為兩大部分。一個是串口通信部分,用于將發送至串口的信息實時地讀取并存儲至計算機的文檔內;另一個是圖形界面部分,根據所存儲的文檔,實現拓撲結構的重構。
5. 總結
本文基于 Freescale 的Zigbee 套件,選取并實現了星型網絡的搭建,完成了對網絡連通性的實時獲取。在此基礎上搭建了網絡拓撲結構的監測平臺。經過實驗證實其可以依網絡拓撲結構變化而變化。然而,星型網絡雖然構造簡單、易于實施,但其靈活性較差,容易發生故障,路由修復能力較弱。下一步我們應該嘗試在網狀網的情況下完成檢測平臺的搭建。除此之外,將現在獲取的抽象化的拓撲結構——無向圖進一步具體化——顯示出節點的具體坐標也是一個值得研究和努力的方向。這將使監測平臺有更好的實用價值。
無線傳感器網絡(Wireless Sensor Network, WSN)的網絡拓撲結構是組織無線傳感器節點的組網技術,有多種形態和組網方式。對無線傳感器拓撲結構及連通性的檢測分析有一定的實際意義。其結果可以用于拓撲控制、覆蓋計算等研究并能為偵查、評估等應用服務。
本文基于較為成熟的無線傳感器網絡——Zigbee 進行研究。采用Freescale 公司的MC1321x-NCB 套件實現網絡的組建。通過編程對網絡的連通性進行查詢和獲取;利用串口通信存儲獲取的信息;最終根據已有信息實時重建網絡拓撲結構。
2. 無線傳感器網絡拓撲結構的鄰接矩陣表示
2.1 圖的鄰接矩陣
當我們需要一個圖的非圖形表示時(例如使用計算機時),通常我們利用圖的鄰接矩陣來描述它的結構。

在圖論中,通常根據圖頂點之間的邊的連接情況將圖分為有向圖和無向圖兩種。無向圖是指在圖的頂點與頂點之間存在的邊是無向邊。由于網絡拓撲的不確定性,可將無線傳感器網絡抽象成一個無向圖。網絡中的設備可用無向圖中的節點表示。連接關系也可用節點之間的邊表示。無向圖可以看作網絡拓撲結構的抽象圖。
而數學上,無向圖可以表示成鄰接矩陣的矩陣形式,兩個節點相連則鄰接矩陣中相對應的數據項為“1”, 其余的都表示為“0”。由此,無向圖節點之間的連接關系又可以表示成鄰接矩陣的形式。圖2-2 即是一個網絡的拓撲結構、無向圖和鄰接矩陣三者之間的轉換關系。

圖 2-2 網絡結構、無向圖、鄰接矩陣三者關系

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

圖3 流程圖
4.1 監測平臺的設計
在成功獲取網絡連通性的基礎上,監測平臺簡化為兩大部分。一個是串口通信部分,用于將發送至串口的信息實時地讀取并存儲至計算機的文檔內;另一個是圖形界面部分,根據所存儲的文檔,實現拓撲結構的重構。

在本文中,使用VC++中的MSComm控件來實現串口通信。
選擇COM7口,以二進制方式讀寫數據,波特率19200,無校驗位,8個數據位,一個停止位。當緩沖區中有一個及一個以上字符時,將引發接收數據的OnComm事件。并將緩沖區內容全部讀取。
{$page$}
對于拓撲結構的繪制我們使用Ucinet中的NetDraw來實現。
4.2 監測平臺的實驗結果
1、將Zigbee套件中的NCB節點連接至PC機,打開開關,通過連線PC機將向該節點供電。NCB節點開始進行信道能量掃描、選擇信道、短地址和網絡PAN ID。最終建立新的網絡,并等待其他Zigbee設備的加入;
2、將套件中的一個SRB節點打開,等待一段時間。此時SRB節點正在進行信道掃描,找到可以接入的網絡,并連接至父節點。我們可以通過節點自帶的LED燈觀察到網絡的連接情況。若NCB上的LED燈如下顯示,則表明有一個設備已連接[4]:





5. 總結
本文基于 Freescale 的Zigbee 套件,選取并實現了星型網絡的搭建,完成了對網絡連通性的實時獲取。在此基礎上搭建了網絡拓撲結構的監測平臺。經過實驗證實其可以依網絡拓撲結構變化而變化。然而,星型網絡雖然構造簡單、易于實施,但其靈活性較差,容易發生故障,路由修復能力較弱。下一步我們應該嘗試在網狀網的情況下完成檢測平臺的搭建。除此之外,將現在獲取的抽象化的拓撲結構——無向圖進一步具體化——顯示出節點的具體坐標也是一個值得研究和努力的方向。這將使監測平臺有更好的實用價值。