微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 编译了NV_RESTORE的路由器失去父节点后的怎么不会寻找新的父节点?

编译了NV_RESTORE的路由器失去父节点后的怎么不会寻找新的父节点?

时间:10-02 整理:3721RD 点击:

Z_stack中EndDevice编译了NV_RESTORE条件后,如将EndDevice远离到他的父节点RF范围,这个EndDevice就会重新找新的父节点加入,并且它的网络短地址也不会改变!但是Router却不可以像EndDevice那样编译了NV_RESTORE之后,当失去自己的父节点时找到新的父节点,仍然短地址保持不变?

实际应用在ZLL中控制灯,需要灯的短地址不能变,所以需要编译NV_RESTORE,从NV中恢复网络参数,但是这样却造成了网络中灯节的不能 有太大的移动位置,若灯节的远离了自己的父节点的RF范围就入不了网络?想入网只有不编译NV_RESTORE,每次都是新的父节点给分配新的短地址,造成无法知道控制灯

是我对协议栈理解的不对,还是什么,求解惑

router具有维持网络的功能,所以说即使网络内只有一个路由器了它也能够维持网络

是啊,但是怎么让一个离开自己父节点的Router而去选择新的父节点去路由自己的数据,我发现Router离开了自己的父节点的RF范围(远离自己的父节点,靠近这个网络里别的Router节点),Coordinator就收不到它的消息了,仿佛脱离了网络一样,甚是郁闷,求开导

Jason,

Router只有第一次入网的时候会选择父节点,之后如果开启了NV功能,即便是复位,或者远离父节点也不会去重新选择父节点了。因为已经存在于网络中了,后续的路由数据都是靠Link Status来更新Neighbor table,和route reques来更新 Routing table了。

在ZLL中,所有的灯都是router,如果节点位置发生变化,或者重启之类,当Coordinator发送数据的时候,如果不成功,会重新通过router request来找到这个节点的。

从心里真的很感谢VV师傅的指导

原来是我开始的想法就错了,开启NV功能的Router入网后是不会再去找父节点的

接下来我该怎么去查呢?是去抓包看Router C有没有收到Link Status消息和Route Reques消息吗?以此来排除是硬件射频根本就没有覆盖到Router C还是收到了Link Status、Router Request 消息但是没有更新Neighbor Table和Routing table?我是zstack原版的sensordemo程序,还请明示一个方向

现在我有一个Coordinator,三个Router 为A、B、C,开始放在一起上电自动组网,三个Router的父节点都是Coordinator,然后把一字纵向排开,后面的Router C是不在Coordinator射频范围内的,但是在Router B和Router A射频范围内,想让Router C可以经Router A和Router B路由将数据传到Coordinator,结果只有Router A和Router B的数据上来了,没有Router C数据

你的SnesorDemo是加上Z-Stack 2.5.1a的协议栈上面吗?

你说没有收到Router C的数据,首先看Router C数据有没有发出来,如果有发出来MAC目的地址和NWK目的地址分别是什么?

从协议上来说,当你的Router C远离Coordinator以后,会收不到Coordinator发出来的Link Status默认15s一条,如果连续45s没有收到就认为和Coordinator的链路已经断了。

1)在45s以内,当你的Router C第一次需要发送数据给Coordinator的时候,会直接发数据Coordinator,MAC和NWK的目的地址都为0x0000,因为Router C认为Coordinator是父节点,而且Link正常。连续尝试3次发送都没有成功,因为已经不在一跳的通信范围内了。之后发送会尝试Router request来找路径。

2)在45s以后,当你的Router C第一次需要发送数据给Coordinator的时候,会直接发送router request,找到路由路径以后再发送数据。

我想请问一下那如何在已经打开NV保存功能的情况下,如何实现route 父节点更新。

求解决方法,谢谢!

不太明白你的意思,能解释下么?

谢谢!

谢谢你的回复,我的想问的是: route设备中途父节点变化 我在route端怎么样获取变化的父节信息。例如三个设备 两个route ,A,B,一个网关C,开始A设备同过B连接在C 上面,A的父节点是B;中途B设备断开,那么A直接连接在C上面,但是我在跟踪的时候发现A设备的父节点还是B 没有变成C  ,我是想问这种情况怎样做才能是A的父节点变成C呢,我编译雪儿程序是打开NV_RESTORE。 

对于路由设备来说,父节点只是在入网的时候一个媒介,等入网以后父节点的信息不会变化,即便父节点不存在了。

因为路由设备的通信部依赖于父节点的

w你好, 对于ZR我如何去判断它的父节点掉网了,因为我想让它的父节点在掉网的时候ZR去复位,去找别的路径。谢谢,这个问题折磨我好久了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top