@VV大神,请教终端发送data request失败后,协调器,路由,终端各自的现象
时间:10-02
整理:3721RD
点击:
VV大神,你好!
前提:所有设备都开启NV_RESTORE。终端(A),路由都加入协调器(通过安检来允许或关闭其他设备入网)的网络。
某个时候,终端设备(A)发送data request失败(没收到父设备的回复)几次后,会重新发送beacon request,此时如果不重新打开协调器的允许入网功能的话,这个终端(A)就会一直发beacon request,不能直接入网。
请问下这是什么原因,如果来解决这个问题呢。是因为协调器,路由器把这个终端A的数据删除了吗?
标题有抄袭我的嫌疑/偷笑
具体我得再看看抓包给,貌似是3次datarequest 没有Ack那么首先进行孤点宣告,2.5.1a会在11-26信道寻找其父亲,如果找不到重新加入网络,终端设备的关联表会自动删除,但是原来父亲节点不会主动删除,需要手动处理,Z-Stack也类似机制,我们是APP控制删除的。同时如果beacon request 没有成功加入,那么确实会一直发,我们做的时候是限制了次数后休眠保证功耗。
你这个题目的效果不错。哈哈。
那麻烦请问下终端的关联表是在哪个地方删除的呢?谢谢!
Z-Stack提供接口的,网上找找,大概是这样的:extern byte AssocRemove( byte *extAddr );
删除要谨慎,特别是终端设备和其父亲
@Jay Lee
感谢回复。
@VV 不过我发现终端AssociatedDevList数组里没有数据啊,全是0,应该不是终端把自己清除了吧
终端的关联表里面只会有父设备的信息,他不会有子设备的。