用户工具

站点工具


zigbee:bdb

base device behavior

bdb 框图

bdb 是zigbee 应用层上面的纯接口层,提供了设备操作网络相关的交互行为,也就是bdb已经概况总结了可能的人机操作网络的行为(例如,建立网络/加入网络/离开网络),并且规划成接口,方便应用层直接调用,从而进一步规范厂商的应用行为,达到标准化。

提示:这里之所以总结为纯接口层,是因为其未在zigbee 帧上面产生数据行为。

从功能上划分面归纳如下行为:

commissioning

network steering

网络操作

包含未加入网络设备的如下行为:

  • 信道扫描;
  • 选择一个开放网络执行关联加入;
  • 获取 network key;
  • 集中式安全网络的tc link key获取;

而对于已经加入网络的设备的:

  • 控制mac运行设备加入180s(开放网络);
  • 关闭网络;

network formation

  • 信道扫描;
  • 选择一个合适信道,并且初始化网络参数;
  • 集中式安全网络的tc(信任中心)建立;
  • 分布式网络的建立;

finding & binding

ez 模式下的发现和绑定

  • 广播 identify query request 并且接收回复;
  • 请求 simple descriptor;
  • 匹配 initiator 和 target的cluster;
  • 在绑定表创建对应关系;

这是分布式安全网络的两个设备之间的快速网络建立/设备加入机制,该流程区分常规的关联设备加入流程,看起来类似作为子节点的终端设备和父节点失联后,发起的孤儿节点宣告寻找父亲过程。所以设备的加入不是走的关联加入流程,需要参考[zigbee Specification Revision 22 1.0]()->Chapter 3 Network Specification-> 3.6.1.4 Joining a Network->3.6.1.4.3 Joining a Network Directly。所以从流程上看,这里发起的是Rejoin request 流程。不过需要确定rejoin流程匹配的标识符是父节点的ieee地址,那这里的又是匹配目标设备的什么特征?

原来......

提示:详细参考,[Z-Stack 3.0 Developer's Guide.pdf]()->10.7 Touchlink joining 以及[Base-Device-Behavior-Specification-2.pdf]()-> 8.7 Touchlink procedure for an initiator

security

install code

默认地,tc link key获取都是通过新加入网络设备发起数据请求。现在可以设备出厂的install code 携带一个随机128bit tc link key和16bit的crc,加入网络前tc通过一些物理接口(key/lcd、serial)获取该install code,从而直接允许新设备的加入。

提示:详细参考,[Z-Stack 3.0 Developer's Guide.pdf]()->10.5.2 Install Code Derived Trust Center Link Key 以及[Base-Device-Behavior-Specification-2.pdf]()-> 10.1 Install codes

reset

bdb还定义一些支持的网络复位行为,这里不再详细介绍;

  • 基本cluster复位;
  • 通过touchlink commission cluster复位;
  • 通过离开网络命令;
  • 通过ZDO 层Mgmt_Leave_req复位;
  • 在系统的一些硬件交互的复位操作;
zigbee/bdb.txt · 最后更改: 2021/06/22 23:14 (外部编辑)