作爲我項目的一部分,我使用的是XBee。我想要示例Python代碼使兩個XBees在Windows中相互通信。我寫了代碼,但它有一個問題。Xbee使用Python進行簡單通信?
想要從一個XBee發送像「hello」這樣的消息,並且它應該打印在另一個XBee端。我怎樣才能做到這一點?
作爲我項目的一部分,我使用的是XBee。我想要示例Python代碼使兩個XBees在Windows中相互通信。我寫了代碼,但它有一個問題。Xbee使用Python進行簡單通信?
想要從一個XBee發送像「hello」這樣的消息,並且它應該打印在另一個XBee端。我怎樣才能做到這一點?
看看偉大的python-xbee庫和Digi的examples.digi.com是XBee新手的兩個優秀資源。在這兩個站點之間,你應該能夠讓你的XBee無線電相互連接(使用第二個鏈接),然後讓它們在Python中工作(使用第一個鏈接)。
之前做其他事情,你必須配置設備,使用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字段中將是有效負載。
我希望這是有幫助的。