基于ZigBee的无线测控网络的动态节点身份实现系统的制作方法

文档序号:7875942阅读:163来源:国知局
专利名称:基于ZigBee的无线测控网络的动态节点身份实现系统的制作方法
技术领域
本实用新型涉及一种基于ZigBee的无线测控网络的动态节点身份实现系统,可用于对由ZigBee技术构建的无线测控网络性能的改善,增加整个网络的灵活性和减小网络的整体能耗。
背景技术
ZigBee技术因其低速率、低功耗、低成本等特性已经被广泛的应用在各个领域,尤其非常的适合构建无线测控网络,无线测控网络是由许多部署在监测区域内的微型传感器节点组成,利用ZigBee无线通信技术将所有的节点组成一个网络,各个节点采集到的数据通过网络传输给上位机以供使用者,使用者也可以将命令传输给各个节点,从而方便了人们对监测区域的控制,提高了工作的效率。 但是目前的基于ZigBee技术的无线测控网络,节点类型包括协调器、路由器、终端设备,整个网络只有一个协调器,路由器具有数据转发和路由功能,终端节点只负责采集数据并将数据发送给协调器,在网络组建之初,节点类型就被规定好,在网络工作期间使用者没有任何办法去更改节点类型,除非重新给节点烧写新程序或者用新类型的节点代替。当终端节点距离所有的路由器太远或者工业现场的通信环境太恶劣,终端节点采集的数据不能成功发送出去,造成丢包率的增加,严重影响到整个网络的可靠性。一种解决方法是在终端节点周围增加路由器,将数据顺利的转发出去,但是这样会增加构建网络的成本,并不是我们所希望的;另一种方法是增加节点的发射功率,这种方法虽然可以在短期内减小丢包率,但是这样会让节点的能量很快的消耗掉,通信状况不好的地方消耗能量多,靠近协调器和通信状况好的地方消耗能量少,造成网络能量分布极不均匀。另外终端节点采集到的数据需要周期性的发送给协调器,但是数据包只包括几个简单的数据、源节点的网络地址和物理地址,而且每次只是数据不一样,这样每个终端节点需要不停的采集和发送,会造成网络的通信拥塞现象。

