我使用一些带有zb栈的xbee (s2)模块来进行网格网络评估。因此,必须创建多跳环境。问题是,固件自己处理关联,并且没有api提供的更深入堆栈的方法。为了在不干扰路由机制的情况下强制数据的路径,我试图测量,我必须将它们放在他们无法到达的地方。只获得关联中的下一跳并不是那么容易。我使用了输出的最低功率电平,但测试设置的距离太大,环境的射频特性变化不确定。
因此我的问题是,有没有人有这个问题的经验?
向你致敬,托比
发布于 2012-11-13 01:24:20
我认为通过软件和协调器/路由器是不可能的。您可以更改节点加入时间(ATNJ),以强制新路由器通过特定路由器加入(禁用除一个以外的所有节点上的节点加入),但这只会影响加入。一旦加入网络,路由器就会发现其他节点在范围内。
你可以用昏昏欲睡的终端设备做到这一点。您可以使用ATNJ技巧强制终端设备通过单个路由器加入,它将始终将其消息发送到该路由器。但是你不会得到那么多的跳数--终端设备发送到其父路由器,它发送到目标的父路由器,再发送到目标终端设备。
您可能需要在物理上限制无线电的范围,以强制跳跃,如您链接的Digi的K-Node测试设备与超过1000个无线电网络的视频所演示的那样。他们将无线电放在射频屏蔽盒中,并使用有线天线连接和软件控制的衰减器将模块相互连接。
如果您的XBee模块带有U.fl或RPSMA接口,并且没有连接天线,则应该会显著缩小模块的范围。否则,使用电线鞭子或集成的PCB天线,您需要将每个无线电放在某种类型的盒子中,以衰减信号。也许其他人可以在不完全阻断信号的情况下,提供缩小信号范围的材料方面的建议。
发布于 2012-11-17 20:53:34
ZigBee节点试图自动形成一个Ad网络。这就是为什么他们在那个时刻加入了具有最强连接(最好的网络覆盖)的网络。这些模块的设计方式是,您不必太关心建立可靠的通信。它们将在大部分时间内解决网络问题。
你想要做的,是以某种方式迫使不同的情况。您想要创建一个特定的拓扑,以便获得一些多跳。这将不是nods的正常行为。但是您仍然可以使用一些AT命令获得您想要的东西。
前面提到的命令"NJ“应该对你有效。此命令在一段时间(以秒为单位)后锁定联接。让我们考虑一个包含三个节点的简单ZigBee网络:一个协调器、一个路由器和一个终端设备。打开协调器,将"NJ“设置为,比方说,两分钟。然后快速打开路由器,这样它就可以在这两分钟内与协调器关联。在这两分钟之后,协调员将被锁定,并且不会接受更多的加入。此时,您可以启动终端设备,它必须与路由器相关联。这样,您将看到终端设备和协调器之间的消息按照您的需要通过路由器。
你可能会多次应用这个想法得到一个更大的网络,而不需要玩弄模块的天线。您可以远程控制AT参数(即从连接到协调器的计算机),因此您可以使用一些代码来帮助您初始化网络。
https://stackoverflow.com/questions/13318585
复制相似问题