base device behavior
- Base-Device-Behavior-Specification-2
- Webinar_ZigBee_3-0_Launch_FINAL->
ZigBee 3.0 Base Device Behavior
bdb 是zigbee 应用层上面的纯接口层,提供了设备操作网络相关的交互行为,也就是bdb已经概况总结了可能的人机操作网络的行为(例如,建立网络/加入网络/离开网络),并且规划成接口,方便应用层直接调用,从而进一步规范厂商的应用行为,达到标准化。
提示:这里之所以总结为纯接口层,是因为其未在zigbee 帧上面产生数据行为。
从功能上划分面归纳如下行为:
I. commissioning
network steering
包含未加入网络设备的如下行为:
- 信道扫描;
- 选择一个开放网络执行关联加入;
- 获取 network key;
- 集中式安全网络的tc link key获取;
而对于已经加入网络的设备的:
- 控制mac运行设备加入180s(开放网络);
- 关闭网络;
network formation
- 信道扫描;
- 选择一个合适信道,并且初始化网络参数;
- 作为协调器的集中式安全网络以及tc(信任中心)建立;
- 作为路由可能的分布式网络下的建立;
finding & binding
- 广播
identify query request
并且接收回复; - 请求
simple descriptor
; - 匹配 initiator 和 target的cluster;
- 在绑定表创建对应关系;
touch link
这是分布式安全网络的两个设备之间的快速网络建立/设备加入机制,该流程区分常规的关联设备加入流程,看起来类似作为子节点的终端设备和父节点失联后,发起的孤儿节点宣告寻找父亲过程。所以设备的加入不是走的关联加入流程,需要参考[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
。
II. 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
。
III. reset
bdb还定义一些支持的网络复位行为,这里不再详细介绍;
- 基本cluster复位;
- 通过touchlink commission cluster复位;
- 通过离开网络命令;
- 通过ZDO 层Mgmt_Leave_req复位;
- 在系统的一些硬件交互的复位操作;
还不快抢沙发