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

ZED 无法 rejoin 的问题

终端设备 + 协调器。

协议栈 1.2.2a。

ZC 始终开启允许入网,仅增加白名单限制。

ZED 入网后,发送若干 data request,然后手动把 ZC 下电,等到 ZED 发送完 MAX_POLL_FAILURE_RETRIES 轮 data request 和 ophan request 后,把 ZC 重新上电,观察 rejoin 情况。

ZED 发送 3 个 beacon request 都得到父节点 ZC 的 payload 后,发送 rejoin request。

但此时并没有收到 ZC 的 rejoin response,导致 ZED 不断发送 beacon request 和 rejoin request,最终也无法重连成功。

同时,在 ZDO_NETWORK_INIT 事件中原本增加了仅允许进行 9 轮调用 ZDO_StartDevice() 的限制也失效了,程序不断在发送 beacon request。

希望能获得思路。

rejoin.psd

gaoyang9992006:

重新上电后ZC的网络参数是不是被随机生成了。之前有没有主动设置初始化网络的参数。网络的ID相关参数是不是没有指定,导致重新上电后自动分配的,跟ZED里面的不一致了,所以一直连接不上。

Makoto Loeng:

回复 gaoyang9992006:

ZC 的信道和 panid 都和下电前相同,使能了 NV_RESTORE,失能了 HOLD_AUTO_START。

Makoto Loeng:

回复 gaoyang9992006:

测试发现发送 orphan notification 后有 coordinator realignment,同时也有 ack 回应,ZED 进入 ZDO_JoinConfirmCB(),但此时的 status 为 0xEA(不知道这个这个状态的含义)而不是 ZSUCCESS,失败切换为 MODE_REJOIN。

Makoto Loeng:

回复 Alvin Chen:

按错了,这不是确认答案。

Makoto Loeng:

回复 Alvin Chen:

我使用过去做的的 2.5.1 下的 ZED 接入到这个白名单 ZC 下是有效重连的。coordinator realignment 之后 ZED 相应了一个应用层数据包,ZC 也回复了相同的应用层内容(这部分不是我的程序做的)。

1.2.2a 的 ZED 更换为原版 ZDApp 和 ZDObject 也是无法完成重连。coordinator realignment 之后 ZED 仍是发送多次 beacon request。

Alvin Chen:

回复 Makoto Loeng:

这我帮不了你,建议你不要替换SDK里面的文件,你重新安装SDK用我们Demo试一下,你所的那个部分程序,你最好咨询做那个code 人。

Makoto Loeng:

回复 Alvin Chen:

这段应用层消息似乎是协议栈自带的。

Makoto Loeng:

回复 Alvin Chen:

使用原版协议栈,仅修改了 poll rate 和信道,问题依旧。

re.psd

赞(0)
未经允许不得转载:TI中文支持网 » ZED 无法 rejoin 的问题
分享到: 更多 (0)