Python 2.7 接收不工作的代码XBee python
使用X-CTU配置了两个xbee pro s2b,一个作为协调器,另一个作为路由器,API=2,波特率为9600。发件人代码(协调员)如下所示:Python 2.7 接收不工作的代码XBee python,python-2.7,embedded-linux,xbee,zigbee,Python 2.7,Embedded Linux,Xbee,Zigbee,使用X-CTU配置了两个xbee pro s2b,一个作为协调器,另一个作为路由器,API=2,波特率为9600。发件人代码(协调员)如下所示: import time from xbee import XBee import serial PORT = "/dev/ttyUSB0" BAUDRATE = 9600 #open serial port sender_port = serial.Serial(PORT, BAUDRATE) print "serial port object&g
import time
from xbee import XBee
import serial
PORT = "/dev/ttyUSB0"
BAUDRATE = 9600
#open serial port
sender_port = serial.Serial(PORT, BAUDRATE)
print "serial port object>>>", sender_port
#xbee object API=2
sender = XBee(sender_port,escaped=True)
#address of the remote xbee to which data is to sent
ADDRESS = "\x00\x13\xA2\x00\x40\xD9\x6F\xE5"
#send data using the tx_long_addr
while True:
try:
print "sending data..."
sender.tx_long_addr(frame_id='A', dest_addr=ADDRESS, data="hello")
time.sleep(1)
except KeyboardInterrupt:
break
sender.halt()
sender_port.close()
下面是接收器代码(路由器)
导入时间
从xbee导入xbee
导入序列号
PORT=“/dev/ttyUSB1”
波特率=9600
def字节2hex(byteStr):
返回“”
def解码接收帧(数据):
源地址=byte2hex(数据['source\u addr'])
xbee_id=数据['id']
射频数据=数据['射频数据']
options=byte2hex(数据['options'])
返回[源地址、xbee\U id、rf\U数据、选项]
#在接收端打开串行端口
远程=串行。串行(端口,波特率)
#xbee对象API=2
远程_xbee=xbee(远程,转义=True)
尽管如此:
尝试:
打印“是的,我在这里”
数据=远程\u xbee.wait\u read\u frame()
打印“数据>>>”,数据
decoderdata=decodereceivedFrame(数据)
打印“收到的数据发现问题,我的错--
发送方=ZigBee(发送方\端口,转义=True)
sender.send('tx',frame_id='A',dest_addr=“\x5E\x71”,dest_addr\u long=“\x00\x13\xA2\x00\x40\xD9\x6F\xE5”,data=“Hello”)
现在可以工作了!!!:)
import time
from xbee import XBee
import serial
PORT = "/dev/ttyUSB1"
BAUDRATE = 9600
def byte2hex(byteStr):
return ''.join(["%02X" % ord(x) for x in byteStr]).strip()
def decodereceivedFrame(data):
source_address = byte2hex(data['source_addr'])
xbee_id = data['id']
rf_data = data['rf_data']
options = byte2hex(data['options'])
return [source_address, xbee_id, rf_data, options]
#open serial port at receiving end
remote = serial.Serial(PORT, BAUDRATE)
#xbee object API=2
remote_xbee = XBee(remote, escaped=True)
while True:
try:
print "yes i m here"
data = remote_xbee.wait_read_frame()
print "data >>>", data
decoderdata = decodereceivedFrame(data)
print "data received<<<<", decoderdata
except KeyboardInterrupt:
break
remote_xbee.halt()
remote.close()