API模式下的两个Xbee - Python

时间:2014-11-17 06:31:14

标签: api python-3.x router xbee zigbee

首先,我在AT模式下测试了2个XBee(系列2)的通信,并且都正常工作。

然后我将协调器更改为API模式,并在路由器处于AT模式时运行以下脚本。我成功了并收到了路由器消息。但是,我无法使路由器处于API模式并将消息发送给协调器。我不确定我是否可以只做简单的发送命令,或者我是否需要指定地址或者是否必须格式化fames。

每个xbee都连接到PC。我正在使用python 3.4。

API模式下的协调员接收消息:

连续读取串行端口并处理从远程XBee接收的IO数据。

from xbee import XBee,ZigBee
import serial

ser = serial.Serial('/dev/...', 9600)
xbee = ZigBee(ser)

while True:
    try:
        response = xbee.wait_read_frame()
        print(response)
    except KeyboardInterrupt:
        break

ser.close()

其他人是否已完成此操作或了解可帮助我解释API中的路由器如何工作的网站?我想要做的就是从路由器向协调器发送消息。

2 个答案:

答案 0 :(得分:1)

无论设备是配置为协调器,路由器还是终端设备,API模式的工作方式都相同。如果您的路由器始终向协调器发送数据,则无需在API模式下运行 - 只需将其保持在AT模式,DHDL设置为0。它会自动将帧发送到协调器,其中包含串行端口上的所有数据。

如果您出于某种原因需要在路由器上使用API​​模式,只需使用您已在协调器上使用的python-xbee库。

答案 1 :(得分:0)

要在API模式下进行通信,您必须发送帧。

框架由页眉和页脚组成。

有一些库可以帮助您在API中进行通信

http://ftp1.digi.com/support/utilities/digi_apiframes2.htm

此网站向您展示如何在API中进行通信