4

我使用一些带有 zb 堆栈的 xbee (s2) 模块进行网状网络评估。因此,必须创建多跳环境。问题是,固件自己处理关联,并且无法像 api 提供的那样深入堆栈。为了强制数据的路径,而不干扰路由机制,我试图测量,我不得不把它们放在他们够不到的地方。只获得关联的下一跳并不是那么容易。我使用了最小功率级别的输出,但测试设置的距离很大,并且环境变化的射频特性未确定。

因此我的问题是,有人遇到过这个问题吗?

问候,托比

4

2 回答 2

2

我认为通过软件和协调器/路由器是不可能的。您可以更改节点加入时间 ( ATNJ) 以强制新路由器通过特定路由器加入(在除一个以外的所有节点上禁用节点加入),但这只会影响加入。一旦加入网络,路由器将发现其他节点在范围内。

你可以用昏昏欲睡的终端设备来做到这一点。您可以使用该ATNJ技巧强制终端设备通过单个路由器加入,并且它将始终将其消息发送到该路由器。但是你不会得到那么多跳——终端设备发送到它的父路由器,它发送到目标的父路由器,它发送到目标终端设备。

您可能需要在物理上限制无线电的范围以强制跳跃,正如您将 Digi 的 K-Node 测试设备与 1000 多个无线电网络链接的视频中所展示的那样。他们将无线电放在射频屏蔽盒中,并使用带有软件控制衰减器的有线天线连接将模块相互连接。

如果您有带有 U.fl 或 RPSMA 连接器的 XBee 模块,并且不连接天线,则应该会显着减小模块的范围。否则,使用线鞭或集成 PCB 天线,您需要将每个收音机放在某种会衰减信号的盒子中。也许其他人可以提供有关在不完全阻挡信号的情况下减小信号范围的材料的建议。

于 2012-11-12T17:24:20.427 回答
2

ZigBee 节点尝试自动形成 Ad-Hoc 网络。这就是为什么他们以当时可用的最强连接(最佳网络覆盖)加入网络。这些模块的设计方式使您不必太在意建立可靠的通信。他们将在大多数情况下解决网络问题。

你想做的,是以某种方式迫使不同的情况。你想创建一个特定的拓扑,以获得一些多跳。这不会是点头的正常行为。但是你仍然可以通过一些 AT 命令得到你想要的。

提到的命令“NJ”应该适合你。此命令在一定时间(以秒为单位)后锁定连接。让我们考虑一个具有三个节点的简单 ZigBee 网络:一个协调器、一个路由器和一个终端设备。打开协调器,将“NJ”设置为两分钟。然后快速打开Router,两分钟内就可以和Coordinator关联了。在这两分钟之后,Coordinator 将被锁定并且不会接受更多的加入。那时您可以启动终端设备,它必须与路由器相关联。这样,您将看到终端设备和协调器之间的消息按照您的意愿通过路由器。

您可能会多次应用此想法获得更大的网络,而无需使用模块的天线。您可以远程控制 AT 参数(即从连接到协调器的计算机),因此您可以使用一些代码来帮助您初始化网络。

于 2012-11-17T12:53:33.970 回答