TI中文支持网
TI专业的中文技术问题搜集分享网站

协调器运行一段时间后,入网能力就变成0了

如图,所示,协调器运行一段时间后,中间经历过别的设备的入网和离网,然后在它发送的beacon包中,就显示没有入网能力了:Router Capacity的值是0了。

这个问题一年多了,一直存在,除了重刷程序或者使用zgWriteStartupOptions()函数重置NV外,没有别的办法能恢复。

协议栈版本ZHA1.2.2a;

请问有遇到类似问题的么?有没有办法能避免或者解决?

Viki Shi:

是不是重复入网导致关联表满了?手动删除关联表试试

user5020974:

回复 Viki Shi:

已经试过了,而且是把关联中所有的路由设备都手动删除了,但是beacon包里边,入网能力还是显示的0

YiKai Chen:

回复 user5020974:

你是不一直把permit join打開?

user5020974:

回复 YiKai Chen:

permit join不是一直打开的,需要入网新设备的时候才开1分钟的窗口。但是测试的地点设备比较多,入网的时候可能有别的设备也加进来,有别的设备进来后都会发手动离网,怀疑就是不停的有设备进网离网,再协调器里有信息残留。就是不知道怎么避免,或者在程序中能有扫描措施,包正设备离网后能确保离网设备的相关信息都能被清除

YiKai Chen:

回复 user5020974:

建議你始能一下child age吧

user5020974:

回复 YiKai Chen:

child age对路由设备也生效么? 还有时能这个定义后,有别的影响么?

YiKai Chen:

回复 user5020974:

child age对路由设备不生效,沒别的影响

user5020974:

回复 YiKai Chen:

那添加这个定义就没意义了,现在用到的设备都是路由设备,就是路由设备进网、离网多次后,协调器的入网能力变成0的。
另外,测试的时候发现设备的入网能力不全是关联表决定的,在协调器的beacon数据包中的Router Capacity位变成0 以后,手动删除了关联表,Router Capacity位还是显示0,把关联表打印出来观测,已经是空的了。

YiKai Chen:

回复 user5020974:

調用 AssocReset清除一下关联表試試看

user5020974:

回复 YiKai Chen:

没有用 AssocReset,用的AssocRemove挨个清除的,应该没有区别吧?
而且关联表打印出来,确实里边已经没有设备了

赞(0)
未经允许不得转载:TI中文支持网 » 协调器运行一段时间后,入网能力就变成0了
分享到: 更多 (0)