目录
什么是zigbee?
短距离通信技术,低速通信技术,低功耗,mesh拓扑结构。
一、zigbee框架
zigbee系统分层架构
物理层:
负责无线电收发,收发不能同时进行
MAC层:最大帧长127字节
- 下图是MAC层消息的格式:
其中Frame control标示帧的类型,主要有四种类型:
- Beacon帧,用于扫描网络
- data帧
- Ack帧,每发一帧都需要对方确认
- MAC Command 入网的时候会用到
CSMA-CA: 发送前,先听一下这个信道有没有空闲
网络层:
zigbee网络中有三种设备类型
- Coordinator(一个网络中只有一个(地址为0x00)):负责创建网络,不睡眠
- Router 可以转发消息,作为中间节点,不睡眠
- End Device : 不能转发消息,必须有一个父节点,即挂载在Router 或者 Coordinator
应用层
- 一个节点包含至少一个endpoint端点,每个Zigbee设备可以最多支持240个这样的端点,端口0用于整个Zigbee设备的配置和管理,应用程序可以通过端点0与Zigbee的其他层通信,从而实现对这些层的初始化和配置,附属在端点0的对象被称为Zigbee设备对象(ZDO).端点255用于向所有端点的广播,端点241~254是保留端点。
- 关于cluster:cluster定义了一类功能,cluster是在ZCL,也就是zigbee cluster library中定义。
- cluster定义了这个命令什么条件下发,发送的时候带什么参数,处理的时候怎么处理,如何响应
- cluster内又细分包含一些attribute,attribute对应一个具体的功能.属性是一个反映物理数量或状态的数据值,比如开关值(On/Off)、灯的状态值(On/Off)、温度值、百分比等等。
- 群集是包含一个或多个属性(attribute)、命令(command)、报告(reporting)的群集。简单的说,群集就是属性、命令和报告的集合。每个群集都被分配一个唯一群集ID且每个群集最多有65536个属性、命令和报告。比如一个群集包含了不同情况下的开关、不同情况下的灯、不同情况下的温度值、不同情况下的百分比等等。
二、zigbee的安全特性
- Network Key是一个16字节的字符串,是配网的时候由Coordinator生成的。网络层使用统一的Network Key.
- Link Key由设备上标签上的Install Code生成,配网过程中由Coordinator配置给设备。Link Key只需要通信双方知道即可。
三、zigbee的入网流程
四、zigbee低功耗设备如何降低功耗
4.1、rejoin过程中降低功耗
4.1.1、什么是rejoin?
当一个zigbee设备由于某些原因跟之前的网络失去联系时,需要重新回到网络,Rejoin就是用于zigbee设备重新回到网络,恢复与网络中的其它节点的通信。
4.1.2、silicon Lab zigbee3.0如何在rejoin的时候降低功耗
SDK默认配置一个周期rejoin的次数为EMBER_AF_REJOIN_ATTEMPTS_MAX(3次)
如何在rejoin的时候降低电流
rejoin的分类
- secured rejoin
- truster center rejoin
rejoin扫描信道
SDK在第一次rejoin的时候,采用secured rejoin的方式,只扫描当前channel,当设置的次数大于1时,除第一次之外,后面的rejoin,通过truster center rejoin的方式,扫描所有channel,所以会消耗更多的电流。
4.2、 配网join过程中降低功耗
4.2.1、silicon Lab zigbee3.0 配网逻辑
- zigbee有27个信道(2.4G频段:16个信道; 915M频段 896M频段:11个信道)
- 芯科所有支持zigbee的芯片只能在2.4G频段的16个信道(11~26)进行通信。
- 单火开关在zigbee网络中属于zigbee sleepy end device,简称ZSED.单火开关对于低功耗要求较高,这对于zigbee设备在入网时的电流是个挑战。Zigbee设备正常入网时,会进行信道扫描。在每一个信道发送beacon request,然后切换到Rx状态,监听是否有beacon包回复。默认每个信道监听时间是507ms,设备进行信道扫描时,大部分的时间是监听时间,这也是为什么把发射功率设置的很小,入网时的功耗却没有明显降低的原因。
- 信道扫描会扫描11~26,共16个信道。分为primary channel scan(扫描信道包含11、14、15、19、20、24、25共7个信道)和secondary channel scan(扫描信道包含12、13、16、17、18、21、22、23、26共9个信道)两次进行扫描。
转自:
https://blog.csdn.net/qq_29064501/article/details/130041266