【问题标题】:how to send remote AT command to xbee device using python digi-xbee library如何使用 python digi-xbee 库向 xbee 设备发送远程 AT 命令
【发布时间】:2018-03-03 20:31:27
【问题描述】:

正如标题所说,我正在寻找一种将 AT 命令发送到远程 xbee 并读取响应的方法。 我的代码在 python 中,我正在使用 digi-xbee 库。

另一个问题:我使用 AT 命令的目标是在最后一个向我发送消息时获取该远程 xbee 设备的节点 ID,我不想对网络进行全面扫描,我只想获取它的节点 ID,显然节点 ID 不在框架内。所以我不得不向它发送一个 AT 命令,所以他把它的节点 ID 发回给我。如果您有任何可能有帮助的建议,请告诉我,我愿意接受任何有用的想法。

PS。我尝试在接收到数据时启动的回调函数中使用 read_device_info() 但它不起作用。它在函数之外有效,但在内部无效!

提前致谢

【问题讨论】:

    标签: python xbee


    【解决方案1】:

    当你收到一条消息时你会得到一个 xbee_message 对象,首先你必须定义一个数据接收回调函数并将它添加到 device 。在该消息中,您调用 remote_device_get_64bit_addr()。

    【讨论】:

    • 感谢您的回答,但这不是我的问题,我已经知道并且我做到了,它在他们的文档和示例中,我的问题在这里,我如何发送 AT cmd,(由方式,我查看了 xbee 文档,显然它的节点 ID 在 API 模式下没有随帧一起提供,只有数据,或者如果我在 cmd“NI”发送来获取它的节点 ID)
    • 我也在纠结如何使用API​​发送AT命令,也无法获取消息的rssi值,你实现了吗?
    【解决方案2】:

    有一种方法可以向远程 XBee 发送命令:首先,连接到本地 XBee,然后向本地 XBee 发送命令,这样本地 Xbee 就可以向远程 XBee 发送 remote_command。

    以下是详细信息:

    1. 创建命令的字节数组。例如:

    我的命令是:7E 00 10 17 01 00 13 A2 00 41 47 XX XX FF FE 02 50 32 05 C5,使用 XCTU 生成。将远程 XBee 的 DIO12 引脚设置为digital out, high [5] 是一个远程 AT 指令。创建它的原始字节数组。

    raw = bytearray([0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x41,0x47,0xXX,0xXX, 0xFF,0xFE,0x02,0x50,0x32,0x05,0xC5])

    1. 创建数据包:使用from digi.xbee.packets.common import RemoteATCommandPacket

    ATpacket = RemoteATCommandPacket.create_packet(raw, OperatingMode.API_MODE)

    1. 将数据包发送到本地 XBee:

    device.send_packet(ATpacket)

    奖励:创建数据包的更简单方法:

    ATpacket = RemoteATCommandPacket(1,XBee16BitAddress.from_hex_string("0013A2004147XXXX"),XBee16BitAddress.from_hex_string("FFFE"),2,"P2",bytearray([0x05]))

    【讨论】:

    • 嗨。我不确定您是否正确地回答了我的问题,或者我没有说清楚。但据我所知,当远程 xbee 发送消息时,它在数据包中不包含它的节点 ID,它只包含它的地址 64。所以他们无法从它发送的消息中知道它的节点 ID。我弄清楚的唯一方法是通过发送 AT 命令询问其节点 ID 来问他。仅此而已,这就是我解决问题的方法。无论如何,谢谢你
    • 嗨,我刚刚再次阅读了您的问题,是的,我没有完全理解。因为你的标题是“如何发送远程AT命令”,而你说“当最后一个给我发消息时”所以我想你想发送一个远程AT命令到您刚刚收到消息的远程 Xbee。顺便说一句,你解决了它。恭喜。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 2023-01-16
    相关资源
    最近更新 更多