如何使用xbee zb强制多跳拓扑?

时间:2012-11-10 02:11:07

标签: topology zigbee xbee mesh-network

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

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

问候,托比

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:2)

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

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

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

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