实用新型内容本实用新型的目的就是为克服现有技术存在的网络中节点类型不可变以及简单的数据信息的发送容易引起网络拥塞的缺点,提供一种基于ZigBee的无线测控网络的动态节点身份实现系统,该方法可以灵活的改变每个路由器节点为终端节点,也可以灵活的改变每个终端节点为路由器节点;去掉多个数据包的冗余重复信息,将数据综合后再发送。为实现上述目的,本实用新型采用如下方案一种基于ZigBee的无线测控网络的动态节点身份实现系统,它包括监控终端,监控终端通过串口与Zigbee网络协调器监控终端通信;若干路由器,若干终端节点分别与离自己最近的路由器进行通信,从而构成树形Zigbee网络;监控终端通过指令使各终端节点身份在路由器与终端节点之间转换。一种基于ZigBee的无线测控网络的动态节点身份实现方法,包括下列步骤[0008](I)自定义的上位机串口命令,包括身份改变命令C/EX****(*代表是网络地址),串口命令C/CH*林* O代表是网络地址);(2)在协议栈的应用层,每个节点用结构体形式存储其他节点的信息。在节点加入网络时或者节点身份改变后会广播具有自己的物理地址、网络地址和节点类型信息的数据包给网内所有节点,接收到此数据包的节点则将节点类型、物理地址和网络地址存放到结构体内。(3)路由器节点接收到节点身份改变的命令(C/EX****),则停止路由转发功能,开始采集数据;终端节点接收到节点身份改变命令,则停止采集数据,开启路由转发功能;(4)通过串口命令C/CH****指定的路由器节点,此类路由器节点的特征是其子节点中全是终端节点,这类路由器节点对于接收到的数据信息按照源地址不同分别存储起来,待来自同一源地址的数据信息达到10次时,则将10个数据信息一次全发送给协调器。 如步骤(2)中,每个节点在协议栈的应用层定义一个结构体用以存储其它网内节点的信息。结构体内的成员包括路由节点个数routercount,用来存储网内每个路由节点物理地址和网络地址的三维数组,终端节点个数RFDcount,用来存储网内每个终端节点物理地址和网络地址的三维数组。当节点加入网络成功会广播内容为自己的节点类型、物理地址、网络地址的数据包给网内所有其他节点;另外当路由器节点和终端节点接收到节点身份转换的命令后,如果转换成功也会广播自己转换后的节点类型、物理地址和网络地址给其他节点,以便其他节点及时更新节点类型信息。如步骤(3)中自定义串口命令,命令格式为C/EX****,协调器按照命令里的网络地址,将此命令单播给目的节点,目的节点会转换自己的节点身份,具体步骤是Ca)目的节点是路由器,全局变量Exchang为O,接收到命令后,Exchange赋值为I ;同时发送节点改变的信息给网内所有节点,发送函数为SendstateMessage O,发送的数据内容是字符类型的,为“excRFD+物理地址+网络地址”;(b)其他路由器节点和终端节点接收到上述数据信息,如果数据信息的前六个字符是excRFD,则从存储网内路由器节点信息的结构体中找出与excRFD后面紧跟的8位物理地址完全相同的这一条信息,进行删除操作,然后在存储网内终端节点信息的结构体添加一条新的终端节点信息;(C)协调器接收到(a)中所述的数据信息,则做(b)中同样的操作,另外,会调用串口写入函数 halwrite (),内容是“网络地址+exchanged RFD successfully”。如步骤(4)中如果路由器节点的子节点中全都是终端节点,则上位可发送自定义串口命令给这样的路由器节点,命令格式为C/CH**** (*代表网络地址),协调器会将此命令发送给网络地址为此命令内的网络地址的路由器节点,接收到此命令后,当接收到其他节点发送来的数据信息时,如果信息是采集的数据则按照源地址不同存储起来,当来自同一源地址的数据信息达到10条时,则将此10条信息和源节点的网络地址组成的数据包发送给协调器,由协调器上传到上位机。本实用新型与现有技术相比的优点在于本实用新型可以灵活的改变每个路由器节点为终端节点,也可以灵活的改变每个终端节点为路由器节点;对于终端节点采集到的信息可以将10次数据综合后再发送,大大降低了网络拥塞的现象,提高了网络的效率。本实用新型实现了节点身份的灵活转换,避免了一些节点因为通信环境恶劣和距离其他路由器节点远而成为孤点的情况,增加了网络的可靠性。解决了路由节点由于转发数据耗能多,过早的成为死亡节点的现象;同时采用了数据综合的方法,减少了网络的冗余信息,对数据进行综合,减轻了网络的传输拥塞现象,降低数据的传输延迟,节约了节点的能量。解决了现有ZigBee无线测控网络丢包率大,能耗大的问题。本实用新型可有效的在各种应用场景下的ZigBee无线测控网络中。

