使用 AT 命令模式定位 Xbee

Targeting an Xbee using AT Commands Mode

我正在尝试让一个 Xbee 与另一个 Xbee 对话。我知道我可以使用 putc 向网络上的所有 Xbees 广播,但我想专门针对一个。我知道我需要使用 XBee 上的硬件地址来执行此操作,并使用一种称为 AT 命令模式的东西,但我不认为我理解它。例如,我看到要进入 AT 命令模式,我需要发送“+++”,但是,我不明白该怎么做。我试过这个:

xbee.printf('+++');

但不知道去哪里寻找某种消息作为回应。

我不理解这种模式,而且似乎找不到任何可以为我的情况或相关情况提供示例的内容。

我在 FRDM-K64F 上使用普通的 Xbee。

解决了。

为此,您首先需要做:

xbee.printf("xxx");

这会让您进入 AT 命令模式,然后您可以 运行 AT 命令。您需要在进入 AT 命令模式之前和之后至少等待 1 秒才能生效:

wait(1)

要发送到特定的 Xbee,您需要它的 16 位地址,这可以从 Xbee 的底部找到(尽管有一个 AT 命令来获取它)。前 8 位是 Xbee 的高地址(所有 Xbees 都相同),第二位是低地址,您需要在发送到特定 Xbee 之前使用 AT 命令设置这两个地址。要设置这些,您必须执行以下操作:

xbee.printf("atdh 0013A200\n\r");
xbee.printf("atdl 12345678\n\r");

您必须执行 \n\r 部分,因为这模拟了实际 运行 命令所需的 Enter 按钮按下。

atdh命令设置高地址,atdl命令设置低地址。完成后,您的发送 Xbee 将被配置为发送到特定的 Xbee,并且不会向网络上的所有人广播。所以当你现在做的时候:

xbee.putc('Y');

它将转到您设置的地址的Xbee。

您可能需要在 运行 执行这些命令后等待 10 秒,因为我认为 I/O 在 AT 命令模式下不起作用(我还没有弄清楚如何退出 AT 命令模式还没有,但会在我更新时更新)。