当我们从连接到PC的zigbee发送消息到另一个连接到树莓派板的Zigbee时。我们收到一条消息,类似于我从Zigbee Connected PC发送的消息 例如:* Hello World *,但是在接收器部分我正在使用加密数据获取Hello World(带有Header位和Check-sum位) 但我只需要接收器终端中的Hello World 在接收器终端中Zigbee连接到树莓派用于接口,我使用串口转USB电缆。 这是我用于Serial to USB的简单python代码
import serial
from time import sleep
ser = serial.Serial('/dev/ttyUSB0', 9600, rtscts=1, timeout=0)
while True:
line = ser.read(ser.inWaiting())
if len(line) > 0:
print line
sleep(1)
ser.close()
我正在获取结果类型,请求帮助
pi@raspberrypi ~/iot/XBeeAPI/Python $ python temperlm.py
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���####��~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
~#�}3�@ȶ���#Hello World�~#�}3�@ȶ���#Hello World�
^CTraceback (most recent call last):
File "temperlm.py", line 9, in <module>
sleep(1)
KeyboardInterrupt
答案 0 :(得分:0)
您的XBee模块配置为“API模式”,它使用格式化的数据包而不是“透明串行模式”,它只是直接传递串行数据。对于简单应用或串行电缆更换,透明串行模式非常棒。一旦你开始使用XBee模块做更多事情(比如发送AT命令和与网络上的多个设备通信),你通常会切换到API模式。
查看模块上的ATAP
设置 - 0
用于透明序列,1
用于API模式,2
用于“转义API模式”,其中某些字符被转义,以便更容易检测到帧的开始。
请务必阅读有关这些模式的XBee文档,以便更好地了解每种模式的差异和优缺点。