使用AT命令模式定位Xbee

时间:2015-12-14 20:25:44

标签: xbee mbed

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

xbee.printf('+++');

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

我不明白这种模式,似乎无法找到任何可以为我的情况或相关情况提供示例的内容。

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

1 个答案:

答案 0 :(得分:1)

完成了工作。

要做到这一点,首先需要做:

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命令模式,但是当我这样做时会更新)。