[求助] zstack 协调器掉电重启后,节点无法入网?

L_954863658   2020-4-2 09:17 楼主
悬赏 1 分 芯积分已解决

网络中有一个协调器和一个终端节点,协调器和终端都打开NV_INIT和NV_RESTORE功能,如果协调器掉电时间小于终端点播的时间(5秒),协调器上电后,终端可以立即入网;但是如果协调器的掉电时间大于终端点播的时间,终端将立即无法入网,终端重启可入网;请问下这是什么原因?

回复评论 (5)

      在协调器完成网络组建之后,再为一个路由器通电(假设该路由器的ZDAPP_CONFIG_PAN_ID被配置为0x1235),在这种情况下,该路由器只能加入PAN ID0x1235的网络中。即使该网络中只存在PAN ID0x1234A网络的设备,该路由器也不会加入到A网络中,它将一直处于网络搜寻状态,直到找到PAN ID0x1235的路由设备并加入到该网络中。

      若网络BPAN ID0x1235的一个路由器和一个协调器,它们肯定可以直接通信。如果把协调器关闭再打开(复位),等协调器再次组建好网络之后却发现路由器不能协调器通信了,这是因为协调器再次上电之后还是要组建网络的,当它搜寻周围网络环境发现PAN ID0x1235路由器,它意识到存在PAN ID0x1235的网络,它将不会使用0x1235作为PAN ID,很可能它组建PAN ID0x1236的新网络C,因此它也就不能PAN ID0x1235路由器通信

      终端设备情况类似。所以组网时应先让协调器工作起来,再让终端设备运行

我爱大清国我怕它完了可谁爱我啊
点赞  2020-4-2 09:41
wojiaomt 发表于 2020-4-2 09:41       在协调器完成网络组建之后,再为一个路由器通电(假设该路由器的ZDAPP_CONFIG_PAN_ID ...

你好,首先感谢你的回答。

那想你这样说的话,如果协调器掉电重启后,所有终端节点都必须重启一下么?

我现在网络中加入一个路由设备,同样开启NV功能,协调器掉电重启后,路由节点是不会受到影响的,终端节点也无法入网,这种情况是什么原因?

点赞  2020-4-2 09:56

理论上来说,协调器的主要角色是负责建立和配置网络,而不是加入某个已存在的网络。由于Zigbee网络本身的分布特性,一旦Zigbee网络建立完成后,整个网络的操作就不再依赖协调器是否存在,与普通的路由器没有什么区别。协调器首先负责建立一个新的网络,一旦网络建立后,该设备的作用就是一个路由器,所以协调器有双重功能。

路由器的作用是允许其他设备加入网络、多路由、协助子终端设备通信。一般情况,路由器需要一直处于工作状态,必须使用电力电源供电,但是当使用树型网络拓扑结构时,允许路由器间隔一定的周期操作一次。

不用太纠结为什么,不然就要具体分析代码。知道这种现象,规避处理就好。

我爱大清国我怕它完了可谁爱我啊
点赞 (1) 2020-4-3 10:53
引用: wojiaomt 发表于 2020-4-3 10:53 理论上来说,协调器的主要角色是负责建立和配置网络,而不是加入某个已存在的网络。由于Zigbee网络本身的分 ...

好的,非常感谢!

点赞  2020-4-3 13:45

end device个orphan状态,你的程序要有检测orphan状态和从orphan状态重新入网的设计才行

点赞  2020-5-27 14:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复