我正在尝试将以下IAS区域设备(来自HEIMAN)添加到我的ZCL协调员(CIE)+ IoT网关(来自NXP)
答案 0 :(得分:0)
对于CIE设备,注册更复杂,ZCL堆栈不会为您执行此操作(尽管这可能取决于堆栈及其提供的任何附加功能)。
CIE设备可以使用ZDO匹配描述符函数执行其自己的服务发现。它可能会发送MatchDescriptorRequest
报告以查找IAS服务器,您需要回复MatchDescriptorResponse
报告您支持此操作。通常,请求将查找IAS区域服务器群集(0x500),但您应检查数据包并进行相应的响应。请参阅ZigBee规范的2.4.3.1.7 Match_Desc_req和2.4.4.1.7 Match_Desc_rsp。如果IAS设备正在寻找区域控制器,它可能不接受任何请求,直到它收到此响应,实际上有些设备可能会离开网络,如果他们找不到服务他们请求。
接下来,它可以通过发送ZoneEnrollRequest
命令注册IAS服务,您的应用程序需要使用ZoneEnrollResponse
对此进行响应,告诉设备它现在已注册到您的系统中。请参阅ZCL规范中的8.2.2.4.2区域注册请求命令。
从您的跟踪中,很难说发生了什么,因为日志查看器在此视图中未提供有关数据请求帧内容的任何信息。但是,我们可以看到许多帧从设备发送到协调器,并且可能正在执行上面讨论的一个或两个发现服务。您应该检查请求以找出它们是什么,并检查ZigBee规范的适当部分或ZigBee集群库规范。
答案 1 :(得分:0)
CIE到IAS的IEEE地址成功运行。使用Xbee s2c进行了测试。
Explicit Addressing Command Frame (API 2)
7E 00 22 7D 31 01 28 6D 97 00 01 04 2B 7D 5D FF FE E8 01 05 00 01 04 00 20 00 01 02 10 00 F0 6B 7A 29 41 00 A2 7D 33 00 FD
Start delimiter: 7E
Length: 00 22 (34)
Frame type: 11 (Explicit Addressing Command Frame)
Frame ID: 01 (1)
64-bit dest. address: 28 6D 97 00 01 04 2B 7D
16-bit dest. address: FF FE
Source endpoint: E8
Dest. endpoint: 01
Cluster ID: 05 00
Profile ID: 01 04
Broadcast radius: 00 (0)
Transmit options: 20
RF data: 00 01 02 10 00 F0 6B 7A 29 41 00 A2 13 00
Checksum: FD
Explicit RX Indicator (API 2)
7E 00 16 91 28 6D 97 00 01 04 2B 7D 5D A3 87 01 E8 05 00 01 04 21 18 01 04 00 3A
Start delimiter: 7E
Length: 00 16 (22)
Frame type: 91 (Explicit RX Indicator)
64-bit source address: 28 6D 97 00 01 04 2B 7D
16-bit source address: A3 87
Source endpoint: 01
Destination endpoint: E8
Cluster ID: 05 00
Profile ID: 01 04
Receive options: 21
RF data: 18 01 04 00
Checksum: 3A