首先简单介绍ZigBee的直接入网(Direct Join)方式:
这里引用一篇博文ZigBee设备加入网络过程。
这里引用《ZigBee2007协议规范》中的原语流图更加清楚:
可以看到父节点只是执行了一个添加相邻表条目的动作,并没有实际的动作,这里我们可以理解为它为已知的会进行直接加入的子节点分配好空间等它。
这里是子节点试图入网的动作。其实本质就是Rejoin,和终端断网后重连的机制完全相同。就是直接扫描查询附近中有没有自己的父节点(怎么判断是不是自己的父节点,下文述),如果有就加入,如果没有就结束Rejoin,然后重新开始进行关联加入。其实我们完全可以把这个终端就视为一个掉电重连的孤儿节点。
这里是协调器或路由器对于前述的终端扫描查询(SCAN)的回复动作,注意,这里不一定是Direct Join的目标父节点。这个节点会接收到孤儿节点的查询请求(MLME_ORPHAN.indication&