ZigBee join & rejoin & leave procedure
一、Join 流程
1、 通过协调器加入网络
在关联之前需要打开 Permit Join,Joining Device 发送 Beacon Request,附近的 Router/Coordiantor 会响应一个 Beacon,Joining Device 会选择一个信号最好的设备作为父设备申请加网。
- Joining Device 发送关联请求;
- Trust Center 发送关联响应;
- Trust Center 用 Default Global Centralized Key 或者 Install Code derived key(用Install Code 生成的Link key)加密 Network Key 后传输给 Joining Device;
- Joining Device 收到 Network Key 后发送 Device Announce;
- Joining Device 向 Trust Center 请求节点描述符;
- Joining Device 收到节点描述符后解析数据,判断 Stack Compliance Revision是都大于等于21(R21),如果是的话就发送 Request Key 命令请求更新 Unique Trust Center link key ;
- Trust Center 发送 Unique Trust Center link key;
- Joining Device 如果使用了Install Code, 则将从 Defautl 或 Provisional(临时)状态更新到 Unverified(未验证)状态,然后发送验证**请求;
- Trust Center 收到后将对比**,正确则发送 Confirm Key。
2、通过路由加入网络通过路由加入网络和通过协调器加入网络差不多,多了两个步骤,如下;
- Update Device:作用是通知 Trust Center 有设备变动,设备加入网络或者离开网络;
- Tunnel: Transport Key:传输 Network Key。