从多个XBee Series 2B端点接收数据

2024-05-14 13:45:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个涉及XBee系列2B无线电的项目,可以利用一些建议来确定数据包来自哪个终端设备。该设置包括一个运行在Raspberry Pi Model B上的Python2.7应用程序

Python XBee 2.1.0文档声明: ZigBee设备扩展了这种行为,包括自动解析“ND”、节点发现、AT命令响应。 ND AT响应的参数字段将采用以下格式:

{"source_addr": two bytes,
"source_addr_long": eight bytes,
"node_identifier": string,
"parent_address": two bytes,
"device_type": one byte,
"status": one byte,
"profile_id": two bytes,
"manufacturer": two bytes,
}

我认为这意味着ZigBee的I/O示例消息包含上述参数字段。在

source_addr==终端无线电的16位MY参数吗?在

可以用:

^{pr2}$

谢谢!在


Tags: 项目利用source参数bytesbyte数据包one
2条回答

xbee数据包是dict

from xbee import ZigBee 
import serial

ser = serial.Serial('/dev/ttyAMA0', 9600)
xbee_conn=ZigBee(ser)
xbee_conn.at(command='ND')
while True:
    try:
        packet = xbee.wait_read_frame()
        print packet
    except KeyboardInterrupt:
        break
ser.close()

要访问数据,请以dict形式访问:

^{pr2}$

希望这有帮助。在

我认为I/O示例是对远程ATIO命令的响应,因此它们将遵循remote AT response的格式,并包含短地址和长地址。在

在XBee模块上,短地址是ATMY,长地址是ATSH和{}的组合。我对pythonxbee的了解还不足以说明它们存储在ZigBee对象的何处。在

附加信息:

节点发现与发送I/O示例不同。当主机向其本地XBee发送ATND时,XBee模块发送广播发现消息并将响应传回主机。主机可以解析来自远程模块的地址和“节点标识符”(ATNI字符串)的响应。在

从这个地址列表,主机可以向远程节点发送ATIO命令并解析响应。在

我不熟悉pythonxbee库,所以我不知道它是如何实现节点发现、节点表管理以及向发现的节点发送“remote AT命令”的。在

相关问题 更多 >

    热门问题