【问题标题】:Targeting an Xbee using AT Commands Mode使用 AT 命令模式定位 Xbee
【发布时间】:2015-12-14 20:25:43
【问题描述】:

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

xbee.printf('+++');

但不知道在哪里寻找某种响应消息。

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

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

【问题讨论】:

    标签: xbee mbed


    【解决方案1】:

    解决了。

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

    xbee.printf("xxx");
    

    这将使您进入 AT 命令模式,然后您可以运行 AT 命令。您需要在进入 AT 命令模式之前和之后等待至少 1 秒才能使其工作:

    wait(1)
    

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

    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 命令模式,但会在我退出时更新)。

    【讨论】:

    • 如果您要解决所有这些问题,您应该考虑在 API 模式下运行 XBee,并构建您的数据(添加标头和校验和)。有一个开源库供主机在 API 模式下与 XBee 模块通信,我让它在一个带有 mbed 的 Freedom 板上工作。你可能想看看:github.com/tomlogic/xbee_ansic_library
    • 谢谢。我去看看!
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多