• ZigBee设备入网流程之关联方式


    ZigBee设备入网流程

    ZigBee设备入网有关联方式和直接方式两种,我所熟悉的是关联方式,这也是最常用的方式。

    关联方式

    step1 设备发出Beacon Request

    设备会在预先设置的几个信道里面按照指定的顺序逐信道发出这个包,看到Dest PAN ID,Dest Address都是0xFFFF,说明这是个广播包,在这些信道里面的网络都会收到它。

    step2 route节点发出Beacon回复


    这个回复里面有五个关键的值

    • Source PAN ID :回复Beacon的这个设备所处网络的PAN ID
    • Source Address:回复Beacon的这个设备所处网络的短地址
    • Association Permit:关联许可是否开放
    • Router Capacity:可否接入Route节点
    • End Device Capacity:可否接入End Device

    能收到入网设备发出的Beacon Request的网络都会回复Beacon,并且同一个网络里面能收到入网设备Beacon Request的FFD设备都会回复Beacon。这样一来,一般入网设备会受到多个Beacon回复。那么它会按照下列的顺序,并且结合这帧Beacon的Link Quality来进行下一步动作:

    1. 入网设备首先判断Association Permit是否开放,这个是需要协调器发出全网广播,通知所有route节点这个许可开放了。
    2. 如果关联许可是开放的,再根据自己所属的设备类型来判断Router CapacityEnd Device Capacity
    3. 如果可以接入,再筛选最佳Link Quality的设备发出Association Request,这个时候就需要用Beacon里面的Source PAN ID和Source Address发出一个MAC层的单播包。

    step3 设备发出Association Request

    step4 route发出Association Response

    step5 秘钥传输

    step5 Device Announce

    Device Announce的广播数据主要是通知全网相关节点有一个新设备进来了,给大家做个自我介绍,大家刷新下路由表这类的信息。并且可以看到此时的数据在NWK层加密了,就是用了上面的Transport Key传输的Standard Network Key。

  • 相关阅读:
    Docker容器Centos容器安装openssh
    DEVOPS技术实践_15:使用Docker作为Jenkins的slave
    DEVOPS技术实践_14:使用docker部署jenkins
    oracle数据库创建实例
    Java 覆写初探
    Java super和this小结
    Java 继承学习
    Java 数据表映射
    Java 单向链表学习
    Java 继承初探
  • 原文地址:https://www.cnblogs.com/thammer/p/10521945.html
Copyright © 2020-2023  润新知