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

many-to-one

芯片:2530

协议栈:mesh1.0.0

问题:低功耗的设备在原父节点掉电之后,更换了另一个父节点,此时该终端设备上发数据至协调器正常,而协调器下发数据仍然使用了原父节点的路径,导致不能下达,请问这该如何解决?请问开启协调器的Many-to-one功能是否能解决?谢谢!

Susan Yang:

Many-to-one:多个节点->Coordinator 的目的是为了让节点能够存储到Coordinator的Routing ( next hop )path,这个path会定期更新,many-to-one router discovery实际上是协调器连续广播三次Router Request,并且Coordiantor定期发送many-to-one router discovery维护路由关系,也就是广播路由方式,其他路由节点收到后也会广播这个Router Request。

广播路由是发送给网络中其他所有设备(可选择只发给路由设备或者发给路由和终端设备)的消息,但是广播对于睡眠终端设备来说是不可靠的,会降低网络性能。 您现在设备的父节点是路由节点还是协调器?

Viki Shi:

协调器发送 Route Discovery更新一下路径

user6069081:

回复 Susan Yang:

原父节点和新父节点都是路由设备的

user6069081:

回复 Viki Shi:

请问这个 Route Discovery是刷新协调器内的节点路径吗?如果开启了这个功能是否可以解决我描述的问题呢?谢谢

Susan Yang:

回复 user6069081:

协调器通过发起many-to-one路由请求(也就是广播路由发现请求),来创建普通节点到集中节点的路径。路径损耗的计算及转播与普通路由请求一样,但是many-to-one路由请求没有路由应答(Router reply),每个收到多对一路由的节点,都将收到的最优路径存储到路由表中并标记为many-to-one路径,目标地址为协调器,下一跳为路径最优的发送者。

您可以参考一下  blog.csdn.net/…/92075638

YiKai Chen:

這個問題Zigbee 3.0透過Child aging來解決,建議你使用Z-Stack 3.0.2

user6069081:

回复 YiKai Chen:

我们仍然需要维护使用了mesh协议栈的设备。

user6069081:

回复 YiKai Chen:

你好,我按照所给的文档开启了协调器的 many-to-one 功能,但结果并没有达到预期,仍然有上述所说的情况出现。如抓包文件,终端地址为0xFF23的现父节点为0x9E9D,上报信息能正常到达(见676以及678),但由协调器下发的消息不能正常到达0xFF23(见861的nwk header),请问这是什么原因?谢谢!2020年1月17日16_03_15.rar

user6069081:

回复 Susan Yang:

你好,我开启了many-to-one功能后,有一个节点的父设备路径出现了错误,addr为0xFF23,在96行以及277,请问有什么办法可以修改此现象,谢谢!

user6069081:

回复 user6069081:

2020年1月17日18_02_02.rar

赞(0)
未经允许不得转载:TI中文支持网 » many-to-one
分享到: 更多 (0)