CN102664962B - 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 - Google Patents
基于ZigBee的无线测控网络的动态节点身份实现方法及系统 Download PDFInfo
- Publication number
- CN102664962B CN102664962B CN201210146550.5A CN201210146550A CN102664962B CN 102664962 B CN102664962 B CN 102664962B CN 201210146550 A CN201210146550 A CN 201210146550A CN 102664962 B CN102664962 B CN 102664962B
- Authority
- CN
- China
- Prior art keywords
- node
- network
- router
- terminal
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于ZigBee的无线测控网络的动态节点身份实现方法及系统,包括下列步骤:(1)自定义的上位机串口命令,包括C/EX****,C/CH****;(2)在协议栈的应用层,每个节点用结构体形式存储其他节点的信息;(3)路由器节点接收到节点身份改变的命令,则停止路由转发功能,开始采集数据;终端节点接收到节点身份改变命令,则停止采集数据,开启路由转发功能;(4)通过串口命令指定的路由器节点,对于接收到的数据信息按照源地址不同分别存储起来,待来自同一源地址的数据信息达到10次时,则将10个数据信息一次全发送给协调器。本发明增加了网络的可靠性,减轻了网络的传输拥塞现象,降低数据的传输延迟,节约了节点的能量。
Description
技术领域
本发明涉及一种基于ZigBee的无线测控网络的动态节点身份实现方法及系统,可用于对由ZigBee技术构建的无线测控网络性能的改善,增加整个网络的灵活性和减小网络的整体能耗。
背景技术
ZigBee技术因其低速率、低功耗、低成本等特性已经被广泛的应用在各个领域,尤其非常的适合构建无线测控网络,无线测控网络是由许多部署在监测区域内的微型传感器节点组成,利用ZigBee无线通信技术将所有的节点组成一个网络,各个节点采集到的数据通过网络传输给上位机以供使用者,使用者也可以将命令传输给各个节点,从而方便了人们对监测区域的控制,提高了工作的效率。
但是目前的基于ZigBee技术的无线测控网络,节点类型包括协调器、路由器、终端设备,整个网络只有一个协调器,路由器具有数据转发和路由功能,终端节点只负责采集数据并将数据发送给协调器,在网络组建之初,节点类型就被规定好,在网络工作期间使用者没有任何办法去更改节点类型,除非重新给节点烧写新程序或者用新类型的节点代替。当终端节点距离所有的路由器太远或者工业现场的通信环境太恶劣,终端节点采集的数据不能成功发送出去,造成丢包率的增加,严重影响到整个网络的可靠性。一种解决方法是在终端节点周围增加路由器,将数据顺利的转发出去,但是这样会增加构建网络的成本,并不是我们所希望的;另一种方法是增加节点的发射功率,这种方法虽然可以在短期内减小丢包率,但是这样会让节点的能量很快的消耗掉,通信状况不好的地方消耗能量多,靠近协调器和通信状况好的地方消耗能量少,造成网络能量分布极不均匀。另外终端节点采集到的数据需要周期性的发送给协调器,但是数据包只包括几个简单的数据、源节点的网络地址和物理地址,而且每次只是数据不一样,这样每个终端节点需要不停的采集和发送,会造成网络的通信拥塞现象。
发明内容
本发明的目的就是为克服现有技术存在的网络中节点类型不可变以及简单的数据信息的发送容易引起网络拥塞的缺点,提供一种基于ZigBee的无线测控网络的动态节点身份实现方法及系统,该方法可以灵活的改变每个路由器节点为终端节点,也可以灵活的改变每个终端节点为路由器节点;去掉多个数据包的冗余重复信息,将数据综合后再发送。
为实现上述目的,本发明采用如下方案:
一种基于ZigBee的无线测控网络的动态节点身份实现方法,包括下列步骤:
(1)自定义的上位机串口命令,包括身份改变命令C/EX****(*代表是网络地址),串口命令C/CH****(*代表是网络地址);
(2)在协议栈的应用层,每个节点用结构体形式存储其他节点的信息。在节点加入网络时或者节点身份改变后会广播具有自己的物理地址、网络地址和节点类型信息的数据包给网内所有节点,接收到此数据包的节点则将节点类型、物理地址和网络地址存放到结构体内。
(3)路由器节点接收到节点身份改变的命令(C/EX****),则停止路由转发功能,开始采集数据;终端节点接收到节点身份改变命令,则停止采集数据,开启路由转发功能;
(4)通过串口命令C/CH****指定的路由器节点,此类路由器节点的特征是其子节点中全是终端节点,这类路由器节点对于接收到的数据信息按照源地址不同分别存储起来,待来自同一源地址的数据信息达到10次时,则将10个数据信息一次全发送给协调器。
如步骤(2)中,每个节点在协议栈的应用层定义一个结构体用以存储其它网内节点的信息。结构体内的成员包括路由节点个数routercount,用来存储网内每个路由节点物理地址和网络地址的三维数组,终端节点个数RFDcount,用来存储网内每个终端节点物理地址和网络地址的三维数组。当节点加入网络成功会广播内容为自己的节点类型、物理地址、网络地址的数据包给网内所有其他节点;另外当路由器节点和终端节点接收到节点身份转换的命令后,如果转换成功也会广播自己转换后的节点类型、物理地址和网络地址给其他节点,以便其他节点及时更新节点类型信息。
如步骤(3)中自定义串口命令,命令格式为C/EX****,协调器按照命令里的网络地址,将此命令单播给目的节点,目的节点会转换自己的节点身份,具体步骤是:
(a)目的节点是路由器,全局变量Exchang为0,接收到命令后,Exchange赋值为1;同时发送节点改变的信息给网内所有节点,发送函数为SendstateMessage(),发送的数据内容是字符类型的,为“excRFD+物理地址+网络地址”;
(b)其他路由器节点和终端节点接收到上述数据信息,如果数据信息的前六个字符是excRFD,则从存储网内路由器节点信息的结构体中找出与excRFD后面紧跟的8位物理地址完全相同的这一条信息,进行删除操作,然后在存储网内终端节点信息的结构体添加一条新的终端节点信息;
(c)协调器接收到(a)中所述的数据信息,则做(b)中同样的操作,另外,会调用串口写入函数halwrite(),内容是“网络地址+exchanged RFD successfully”。
如步骤(4)中如果路由器节点的子节点中全都是终端节点,则上位可发送自定义串口命令给这样的路由器节点,命令格式为C/CH****(*代表网络地址),协调器会将此命令发送给网络地址为此命令内的网络地址的路由器节点,接收到此命令后,当接收到其他节点发送来的数据信息时,如果信息是采集的数据则按照源地址不同存储起来,当来自同一源地址的数据信息达到10条时,则将此10条信息和源节点的网络地址组成的数据包发送给协调器,由协调器上传到上位机。
一种基于ZigBee的无线测控网络的动态节点身份实现系统,它包括:监控终端,监控终端通过串口与Zigbee网络协调器监控终端通信;若干路由器,若干终端节点分别与离自己最近的路由器进行通信,从而构成树形Zigbee网络;监控终端通过指令使各终端节点身份在路由器与终端节点之间转换。
本发明与现有技术相比的优点在于:本发明可以灵活的改变每个路由器节点为终端节点,也可以灵活的改变每个终端节点为路由器节点;对于终端节点采集到的信息可以将10次数据综合后再发送,大大降低了网络拥塞的现象,提高了网络的效率。本发明实现了节点身份的灵活转换,避免了一些节点因为通信环境恶劣和距离其他路由器节点远而成为孤点的情况,增加了网络的可靠性。解决了路由节点由于转发数据耗能多,过早的成为死亡节点的现象;同时采用了数据综合的方法,减少了网络的冗余信息,对数据进行综合,减轻了网络的传输拥塞现象,降低数据的传输延迟,节约了节点的能量。解决了现有ZigBee无线测控网络丢包率大,能耗大的问题。本发明可有效的在各种应用场景下的ZigBee无线测控网络中。
附图说明
图1为原网络拓扑图;
图2执行C/EX0001的网络拓扑变化图;
图3为串口命令为C/EX0001的工作流程图;
图4为串口命令为C/CH0001的工作流程图;
图5为此方法应用在无线测控网络中的示意图。
具体实施方式
如图1-图5所示,本发明的具体实施方法如下:
假设网络拓扑图如图1所示,其中有网络地址为0001的路由器和网络地址分别为0002,0004的终端,这两个终端采集的数据都通过0001转发给协调器。
当0001和0002之间的通信出现问题,如图2所示,用虚线代表两者之间不能进行正常通信,而且0002距离其他路由器也都比较远,这时上位机无法接收到来自0002的数据。上位机发送串口命令C/EX0004;网络地址为0004的终端节点接收到,具体的处理过程如图3中的工作流程图所示,Exchange原先为0,接收到命令后更改为1。一方面发送包括本节点新类型、物理地址网络地址的数据包给所有网内节点,比如网络地址为0002的节点接收到此信息,存储节点信息的结构体变量为JoinNode,记录终端个数的成员变量JoinNode.RFDcount减去1,从JoinNode.RFDLaddr中删除0004的物理地址,JoinNode.RFDSaddr中删除0004的网络地址,然后记录路由器个数的成员变量JoinNode.Routercount加1,JoinNode.RouterLaddr中添加0004的物理地址,JoinNode.RouterSaddr中添加0004的网络地址;另一方面不再执行数据采集函数,而是在接收到数据信息后。,如果需要转发,则执行转发功能函数。这样,如图2所示,0004成为新的路由器节点,0002可以与0004通信,从而将数据转发出去。
同理,如果0004需要转换回终端身份,则发送C/EX0004后,如图3所示,Exchange被赋值为0,执行终端功能,发送本节点新类型、物理地址网络地址的数据包给所有网内节点,比如网络地址为0002的节点接收到此信息,存储节点信息的结构体变量为JoinNode,记录终端个数的成员变量JoinNode.Routercount减去1,从JoinNode.RouterLaddr中删除0004的物理地址,JoinNode.RouterSaddr中删除0004的网络地址,然后记录路由器个数的成员变量JoinNode.RFDcount加1,JoinNode.RFDLaddr中添加0004的物理地址,JoinNode.RFDSaddr中添加0004的网络地址。
如果需要如图1中的网络地址为0001的路由器将子节点的数据综合10次后再发送给协调器,则发送串口命令C/CH0001,执行流程图如图4所示,网络地址为0001的节点接收到此命令后,先判断是否子节点全部是终端节点,可以从图1中看出0002和0004是终端并且是0001的子节点,如果给两个子节点编号,网络地址为0002的终端编号为01,网络地址为0004的终端编号为02,然后由0002每传送给0001一次数据,变量count01加1,数据被存储在二维数组Databuf[01][count01]中,第一维中存放编号为01的节点的网络地址,当count01等于10,则将Databuf中的第二维的数据和数据来源节点的网络地址和物理地址一起发送给协调器。Count01清零,Dadabuf也清零。0004的数据的处理也同上一样。
如图5所示,是一个基于zigbee的无线测控网络示意图。上位机即监控终端可以通过串口与zigbee网络的协调器进行通信;可以从图5得知zigbee网络的拓扑结构是树形的,协调器与两个路由器通信,终端节点分别与离自己最近的路由器进行通信。上位机发送命令C/EX0002,则网络地址为0002的路由器会接收到该命令,路由器会执行如图3所示的的操作,之后成为一个终端,执行终端功能。而如果上位机发送C/EX0003,则网络地址为0003的终端会收到此消息,同理,亦会按照图3的流程执行相关的操作,开始履行路由器功能。
Claims (5)
1.一种基于ZigBee的无线测控网络的动态节点身份实现方法,其特征是,包括下列步骤:
(1)自定义上位机串口命令,包括身份改变命令C/EX****,其中*代表是网络地址;串口命令C/CH****,其中*代表是网络地址;
(2)在协议栈的应用层,每个节点采用结构体形式存储其他节点的信息;在节点加入网络时或者节点身份改变后会广播具有自己的物理地址、网络地址和节点类型信息的数据包给网内所有节点,接收到此数据包的节点则将节点类型、物理地址和网络地址存放到结构体内;
(3)路由器节点接收到节点身份改变的命令C/EX****时,则停止路由转发功能,开始采集数据;终端节点接收到节点身份改变命令,则停止采集数据,开启路由转发功能;
(4)通过串口命令C/CH****指定的路由器节点,此类路由器节点的特征是其子节点中全是终端节点,这类路由器节点对于接收到的数据信息按照源地址不同分别存储起来,待来自同一源地址的数据信息达到设定次时,则将这批数据信息一次全发送给协调器。
2.根据权利要求1所述的基于ZigBee的无线测控网络的动态节点身份实现方法,其特征是,所述每个节点的结构体内的成员包括路由节点个数Routercount,用来存储网内每个路由节点物理地址和网络地址的二维数组,终端节点个数RFDcount,用来存储网内每个终端节点物理地址和网络地址的二维数组。
3.根据权利要求1所述的基于ZigBee的无线测控网络的动态节点身份实现方法,其特征是,所述协调器按照命令里的网络地址,将此命令单播给目的节点,目的节点会转换自己的节点身份,具体步骤是:
(a)目的节点是路由器,全局变量Exchang为0,接收到命令后,Exchange赋值为1;同时发送节点改变的信息给网内所有节点,发送函数为SendstateMessage(),发送的数据内容是字符类型的,为“excRFD+物理地址+网络地址”;
(b)其他路由器节点和终端节点接收到上述数据信息,如果数据信息的前六个字符是excRFD,则从存储网内路由器节点信息的结构体中找出与excRFD后面紧跟的8位物理地址完全相同的这一条信息,进行删除操作,然后在存储网内终端节点信息的结构体添加一条新的终端节点信息;
(c)协调器接收到(a)中所述的数据信息,则做(b)中同样的操作,另外,会调用串口写入函数halwrite(),内容是“网络地址+exchanged RFD successfully”。
4.根据权利要求1所述的基于ZigBee的无线测控网络的动态节点身份实现方法,其特征是,如果路由器节点的子节点中全都是终端节点,则上位机发送自定义串口命令给这样的路由器节点,命令格式为C/CH****,协调器会将此命令发送给网络地址为此命令内的网络地址的路由器节点,接收到此命令后,当接收到其他节点发送来的数据信息时,如果信息是采集的数据则按照源地址不同存储起来,当来自同一源地址的数据信息达到10条时,则将此10条信息和源节点的网络地址组成的数据包发送给协调器,由协调器上传到上位机。
5.一种权利要求1所述基于ZigBee的无线测控网络的动态节点身份实现方法用系统,其特征是,它包括:监控终端,监控终端通过串口与Zigbee网络协调器监控终端通信;若干路由器,若干终端节点分别与离自己最近的路由器进行通信,从而构成树形Zigbee网络;监控终端通过指令使各终端节点身份在路由器与终端节点之间转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210146550.5A CN102664962B (zh) | 2012-05-11 | 2012-05-11 | 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210146550.5A CN102664962B (zh) | 2012-05-11 | 2012-05-11 | 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102664962A CN102664962A (zh) | 2012-09-12 |
CN102664962B true CN102664962B (zh) | 2014-12-24 |
Family
ID=46774371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210146550.5A Expired - Fee Related CN102664962B (zh) | 2012-05-11 | 2012-05-11 | 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102664962B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450488B (zh) * | 2015-11-11 | 2019-10-22 | 深圳市冠明能源科技有限公司 | 一种数据处理方法及相关装置 |
CN107889083A (zh) * | 2017-11-07 | 2018-04-06 | 广西科技大学 | 一种点餐系统及其路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658587A (zh) * | 2004-02-18 | 2005-08-24 | 日本电气株式会社 | 使用无线LAN的VoIP无线电话系统和方法 |
CN101455116A (zh) * | 2006-03-20 | 2009-06-10 | 卢森特技术有限公司 | 在具有故障回程通信链路的网络上完成紧急呼叫 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR9808014B1 (pt) * | 1997-03-12 | 2013-06-25 | Mídia legível por computador, não transitória e sistema de rede externa |
-
2012
- 2012-05-11 CN CN201210146550.5A patent/CN102664962B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658587A (zh) * | 2004-02-18 | 2005-08-24 | 日本电气株式会社 | 使用无线LAN的VoIP无线电话系统和方法 |
CN101455116A (zh) * | 2006-03-20 | 2009-06-10 | 卢森特技术有限公司 | 在具有故障回程通信链路的网络上完成紧急呼叫 |
Also Published As
Publication number | Publication date |
---|---|
CN102664962A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bressan et al. | The deployment of a smart monitoring system using wireless sensor and actuator networks | |
CN106411736B (zh) | 一种面向软件定义卫星网络的节点资源发现策略优化方法 | |
CN101459618B (zh) | 虚拟机网络的数据包转发方法和装置 | |
CN104507144B (zh) | 无线携能中继网络联合中继选择及资源分配方法 | |
CN104754688A (zh) | 用于基于纠缠态的无线Mesh量子通信网络的路由方法 | |
CN108966305A (zh) | 一种lora中继自组网方法 | |
CN107317707B (zh) | 一种基于点覆盖集的sdn网络拓扑管理方法 | |
KR20130068849A (ko) | 이종 네트워크로 구성된 네트워크 환경에서 장치들간의 계층적 메시지 전송을 위한 시스템 및 그 방법 | |
CN101588293A (zh) | Ad Hoc网络与IPv6网络全IP通信互联系统 | |
CN102821401A (zh) | 具备无线接入控制器的无线网格网络的控制方法 | |
CN106900174B (zh) | 无线局域网网状网络的数据传输方法、装置及系统 | |
CN101383772B (zh) | 一种自动发现并建立mac路由信息表的方法及装置 | |
CN101102283A (zh) | 一种在无线接入点上优化未知单播转发的方法及设备 | |
CN106487558A (zh) | 一种实现接入设备扩缩容的方法和装置 | |
CN101453413A (zh) | 一种pbb网络中自动拓扑发现及资源管理的方法和装置 | |
CN110178410A (zh) | 一种通信路径确定方法及网络设备 | |
CN105099902A (zh) | 一种用于量子Mesh网络的路由方法 | |
CN102970392B (zh) | 一种高效快速的LR-WPAN Mesh网络节点地址分配方法 | |
CN107864092B (zh) | 一种基于多播技术的云内容分发方法、装置 | |
CN210298098U (zh) | 一种基于蓝牙Mesh的工业嵌入式网关、系统及通信设备 | |
CN102664962B (zh) | 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 | |
CN110740455B (zh) | 基于wisun通讯技术的组网方法、网络和传输方法 | |
CN202602904U (zh) | 基于ZigBee的无线测控网络的动态节点身份实现系统 | |
Huang et al. | A backbone-aware topology formation (BATF) scheme for ZigBee wireless sensor networks | |
CN102571555A (zh) | 一种建立邻居关系时的hello报文发送方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 250353 Shandong, Changqing, West New Town University Science Park Applicant after: Qilu University of Technology Address before: 250353 Shandong, Changqing, West New Town University Science Park Applicant before: Shandong Institute of Light Industry |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SHANDONG INSTITUTE OF LIGHT INDUSTRY TO: QILU UNIVERSITY OF TECHNOLOGY |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20150511 |
|
EXPY | Termination of patent right or utility model |