Xbee使用Python进行简单的通信?

时间:2013-12-15 07:01:57

标签: xbee

作为我项目的一部分,我正在使用XBee。我想要示例Python代码使两个XBees在Windows中相互通信。我编写了代码,但它有问题。

想从一个XBee发送“hello”这样的消息,它应该打印在另一个XBee端。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

查看精彩的python-xbee图书馆和Digi的examples.digi.com,作为XBee新手的两个优秀资源。在这两个站点之间,你应该能够让你的XBee无线电相互连接(使用第二个链接),然后让它们在Python中工作(使用第一个链接)。

答案 1 :(得分:0)

在执行任何其他操作之前,您必须配置设备,使用XCTU软件:

首个设备 - 协调员API模式:   - ID 7777(或任何随机值)   - DL设置为FFFF

第二台设备 - 路由器AT模式:   - ID 7777(每台设备必须相同)   - DL设为0

协调员代码(监听模式):

import serial 
import time
from xbee import ZigBee

PORT = "COM1" #change the port if you are not using Windows to whatever port you are using
BAUD_RATE = 9600
ser = serial.Serial(PORT, BAUD_RATE)

# Create API object

xbee = ZigBee(ser)

# Continuously read and print packets
while True:
    try:
        response = xbee.wait_read_frame()

        print("\nPacket received at %s : %s" %(time.time(), response))

    except KeyboardInterrupt:
        ser.close()
        break

远程设备的代码:

import serial

PORT = "COM1" #change the port if you are not using Windows to whatever port you are using
BAUD_RATE = 9600
ser = serial.Serial(PORT, BAUD_RATE)

while True:
try:
    data = raw_input("Send:")
    ser.write(data) #if you are using python 3 replace data with data.encode()
except KeyboardInterrupt:
    ser.close()
    break

运行代码并将数据从远程设备发送到协调器。您将能够看到在控制台中打印的数据包和rx_data字段中的数据包将是有效负载。

我希望这有用。