Zigbee组建一个完整的网络包含两个步骤:网络初始化和节点加入网络。其中,节点加入网络可以分为通过协调器直接连接入网和通过已有父节点入网。下面来依次说明。
1. 网络初始化
ZigBee网络初始化只能是由网络协调器发起的,在组建网络前,需要判断本节点还没与其他网络连接。如果节点已经与其他网络连接时,此节点只能作为该网络的子节点。一个ZigBee网络中有且仅有一个ZigBee协调器,一旦网络建立好了,协调器就退化成路由器的角色,甚至是可以去掉协调器的,这一切得益于ZigBee网络的分布式特性。
- 网络初始化流程图如下:
- 每层详细解释:
- 1 . 协调器通过主动扫描,发送信标请求命令(Beacon request command),设置一个扫描期限(T_scan_duration),如果在期限内没检测到回应信标,则认为在其范围内没有其他协调器,那么此时可以建立自己的ZigBee网络,并且作为网络的协调器。非信标网络的设备会等待请求,信标网络的设备会周期性的产生信标并且广播出去。
- 2.
2.1 能量扫描
对指定信道或者默认信道进行能量检测,以避免可能的干扰,以递增的方式对所检测的信道能量值进行排序,抛弃那些能量值超出范围的信道。选择一系列可用信道。
2.2主动扫描
接着通过主动扫描的方式,获取节点通讯半径内的网络信息,然后根据这些信息,找一个最好的、相对安静的信道。最后选择的信道应该是存在最少的ZigBee网络,最好是没有ZigBee网络。
3. 在所选定的信道上,网络ID(PAN ID)必须是唯一的,不能和其他ZigBee网络冲突,不能为广播地址(0xFFFF)。可以使用设定的PAN ID,也可以通过监听其他网络的ID来随机选择一个不会冲突的ID号.当路由节点或者设备入网时,协调器会给节点分配短地址来通讯。对于协调器来说,网络地址始终为0x0000
2.ZigBee入网流程
ZigBee设备的入网流程,详见下图:
每层详细解释4
节点入网将选择范围内信号最强的父节点加入网络,成功加入后,会得到一个网络短地址,并通过这个地址进行数据的收发。网络拓扑关系和地址会保存在各自的flash中。
选择一个合适的ID后,设备的上层会请求MAC层对物理层和MAC层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。
3.ZigBee分离流程
详见下图:
转自:
https://www.cnblogs.com/sidoom/p/9262513.html