3

我有一个简单的 xbee 网络运行,其中有一堆从属远程操作,并且都与一个连接到服务器计算机的主通信。这没问题。

奴隶都将他们的 ID 作为数据包的一部分发送,我想让主人在延迟后故意发送一个确认。我试图弄清楚如何有效地做到这一点,似乎唯一合理的方法不涉及在每个 Ack 之前重新编程主机是向所有从机发送 Ack 并让他们忽略该数据包,如果它不是为了他们。

该解决方案没问题 - 我只是无法弄清楚用于执行此操作的命令。是否有某种 Serial sendAll 命令?所有设备都在同一个 ATID 上。

4

1 回答 1

3

通常在这种情况下,您会在 API 模式下配置主设备,这样您将获得带有源寻址信息的“接收显式”帧,并可以使用“传输显式”帧类型发送,并在帧中包含寻址信息。

如果您使用 AT 模式(透明串行模式),那么每次您想更改发送给谁时,您都必须更改协调器上的 DH 和 DL 参数。您应该避免使用广播数据包,因为每个都会导致大量网络流量(IIRC,每个路由器将发送广播数据包 3 次)。

我不知道 Arduino 上有一个好的 XBee 库,但可以将 Digi 的开源ANSI C XBee 主机库移植到该平台。

于 2013-03-13T00:40:59.557 回答