我正在创建一个使用 cc2652的 Zigbee 网络项目。 我正在执行的代码仅在协调器侧。 我需要的是获得加入该网络的所有设备的更新列表。 该项目将不会有路由器设备、只是终端设备和协调器。 终端设备是商用传感器、例如灯、开关和运动传感器。 我曾尝试使用关联设备列表、但在某些情况下、连接的设备不会显示在此列表中。 理想情况下、我希望:
1.连接 到网络的设备集合
2.设备加入时的回调
3.在设备离开时回叫(对于来自协调器或用户的离开请求、用户按下终端设备上的重置按钮)
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在创建一个使用 cc2652的 Zigbee 网络项目。 我正在执行的代码仅在协调器侧。 我需要的是获得加入该网络的所有设备的更新列表。 该项目将不会有路由器设备、只是终端设备和协调器。 终端设备是商用传感器、例如灯、开关和运动传感器。 我曾尝试使用关联设备列表、但在某些情况下、连接的设备不会显示在此列表中。 理想情况下、我希望:
1.连接 到网络的设备集合
2.设备加入时的回调
3.在设备离开时回叫(对于来自协调器或用户的离开请求、用户按下终端设备上的重置按钮)
谢谢
尊敬的 Alberto、
1.这应该是 AssociatedDevList (assoc_list.h 有关 API,请参见 NWK/API),没有代表的设备可能会由于不活动而过时,向 ZC 发送离开命令,或加入进程失败。
2.当设备加入网络时,会广播 Device Announce,而 ZC zcl*_processZStackMsgs 函数的 zstackmsg_Cmdids_ZDO_DEVICE_Announce 案例可以捕获到该广播。
3.类似地, zstackmsg_Cmdids_ZDO_LEFT_IND 提取发送到 ZC 的休假命令。 请注意、您需要修改 SetupZStackCallback 以添加 zdoCBREQ.HAS_leaveIndCB 和 zdoCBREQ.leaveIndCB、两者都设置为 true。
此致、
Ryan