参见下图。 我理解入网是要发这个消息,并且是广播形式,但是否太多了些,我看有的设备发了两三次。
不知这么现象是否正常?是否可以调优?
另,454行设备加入后又自行离网,然后又加入,反复了几次,最后稳定了。 是模块本身原因?为什么最后又可以稳定? 电压不稳?
抓包文件附后。接入第9个模块027952BB共连5次.zip
user5798117:
仔细看了下抓包文件,是协调器要求 这个设备离网。 协调器一般什么情况会要求设备离网呢?
并没有用什么特别的安全机制。
Alvin Chen:
你这都是Router是正常的,如果你不想你的路由可以permit join ,你可以使用ZDO_StartDevice去入网,如果是BDB steering 会有180s的PermitJoin
YiKai Chen:
這是因為你協調器廣播MGMT Permit Join,所以router也會轉發,如果你MGMT Permit Join用單播指定特定的ZR或是ZC就不會看到這個現象
user5798117:
回复 Alvin Chen:
多谢Alvin,理解了。如果用ZDO_StartDevice 会有什么缺点吗?请教下,协调器为什么要求设备离网呢? 我看这个过程反复了三次。
上图中,E5F5是父节点,6C11是被要求离开的节点。 这个过程后来又重复了几次,每次这个节点都会找 E5F5作为父节点;最终协调器也同意这个节点入网了。
user5798117:
回复 YiKai Chen:
多谢 YiKai, 这里是不是我用BDB steering, 路由广播,然后协调器接着也广播了。
我有什么办法不让协调器广播?如果换用 Alvin 推荐的ZDO_StartDevice让A设备入网,则别的设备如果想加入A设备,是否我要发命令给A,让他打开组网?
YiKai Chen:
回复 user5798117:
是的,用BDB steering, 路由广播,协调器也會接着也广播,如果使用BDB是無法避免的。你A设备入网的問題,請問A设备是協調器,路由還是終端設備?
user5798117:
回复 YiKai Chen:
协调器让路由A 入网,A 是路由; 然后假设协调器已经满了,还有其他设备,想让其他设备加入A。
另外,协调器一般什么时候会要求 刚入网设备离网,从抓包文件中能 看到原因吗?
YiKai Chen:
回复 user5798117:
1. 你可以用MGMT permit join單播開放入網給协调器及路由A,讓让其他设备可以加入A
2. 协调器一般什么时候会要求 刚入网设备离网,這要看抓包才能判別
user5798117:
回复 YiKai Chen:
抓包文件如下,截图如下。0410.接入第9个模块027952BB共连5次.zip
在这个抓包文件中,协调器几次都要求Mac地址为0D:BB:52:79的设备离网。 能麻烦您看下什么原因吗?
其中一次发生在抓包文件的 866 行。
YiKai Chen:
回复 user5798117:
Mac地址为0D:BB:52:79的设备是也是跑Z-Stack?