Zigbee入网流程

本示例采用关联方式(Associate)入网,总体流程如下:

一、入网前准备

1、coordinater 发出Permit Joining Request广播,允许设备入网,时长一般为180s

2、待入网设备启动扫网操作后,将在预置信道发出Beacon Request广播,zigbee信道为11~26,一般考虑效率和与WiFi信道干扰问题,会选择几条优先信道(如11、15、20、25)进行扫网。

二、Beacon

在收到Beacon Request后,同一信道的不同PAN的协调器会发出Beacon回应,待入网设备收到后会对其进行筛选,如是否允许入网,节点深度,是否接入当前设备类型。

三、开始入网

1、设备筛选出合适的网络(允许入网、节点深度较低、可接入当前设备类型),并向其发出Association Request请求入网

2、收到Association Request后,协调器将根据当前资源情况决定是否允许其加入,若允许,则为其分配短地址,并返回Association response

 四、Transport key(NWK key)

协调器将NWK key发给设备,NWK key使用Link key进行加密,而此处Link key是预配置Pre-configured的,可使用ZigBeeAlliance09(5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39)或是利用install code生成。NWK key用于后期网络层通信的加密。

 五、替换Link key

1、Request key(Link key):子设备向协调器请求新的Link key以替换前面Pre-configured Link key

2、Transport key(link key):协调器返回新的Link key

六、新Link key校验

 1、子设备发出Verify Key Resquest请求校验Link key

2、协调器返回校验结果Verify Key Confirm,注意此处已使用新的Link key

(由于抓包工具不同,这两条数据可能无法显示,附上另一个工具的情况)

注:实测若使用Pre-configured key,则最后link key会替换成新的,若使用install code,则最后link key虽有替换的动作,但实际link key没变。

 另、Device Announce

子设备入网成功后会发出Device Announce广播,宣告其已成为该网络新设备

以上入网流程已结束,但为了确认设备类型和后续的操作,一般会有以下步骤:

1、查看子设备endpoint数量

协调器发送Active Endpoints Request,子设备回复Active Endpoints Response,包含其拥有的endpoint数量

2、查看子设备endpoint具体信息

根据上面子设备的回复,协调器会针对各个endpoint发送Simple Descriptor Request,子设备回复Simple Descriptor Response,其中包含该endpoint的device id、profile id、input cluster、output cluster

3、读取basic cluster中关键信息,如ApplicationVersion、ManufacturerName、ModelIdentifier等等;

4、配置bind表

按照ZigBee3.0标准,cluster的server和client段必须先建立绑定才能通信,协调器发送Bind request,包含endpoint、目的/源地址、指定cluster。子设备回复Bind response。

5、配置report table

当子设备个别关键attribute变化,协调器需要及时获知时,需要提前设置report table,在设定时间范围内或发生变化时,子设备ZigBee协议栈内部将自行上报,而无需应用层干预。协调器发送Configure Reporting,子设备回复Configure Reporting Response。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值