目录

什么是zigbee?

短距离通信技术,低速通信技术,低功耗,mesh拓扑结构。

一、zigbee框架

zigbee系统分层架构

分层

物理层:

负责无线电收发,收发不能同时进行

MAC层:最大帧长127字节

  • 下图是MAC层消息的格式:
    其中Frame control标示帧的类型,主要有四种类型:
  1. Beacon帧,用于扫描网络
  2. data帧
  3. Ack帧,每发一帧都需要对方确认
  4. MAC Command 入网的时候会用到

CSMA-CA: 发送前,先听一下这个信道有没有空闲

mac layer

网络层:

zigbee网络中有三种设备类型

  1. Coordinator(一个网络中只有一个(地址为0x00)):负责创建网络,不睡眠
  2. Router 可以转发消息,作为中间节点,不睡眠
  3. 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只需要通信双方知道即可。
    security

三、zigbee的入网流程

joining

四、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过程中降低功耗

如何降低ZigBee设备入网时的平均电流

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