图I为原网络拓扑图;图2执行C/EX0001的网络拓扑变化图;图3为串口命令为C/EX0001的工作流程图;图4为串口命令为C/CH0001的工作流程图;图5为此方法应用在无线测控网络中的示意图。其中,I.监控终端,2. Zigbee网络协调器,3.路由器,4.终端节点。
具体实施方式
如图I-图5所示,本实用新型的具体实施方法如下假设网络拓扑图如图I所示,其中有网络地址为0001的路由器和网络地址分别为0002,0004的终端,这两个终端采集的数据都通过0001转发给协调器。当0001和0002之间的通信出现问题,如图2所示,用虚线代表两者之间不能进行正常通信,而且0002距离其他路由器也都比较远,这时上位机无法接收到来自0002的数据。上位机发送串口命令C/EX0004 ;网络地址为0004的终端节点接收到,具体的处理过程如图3中的工作流程图所示,Exchange原先为0,接收到命令后更改为I。一方面发送包括本节点新类型、物理地址网络地址的数据包给所有网内节点,比如网络地址为0002的节点接收到此信息,存储节点信息的结构体变量为JoinNode,记录终端个数的成员变量JoinNode. RFDcount减去I,从JoinNode. RFDLaddr中删除0004的物理地址,JoinNode. RFDSaddr中删除0004的网络地址,然后记录路由器个数的成员变量JoinNode.Routercount 加 I, JoinNode. RouterLaddr 中添加0004 的物理地址,JoinNode. RouterSaddr中添加0004的网络地址;另一方面不再执行数据采集函数,而是在接收到数据信息后。,如果需要转发,则执行转发功能函数。这样,如图2所示,0004成为新的路由器节点,0002可以与0004通信,从而将数据转发出去。同理,如果0004需要转换回终端身份,则发送C/EX0004后,如图3所示,Exchange被赋值为0,执行终端功能,发送本节点新类型、物理地址网络地址的数据包给所有网内节点,比如网络地址为0002的节点接收到此信息,存储节点信息的结构体变量为JoinNode,记录终端个数的成员变量JoinNode. Routercount减去I,从JoinNode. RouterLaddr中删除0004的物理地址,JoinNode. RouterSaddr中删除0004的网络地址,然后记录路由器个数的成员变量JoinNode. RFDcount加I, JoinNode. RFDLaddr中添加0004的物理地址,JoinNode. RFDSaddr中添加0004的网络地址。如果需要如图I中的网络地址为0001的路由器将子节点的数据综合10次后再发送给协调器,则发送串口命令C/CH0001,执行流程图如图4所示,网络地址为0001的节点接收到此命令后,先判断是否子节点全部是终端节点,可以从图I中看出0002和0004是终端并且是0001的子节点,如果给两个子节点编号,网络地址为0002的终端编号为01,网络地址为0004的终端编号为02,然后由0002每传送给0001 —次数据,变量countOl加1,数据被存储在二维数组Databuf [countOl]中,第一维中存放编号为01的节点的网络地址,当countOl等于10,则将Databuf中的第二维的数据和数据来源节点的网络地址和物理地址一起发送给协调器。CountOl清零,Dadabuf也清零。0004的数据的处理也同上一样。如图5所示,是一个基于zigbee的无线测控网络示意图。上位机即监控终端I可以通过串口与zigbee网络协调器2进行通信;可以从图5得知zigbee网络的拓扑结构是树形的,zigbee网络协调器2与两个路由器3通信,终端节点4分别与离自己最近的路由器3进行通信。上位机发送命令C/EX0002,则网络地址为0002的路由器3会接收到该命令,路由器3会执行如图3所示的的操作,之后成为一个终端节点4,执行终端功能。而如果上位机发送C/EX0003,则网络地址为0003的终端节点4会收到此消息,同理,亦会按照图3的 流程执行相关的操作,开始履行路由器3功能。
权利要求1. 一种基于ZigBee的无线测控网络的动态节点身份实现系统,其特征是,它包括监控终端,监控终端通过串口与Zigbee网络协调器监控终端通信;若干路由器,若干终端节点分别与离自己最近的路由器进行通信,从而构成树形Zigbee网络;监控终端通过指令使各终端节点身份在路由器与终端节点之间转换。
专利摘要本实用新型公开了一种基于ZigBee的无线测控网络的动态节点身份实现系统,它包括监控终端,监控终端通过串口与Zigbee网络协调器监控终端通信;若干路由器,若干终端节点分别与离自己最近的路由器进行通信,从而构成树形Zigbee网络;监控终端通过指令使各终端节点身份在路由器与终端节点之间转换。本实用新型增加了网络的可靠性,减轻了网络的传输拥塞现象,降低数据的传输延迟,节约了节点的能量。
文档编号H04W40/02GK202602904SQ20122021254
公开日2012年12月12日 申请日期2012年5月11日 优先权日2012年5月11日
发明者邱书波, 杨秀蔚, 牟伟清, 徐元, 侯萌 申请人:山东轻工业学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1