我有一个python脚本,我想用它来配置一些XBee模块。当通过xbee development board连接到电脑时,它可以很好地发现,但通过pi电路板连接到树莓派时失败。配置XBee模块的Python脚本在树莓派上失败
我已经缩小了问题,因为它没有进入命令模式,在发送+++之后,xbee从不发送OK消息。下面是相关代码:
...
CC = '+'
GT = '1.1' # Tried different values here
...
def startCommandMode(self):
self.emptyBuffer() # Tried with and without this line
sleep(self.GT) # Tried with and without this line
self.ser.write(self.CC + self.CC + self.CC)
sleep(self.GT)
return self.getReply() == 'OK'
...
def getReply(self):
count = 0
reply = ''
while True:
char = self.ser.read()
if char == '\r':
break
if len(char) == 0:
return None
reply += char
return reply
完整的源代码可以在github如果需要的话。
我知道它不是xbee模块,覆盆子pi或pi板片的问题,因为如果我使用“picocom -lc/dev/ttyAMA0”手动尝试它,它工作得非常好。
你能确认'sleep()'真的睡了1.1秒吗? – tomlogic
xbee模块上的默认保护时间为1秒,在此之前您必须确保没有发生读取。我已经尝试了各种值大约5秒没有成功,所以在时间上的一个小错误是可以接受的。在我的桌面上,所有这些值都按预期工作。 – James147