Zigbee入门笔记(四) Zigbee通讯时各个模块之间的组网过程

zigbee无线局域网启动过程概述

在zigbee的局域网里,zigbee构成的节点按照在局域网里的功能来划分,分为协调器、路由器以及终端。

任何一个网络,第一个节点一定是网络协调器,一个网络有且只有一个协调器;之后的节点都必须和他以及他的子节点相连接,网络协调器上电后首先开始创建局域网,确定下来此局域网的PANID,并且协调器把自己的节点的地址设置为0x0000。一个模块到底是协调器 路由器还是终端,前提是它必须在一个Zigbee无线局域网里,如果它还没有入网,那么它仅仅是一个下载了响应功能代码的模块而已。

任何一个Zigbee模块要加入到某个网络,一定要一个处于该网络里的节点作为介绍人,并且这个介绍人不能是终端节点,也就只能是协调器或者路由器。在加入网络以后,介绍人节点和被介绍加入的节点互为父子关系,介绍人节点是被介绍加入节点的父节点,被介绍加入节点是介绍节点的子节点。

Zigbee网络组建以后,网络里的节点可以进行相互通信,数据通信的方式有4种:单播、广播、组播、绑定;

组网过程

一个网络中必须有两个节点,且这两个节点分别是协调器和路由器,协调器和路由器可以不同时启动。以路由器先启动为例:

路由器最先上电以后

路由器会一直发送数据请求信号,来寻找其他节点组成网络。在他附近如果存在具备介绍人资格的节点,都回复信标帧,这些返回的信标帧被这个想要加入的无线模块拿到,通过这些信标帧,选出最佳介绍人节点,请求加入。

终端上电以后

它在入网前的行为和下载了路由器代码模块在入网前行为是一样的。

协调器上电以后

发送了一帧信标请求帧,发送这一帧也会得到周围具备介绍人资格的节点回复信标帧,但是协调器拿到这些信标帧,用来判断周围的环境情况,为创建网络做准备。当协调器创建成功以后,就会发送一个数据帧,这个帧里面可以看到协调器的地址0x0000,PANID,这是协调器固定的网络地址。可以把这个帧叫做网络连接状态帧。

各个模块上电以后都会发送一些数据来和各个模块之间进行沟通,每一帧数据都代表了不同的含义,并且每个模块再入网的过程中都会发送不同组别类型的数据:

路由器和协调器配合入网过程中按照顺序发送的帧数据

第0帧数据:协调器发出的网络连接状态帧,表明协调器稳定工作,与路由器入网无关

第1帧数据:路由器模块发出的信标请求帧,用于发现周围的网络,请求加入

第2帧数据:协调器模块发出的信标请求帧,路由器模块在拿到这个帧之后,可以得到协调器模块相对于它自己的信号强度,判断是不是最佳介绍人。

第3帧数据:至第六帧重复前两帧的数据;

第7帧:是路由器模块发给协调模块,这个帧的作用是,在前面路由器模块收到了协调器模块的信标帧,通过信标帧判断协调器是当前路由器模块的最佳介绍人,路由器模块发送这一帧是告诉协调器,你是我当前的最佳介绍人,请你从当我入网的介绍人,介绍我入网,并且在这个帧携带了自己MAC,这个MAC地址是介绍人模块(协调器模块)给被介绍人模块(路由器模块)分配网络的地址的依据。

第8帧:是协调器模块硬件回复给路由器模块的ACK,表明我已经收到了你发过来的帧

第9帧: 是路由器模块发给协调器模块的帧,请求协调器,把你根据我前面发给你的MAC地址给我分配的网络地址现在发给我。是一个数据请求帧。

第十帧: 协调器回复给路由器的ACK表明收到了路由器发过来的帧

第11帧: 协调器把为路由器分配好的网络地址发给路由器。而这个帧需要非常明确的发给路由器模块,但是路由器模块还不知道自己的网络地址是多少,所有在指定目标地址的时候用MAC地址

第12帧: 在路由器模块根据自己的MAC地址收到了协调器发过来分配给自己的网络地址,硬件自己回复ACK,表明已经收到了,

第13帧: 入网宣告,告诉当前网络里所有的节点,我入网了,我的网络地址是0xE9EB。

第14帧: 是协调器模块在收到了路由器模块发的入网宣告帧以后,转发的帧。

第 16 17帧:是协调器模块和路由器模块在工作稳定时,发出的网络连接状态帧。

协调器和路由器在入网后,稳定工作时的行为是,每隔一段时间发一次网络连接状态帧,默认是15S

终端入网过程发送的数据的帧:
入网过程,终端的入网过程和路由器入网的过程,所有的行为都是一样的

第16帧: 终端节点发送给它的父节点协调器的数据请求帧,为了告诉它的父节点,我还在线。

第17帧: 协调器在收到终端发来的帧,硬件自动回复的ACK

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值