高 菲
(寶雞職業技術學院,寶雞721000)
基于ZigBee的網絡偵聽系統設計
高 菲
(寶雞職業技術學院,寶雞721000)
設計ZigBee網絡偵聽系統的框架結構,從功能上劃分,本系統包括兩個部分:偵聽節點部分和偵聽軟件部分。偵聽節點主要包括串口配置模塊、命令交互模塊、數據收發模塊和數據上傳模塊。這些模塊主要實現了串口初始化、信道設置、網絡中數據包的獲取和把獲取的數據包傳到上位機。偵聽軟件主要實現了對下位機的控制和對獲取數據的處理,以及分析結果的顯示。系統利用CC2430強大的DMA功能把數據從RFD寄存器轉存到串口發送緩沖區。最后調用串口收發函數將數據上傳到上位機或者將上位機發送過來的數據傳遞到CC2430,同時詳細介紹了各功能模塊的實現。在CC2430芯片上完成了偵聽節點程序的設計,分別闡述偵聽程序、偵聽軟件、數據包上傳和任務調度的設計方法。搭建無線傳感器偵聽系統,對當前ZigBee網絡進行偵聽。通過大量的測試實驗對軟件實現的功能進行測試和評估。
無線通信;傳感器網絡;偵聽;數據包;偵聽軟件;協議
在WSN的研究和開發過程中會遇見各種各樣的問題。雖然可以通過調試和仿真的方法解決某些問題,但在一些惡劣環境和存在某些電磁干擾情況下,需要實時監測網絡的變化,從而制定出相應的解決方案[1]。本系統通過對ZigBee協議的解析獲取無線傳感器網絡中相應的通信信息,并對獲取的信息進行加工和整合,以便能夠從整體上評估和分析網絡的工作狀況。
基于ZigBee的無線傳感器網絡偵聽系統結構如圖1所示。

圖1 偵聽系統結構
從功能上來劃分本系統包括兩個部分:偵聽節點部分和偵聽軟件部分。它們按照自身的功能需要又分為不同的模塊。偵聽節點主要包括串口配置模塊、命令交互模塊、數據收發模塊和數據上傳模塊。這些模塊主要實現串口初始化、信道設置、網絡中的數據包獲取和把獲取的數據包傳到上位機。偵聽軟件主要實現對下位機的控制和對獲取數據的處理,以及分析結果的顯示。主要包括命令控制模塊、串口接收模塊、數據存儲模塊、幀解析模塊、拓撲圖模塊和網絡狀態模塊。
偵聽節點的主要任務是抓取網絡中的RF包[2]。在RF接收模塊,CC2430必須能夠不加過濾地接收網絡中的全部RF包。而獲取的RF包中有不滿足ZigBee協議的,所以在程序設計中還要對不滿足要求的數據包進行過濾。接收到的數據包會暫存在RFD寄存器中,利用CC2430強大的DMA功能把數據從RFD寄存器轉存到串口發送緩沖區。最后調用串口收發函數將數據上傳到上位機或者將上位機發送過來的數據傳遞到CC2430[3]。偵聽節點的程序設計流程如圖2所示。

圖2 偵聽程序流程圖
當偵聽節點上電后,首先對串口進行初始化。串口初始化完成后命令交互模塊就可用了,開始等待上位機發送控制指令。接收到控制命令時點亮LED1。若接收到啟動或設置信道命令,則開始執行啟動設備為默認信道或設置為特定信道。執行完命令后熄滅LED1。然后開始抓取網絡中的RF包,收到數據包后點亮LED2。之后把獲取的RF包上傳到上位機并熄滅LED2。執行完這一操作后,檢測上位機是否有控制命令發送。若沒有命令則按上一次的命令設置繼續運行,否則執行新的命令設置。
偵聽軟件主要完成對偵聽節點上傳的RF包進行解析和對解析后的數據進行統計分析,最后把分析后的數據顯示到軟件界面上。這里把偵聽軟件的實現分為三個部分[4]:RF包解析模塊、數據統計模塊、數據顯示模塊。RF包解析模塊實質上是根據ZigBee協議規定的幀格式對RF包逐個解包,還原RF包在通信網絡中攜帶的真實信息。數據統計模塊則是對還原后的信息進行統計和分類,根據這些信息可以計算丟包率,網絡通信量,畫網絡拓撲圖等[5]。數據顯示模塊則側重于界面的可視化操作和管理,讓使用者能夠便捷的查看網絡運行狀態。
偵聽軟件的設計流程如圖3所示。首先,需要配置串口,以便能夠發現連接到PC的串口設備。當發現串口后向偵聽節點發送控制指令,如啟動偵聽節點,配置信道等。其次,接收偵聽節點上傳的RF包,并對RF包進行解析。這里的解析主要是針對IEEE 802.15.4/ZigBee協議標準的解析[6]。再次,對解析后的數據統計分析,并存入到數據庫中。最后,訪問數據庫,調用畫圖工具將相應的數據信息顯示到軟件界面上。

圖3 偵聽軟件程序設計流程圖

