物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  交通  >  正文

无线传感器网络拓扑结构和连通性监测平台

作者:鞠芳,刘珩
来源:RFID世界网
日期:2011-08-04 10:46:13
摘要:无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式组成的一个多跳的自组织网络系统,是一种全新的信息获取和处理技术。本文基于Freescale 公司的MC1321x-NCB 套件实现了无线传感器网络的构建。以邻接矩阵和网络拓扑结构之间的对应关系作为理论基础,自主设计和实现对无线传感器网络拓扑结构的实时监控。并最终,对监控平台进行了测试。
  1. 引 言

  无线传感器网络(Wireless Sensor Network, WSN)的网络拓扑结构是组织无线传感器节点的组网技术,有多种形态和组网方式。对无线传感器拓扑结构及连通性的检测分析有一定的实际意义。其结果可以用于拓扑控制、覆盖计算等研究并能为侦查、评估等应用服务。

  本文基于较为成熟的无线传感器网络——Zigbee 进行研究。采用Freescale 公司的MC1321x-NCB 套件实现网络的组建。通过编程对网络的连通性进行查询和获取;利用串口通信存储获取的信息;最终根据已有信息实时重建网络拓扑结构。

  2. 无线传感器网络拓扑结构的邻接矩阵表示

  2.1 图的邻接矩阵

  当我们需要一个图的非图形表示时(例如使用计算机时),通常我们利用图的邻接矩阵来描述它的结构。

  2.2 目标网络拓扑结构重现

  在图论中,通常根据图顶点之间的边的连接情况将图分为有向图和无向图两种。无向图是指在图的顶点与顶点之间存在的边是无向边。由于网络拓扑的不确定性,可将无线传感器网络抽象成一个无向图。网络中的设备可用无向图中的节点表示。连接关系也可用节点之间的边表示。无向图可以看作网络拓扑结构的抽象图。

  而数学上,无向图可以表示成邻接矩阵的矩阵形式,两个节点相连则邻接矩阵中相对应的数据项为“1”, 其余的都表示为“0”。由此,无向图节点之间的连接关系又可以表示成邻接矩阵的形式。图2-2 即是一个网络的拓扑结构、无向图和邻接矩阵三者之间的转换关系。


图 2-2 网络结构、无向图、邻接矩阵三者关系

  由图中我们可以看出,三者之间的转换关系都是互逆。已知三者中任何一个,都可以得出其他两个。基于以上思想,我们提出了运用图论和邻接矩阵理论知识来重现目标网络的拓扑结构的方法。简要流程图如下:


图2-3 目标网络拓扑结构重建流程图

  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. 监测平台的设计与实现

  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]:

  3、打开另一个SRB节点,上述过程将被重复。最终NCB上的LED灯将如下显示,表明有两个节点已经连接至父节点:

  4、运行监控平台程序获得网络拓扑和连接关系的显示。

  5、关闭其中的一个SRB节点,用于模拟能源耗尽或其他形式的损坏导致节点不能工作。等待一段时间,NCB节点在向关闭的节点发送三次数据失败后,判断它已经和网络断开。在下一次向串口发送数据时,内容将做相应改变。由此,最终生成的拓扑图形也会发生如下:

   6、打开已经关闭的节点,将另一个节点关闭。等待一段时间后,监控平台根据重建的网络得到如下拓扑结构:

  可以看出,对于实际中网络拓扑结构的变化,监测平台能够实时的做出变化,按每3秒一次的速度进行刷新。

  5. 总结

  本文基于 Freescale 的Zigbee 套件,选取并实现了星型网络的搭建,完成了对网络连通性的实时获取。在此基础上搭建了网络拓扑结构的监测平台。经过实验证实其可以依网络拓扑结构变化而变化。然而,星型网络虽然构造简单、易于实施,但其灵活性较差,容易发生故障,路由修复能力较弱。下一步我们应该尝试在网状网的情况下完成检测平台的搭建。除此之外,将现在获取的抽象化的拓扑结构——无向图进一步具体化——显示出节点的具体坐标也是一个值得研究和努力的方向。这将使监测平台有更好的实用价值。