[Zigbee 科普系列】 - find and bind

Zigbee 子设备开发


Post Reply
huanghuan
Posts: 202

find and bind 概念

Zigbee 网络中的控制发起端一般是信任中心,信任中心是设备入网时获取密钥的对象,所以通过设备入网,信任中心获取了网络中的所有设备信息,因此知道对端的地址有条件发起对在网设备的控制。

但是Zigbee 网络中的router设备,无法收到一跳范围外的设备数据,这个设备如何控制不在路由表中的设备? 首先发起控制的设备需要find 对端设备,知道对端的信息后再去控制它。

find 指的是通过无线通讯交互,发起端设备获取控制端设备信息,从而建立控制链路。

bind 指的是两个节点在应用层上建立起来的一条逻辑链路。在同一个节点上可以建立多个绑定服务,分别对应不同种类的数据包。此外,绑定也允许有多个目标节点(一对多绑定)。

举个例子,在一个灯光网络中,有多个开关和灯光设备,每一个开关可以控制一个或以上的灯光设备。在这种情况下,需要在每个开关中建立绑定服务。这使得开关中的应用服务在不知道灯光设备确切的目标地址时,可以顺利地向灯光设备发送数据包。

find and bind 目标端

Image

  1. 设备需要被发现时进入identifyself状态,开始倒计时
  2. 当收到发起端发起的identiy query广播包后,单播identify query respond给发起端设备
  3. 倒计时结束退出identifyself状态,不再响应identify query广播包

find and bind 发起端

Image

  1. 设备发送identify query广播包搜寻当前处理identifyself状态的目标端
  2. 当收到目标端单播的identify query respond后,发送simple descriptor 附带需要控制的endpoint和cluster
  3. 当收到目标端回复的simple descriptor respond后确认目标端是否具备需要控制的endpoint和cluster
  4. 如果该目标端具备需要控制的endpoint和cluster,则建立本地的bind table entry
  5. 将对端的identify time设置为0,让其退出identifyself状态
Post Reply