Thread 中讨论的其他器件:Z-stack
我在 LaunchPad 上有3个项目可用于测试:
ZC_LIGHT
ZR_SW
Zed_sw
ZED 和 ZR 可以与 ZC 配对、一切都可以正常工作。
但是、如何确保通过 ZR 到 ZC 的 ZED 对以及所有传输也通过 ZR 的这种路由方式?
我们是否有任何设置可以排除 ZED 和 ZC 之间的直接交易?
ZR 应始终参与此过程。
我没有足够的空间将 ZED 和 ZC 彼此移开并将 ZR 置于中间。
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我在 LaunchPad 上有3个项目可用于测试:
ZC_LIGHT
ZR_SW
Zed_sw
ZED 和 ZR 可以与 ZC 配对、一切都可以正常工作。
但是、如何确保通过 ZR 到 ZC 的 ZED 对以及所有传输也通过 ZR 的这种路由方式?
我们是否有任何设置可以排除 ZED 和 ZC 之间的直接交易?
ZR 应始终参与此过程。
我没有足够的空间将 ZED 和 ZC 彼此移开并将 ZR 置于中间。
谢谢。
我不确定、但可能我看到过应用手册或其他内容、其中测试了链中的许多器件和路由器。 他们写了一条注释、指出没有足够的空间将所有器件放置在链中、并添加了一些限制、以使它们以特定的顺序相互连接。 因此、它们将 DEV1连接到了 DEV2、将 DEV2连接到了 DEV3、将 DEV3连接到了 DEV4等。尽管它是网状网络、但它们知道自己是如何连接的。 但我失去了链路、我不记得它们是如何使 DEV1未直接连接到 DEV4的。 您是否理解我所说的内容? 有什么建议吗?
我找到了文档 https://www.ti.com/lit/an/swra650b/swra650b.pdf
对于器件而言、它们的"区域"是什么意思? 是只是一个特别的房间彼此远离,还是这些区域是以软件的方式逻辑创建的?
尊敬的 Alex:
应用报告源材料在 NWK 层使用 ZNP、python 脚本和高级允许/拒绝列表来实现基于 IEEE 地址的器 件路由的 Zone 方法、即使这样、也无法强制将 ZED 加入一个特定的区域。
如果您不希望任何 ZED 直接关联到 ZC、或者如果这只是为了测试目的、则可以在 nwk_globals.h 中设置 NWK_MAX_DEVICE_LIST= NWK_MIN_ROuter_children、以便所有关联的设备都保留为 ZR 邻居、因此不允许 ZED 子设备。
我的快速测试解决方案始终是将 ZED 和 ZR 放置在更靠近 ZC 的位置。
此致、
Ryan
Ryan Brown1 很棒的想法。
ZR 确实保持在网络中、并且能够在网络中通信和路由数据包、但如果新设备尝试加入、则 在信任中心脱机的情况下更新 TC 链路密钥将失败。 ZR 的 Z-Stack 库将知道 ZC 通过失败的链路状态更新和现有路由/邻居表关闭。 您可以使用 Z-Stack API (如 Zstackapi_DevNWkCheckRouteReq() )检查带有 ZC 的路由是否处于活动状态,或尝试发送 ZDO 消息(如 Zstackapi_ZdoIeeAddrReq()),并查找是否获得响应。
此致、
Ryan