8258设置成coordinator,有6个入网节点,4个是Router,2个是End-Device。coordinator打开Permit Join,入网节点上电后立即入网。然后再Coordinator的sampleGW_tcJoinIndHandler触发后就使用zb_zdoActiveEpReq和zb_zdoSimpleDescReq读取每个节点的信息,抓包发现协调器发出来6包Active Endpoint Request指令,但是activeEpRsp回调函数只触发了4次,是4个Router的,另外2个End-Device的没有触发activeEpRsp回调。
你好,
建议启动入网时加入一些随机延时,避免多设备同时入网。
节点都是统一供电的,而且都是第三方提供的设备,这个无法控制。
入网倒是成功了,但是协调器同时读取多个节点的Active Endpoint和Simple Description时,如果节点响应快慢不一致,反应慢的节点的Response会被反应快的节点的Response覆盖掉,归根结底还是协调器的ZDP Response的Callback缓存太少只有4条,而且还是Queue覆盖。
@TL_Soyo
你好,
建议启动入网时加入一些随机延时,避免多设备同时入网。
节点都是统一供电的,而且都是第三方提供的设备,这个无法控制。
入网倒是成功了,但是协调器同时读取多个节点的Active Endpoint和Simple Description时,如果节点响应快慢不一致,反应慢的节点的Response会被反应快的节点的Response覆盖掉,归根结底还是协调器的ZDP Response的Callback缓存太少只有4条,而且还是Queue覆盖。
@TL_Soyo