在某种形式的停电或关闭电源后的第一次或以后的每次供电时,节点都会执行初始化。ZigBee规范(请参见[R1 ])和BDB 6.9节定义了节点希望通过重置保留哪些数据,并首先将其还原以确定如何初始化该节点。如果该节点是路由器,建议首先尝试发现其网络是否仍然存在或已移至另一个通道,并据此采取纠正措施。

初始化流程图:

zigbeeBDB 初始化(七)

 

 

1,如第 节所述,节点应恢复其持久ZigBee数据。

2,如果bdbNodeIsOnANetwork 等于FALSE,则节点应从步骤6 继续。

3,如果节点的节点描述符的逻辑类型字段不等于0b010(ZigBee终端设备),它将从步骤8 继续。

4,节点应尝试重新加入网络。为此,节点发出NLME-JOIN.request原语,其中将ExtendedPANId参数设置为已知网络的扩展PAN标识符,将RejoinNetwork参数设置为0x02,将ScanChannels参数设置为0x00000000,将ScanDuration参数设置为0x00,为节点适当设置的CapabilityInformation以及将SecurityEnable参数设置为TRUE。在从NWK层接收到NLME-JOIN.confirm原语后,使用NWK重连向节点通知加入网络的请求状态。

5,如果状态的参数NLME-JOIN.confirm原始等于SUCCESS,该节点将广播一个Device_annce ZDO命令并从步骤8继续 。如果状态的参数NLME-JOIN.confirm原始不等于SUCCESS ,所述节点可以在某个应用程序特定的时间重试该过程,或者从步骤8开始继续。实现的责任是处理后续的重新加入尝试。

6,如果节点的节点描述符的逻辑类型字段不等于0b001(ZigBee路由器),则它将从步骤8 继续。

7,如果bdbNodeCommissioningCapability的位3 等于1(touchlink

支持),节点应将其逻辑通道设置为bdbcTLPrimaryChannelSet 。

8,然后,节点将终止初始化过程。

相关文章: