高 菲
(宝鸡职业技术学院,宝鸡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