软件开发使用Z-stack3.01协议栈,协调器使用2538,关闭协调器上电3分钟准许入网(协调器上电后不会自动开启3分钟准许入网)。终端使用2530,协调器和终端都开启了NV_INIT、NV_RESTORE,终端入网后协调器掉电(终端直连协调器,中间无路由),终端发现丢失父节点后每10s发送一个beacon request,然后协调器上电,协调器不会应答终端发送的beacon request,终端一直无法rejoin。如果触发协调器开启准许入网,则协调器对终端发送的beacon request 做出beacon应答,终端发送rejoin request,然后就能rejoin成功。问题是:协调器上电默认不开启准许入网,终端无法进行rejoin request。请问该如何修改代码,实现协调器不开启准许入网,终端也能rejoin入网。注:使用Z-stackhome1.2,即使协调器不开启准许入网,终端也可以rejoin成功的。
YiKai Chen:
先確定你的2530终端有加入2538协调器,在關閉协调器,照理來說协调器重新上電,2530终端要能夠加入的,你使用的例程是哪個?SampleLight/SampleSwitch?有沒有對原始碼做任何修改?
xiuqiang chen:
回复 YiKai Chen:
终端使用的例程是SampleLight,协调器是GenericApp,原始程序修改是取消了协调器上电3分钟准许入网,不修改该处是能rejoin成功的。我们打算设计成按键触发协调器才开启准许入网,发现协调器不开启准许入网,终端无法rejoin。
xiuqiang chen:
回复 YiKai Chen:
此方法解决了该问题,谢谢!