XBee发送给所有人

时间:2013-03-10 20:30:49

标签: arduino xbee zigbee

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

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

该解决方案没问题 - 我只是想不出用来执行此操作的命令。是否有某种串行sendAll命令?所有设备都在同一个ATID上。

1 个答案:

答案 0 :(得分:3)

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

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

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