====使用ZCL的LQI查询获取某个节点的邻近节点列表和链路质量==== ZigBee作为一种网络栈协议,有着完备的网络功能,ZCL是ZigBee对象的cluster库,通过Digi XBee ZigBee模块可以发送ZigBee对象的ZCL命令来查询各种ZigBee对象的信息。LQI是其中的一个常用查询命令,它用来获取相邻节点的各种信息。ZigBee的协议文档对此有具体的定义。 为了能发送和解析ZCL,需要配置AP=1和AO=1。以两个节点的网络为例,一个是协调器,一个是路由器。先让他们组网,我们要在协调器发起调查路由器节点的邻近节点列表和链路质量,只需在协调器上设置AP=1,AO=1。 然后在协调器上新建一个0x11的发送帧,输入目标路由器的MAC地址,cluster设置为0x11, profile和两个endpoint都要设置为0,表示是zigbee对象本身的cluster。在payload上设置0x0100,其含义是: {{:digi:rf-wireless:xbee:zigbee:pasted:20240315-120526.png}} XCTU上的0x11包可参考: {{:digi:rf-wireless:xbee:zigbee:pasted:20240315-120632.png}} 发送出去后,会收到一个包0x91帧,相关的发送,接收和反馈包如下,请下载解压后,{{ :digi:rf-wireless:xbee:zigbee:lqi_test.zip |LQI查询}}在XCTU上用Tools--》Load Console Session来打开观察。 ===分析LQI查询结果=== 根据ZigBee官方文档对LQI查询的定义,接收帧的意义如下: {{:digi:rf-wireless:xbee:zigbee:pasted:20240315-121538.png}} 在这个例子中,只有一个相邻节点: {{:digi:rf-wireless:xbee:zigbee:pasted:20240315-123130.png}}