无线传感器网络拓扑结构和连通性监测平台
无线传感器网络拓扑结构和连通性监测平台
作者:鞠芳,刘珩 来源: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 即是一个网络的拓扑结构、无向图和邻接矩阵三者之间的转换关系。
图2-2网络结构、无向图、邻接矩阵三者关系
图2-3目标网络拓扑结构重建流程图
在本文中,我们采用Freescale公司的MC1321x-NCB套件实现星型Zigbee网络的组建。
3.1Zigbee网络的组建过程
将所有节点布置完毕,打开电源后,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.2Zigbee 网络连通性的获取
由Zigbee协调器(NCB)每三秒准备一个二进制数据向子设备发送,该数据为0-15的递增循环显示。与此同时,子设备每3秒钟将会向父节点发送一个查询请求,询问是否有发给自身的数据已经准备好。如果数据被取走,则清空;如果没有,我们将设置一个参数作为标记。三次取数据失败后,该子设备将被认定已经与协调器断开连接。由此,网络的拓扑结构发生了变化。查询的简要流程图如下:
图3流程图
4.1 监测平台的设计
在成功获取网络连通性的基础上,监测平台简化为两大部分。一个是串口通信部分,用于将发送至串口的信息实时地读取并存储至计算机的文档内;另一个是图形界面部分,根据所存储的文档,实现拓扑结构的重构。
在本文中,使用VC++中的MSComm控件来实现串口通信。
选择COM7口,以二进制方式读写数据,波特率19200,无校验位,8个数据位,一个停止位。当缓冲区中有一个及一个以上字符时,将引发接收数据的OnComm事件。并将缓冲区内容全部读取。
免责声明:本文仅代表作者个人观点,与自动化网无关。对本文及其中内容、文字的真实性、完整性、及时性,本站不作任何保证或承诺。请读者仅供参考。
我要收藏
个赞
评论排行