圖4 偵聽節點系統調度流程圖調度
數據接收完成后還要把接收到的數據通過串口上傳到上位機。這里收到的數據包是物理層數據包去掉幀頭(即沒有幀引導序列和SFD)和加了幀尾(FCS)的部分。其第一個字節代表的是這個數據包長度,因此可以根據第一個字節標示的幀長度把指定長度的數據上傳到上位機[7]??紤]到傳輸的穩定性和可靠性,對每一個數據包在上傳時添加幀頭“us”和幀尾“st”,以便上位機讀取數據包和驗證數據包的完整性[8]。
任務調度負責對數據收發、DMA和數據上傳等模塊的調度。而串口接收模塊處于任務調度之外,因為只有初始化好了串口之后偵聽節點才能接收上位機的命令。接收到相應的命令才能進行系統命令的處理,這樣任務調度才算開始。該任務調度分兩部分:一部分是命令設置成功后開始初始化信道和DMA;另一部分是RF包的接收和上傳。整個偵聽節點系統設計流程如圖4所示。
系統對一個現有ZigBee協議的無線傳感器網絡進行了測試。該ZigBee網絡包括1個協調器、6個路由器和20個終端設備。在這些設備中按其型號不同燒寫對應的SampleApp測試代碼的源程序。本實驗的平面視圖如圖5所示,標注了不同設備的位置。

圖5 測試實驗的平面布局
幀結構的顯示通過調用WPF中xaml定義的格式顯示模板和對應的數據源綁定,來顯示相應的幀格式。當點擊幀結構中顯示的某條數據后,將會觸發幀數據顯示事件顯示幀數據的原始二進制碼等參數。在包數據顯示部分,可顯示包索引、幀長度、原包數據、RSSI和CRC的值。經多次實驗,該模塊可以正確的解析和顯示各種幀信息。
網絡分析模塊則傾向于對所關注的數據進行分析,主要是丟包率、通信效率等的分析。對ZigBee網絡的組網過程進行了偵聽。圖6顯示的是柱狀圖。該柱狀圖顯示在組網過程中各幀占的比例。信標幀在組網完成后占的比例會越來越小,而命令幀占的比例會越來越大。這是因為在組網過程中節點通過發送信標請求尋找協調器,協調器發現節點后廣播信標。組網后不再使用信標,而是節點周期性地向協調器發送數據請求命令。圖7是網絡通信量顯示圖。該圖波動比較明顯的地方是因為有節點請求加入網絡。當節點加入網絡后,網絡的通信量曲線將趨于平穩。經過大量的測試實驗,該數據分析模塊能夠正確分析網絡中節點的通信狀況。但是穩定性和兼容性方面還需要進一步提高。

圖6 MAC層各種幀占的比例

圖7 網絡通信量分析
無線傳感器網絡偵聽技術是一項對無線傳感器網絡的分析技術。通過對網絡的分析,可以分析和解決無線傳感器網絡工作中遇到的問題。將來可以更好的把無線傳感器網絡應用到人們的日常生活中去。
[1] Martin T,Jose S.MOTE-VIEW:A sensor network monitoring and management tool[C].In:Proceeding of Embedded Networked Sensors,2005:11-18.
[2] Li H F.Design of Video Sensor based on Wireless Sensor Networks[J].Advanced Materials Research,2011,5(6):7-23.
[3] Gribaudo M,Manini D,Nordio A.Transient Analysis of IEEE 802.15.4 Sensor Networks[J].IEEE Transactions on Wireless Communications,2011,11(6):65-68.
[4] Buschmann C,Pfisterer D,Fischer S,et al.SpyGlass:A Wireless Sensor Network Visualizer[J].ACM SIGBED Review,2005,2(1):1-6.
[5] Elson J,Girod L,Estrin D.Emstar:Development with High System Visibility[J].Wireless Communications,2004,11(6):70-77.
[6] Jordan Cote,Bing Wang,Wei Zeng,Zhijie Shi.Capability and Fidelity of Moteclass Wireless Sniffers[C].IEEE Globecom 2010 proceedings,2010.
[7] Han J,Choi C,Lee I.More Efficient Home Energy Management System based on Zigbee Communication and Infrared Remote Controls[J].IEEE Transactions on Consumer Electronics,2011,57(4):85-89.
[8] M Ringwald,M Cortesi,K Romer,A Vialetti.Demo abstract:Passive inspection of deployed sensor networks with snif[C].In K.Langendoen and T.Voigt,editors,Adjunct Proceedings of the 4th European Confererence on Wireless Sensor Networks,2007:45-46.
Design of Network Interception System Based on ZigBee
Gao Fei
(Baoji Vocational Technology College,Baoji721000,China)
The frame structure of ZigBee network interception system is designed in this paper.The system consists of two parts,interception node and software.The interception node includes a serial port configuration module,command interaction module,data transceiver module and data upload module,etc.,which mainly realizes serial port initialization and channel setting,and obtains the packets in the network and sends them to the uppermachine.The software is used to control themachine,processes the data obtained and displays the analysis results.It sends data from RFD registers to a serial port to send buffer by DMA of CC2430.A serial port is used to send and receive function,uploading data to PC or transferring the data of the PC to CC2430,and the realization of each function module are introduced in detail.On chip CC2430,the interception node program is designed,the interception program,the interception software,data packet uploading and design method of task scheduling are described respectively.A wireless sensor interception system is set up to intercept the current ZigBee network.The experiments are performed to test and evaluate the function of the software implementation.
Wireless communication;Sensor network;Interception;Packets;Interception software;Protocal
10.3969/j.issn.1002-2279.2015.06.09
TP277
B
1002-2279(2015)06-0033-03
高菲(1981-),女,陜西省寶雞市人,碩士研究生,主研方向:計算機教育。
2015-03-24