我有一个python脚本,我想用它来配置一些XBee模块。当通过xbee development board连接到电脑时,它可以完美地找到,但当通过pi板的切片连接到树莓pi时,它会失败。
我已经将问题缩小到无法进入命令模式,在发送+++之后,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板片的问题,因为如果我使用"picocom -lc /dev/ttyAMA0“手动尝试它,它工作得很好。
发布于 2012-11-27 02:38:01
以下是需要检查的内容:
D6和D7设置为0,因为树莓派串口没有流量控制。发布于 2013-03-22 19:27:53
使用以下内容:
....
if args.common:
args.at = ['ID', 'CH', 'MY', 'DL', 'DH', 'AP'] + args.at
xbee = XBee(args.port, args.baud);
sleep(2)
xbee.CC = args.CC
xbee.GT = args.GT
....
....我的厚Rpi需要更多的时间来初始化串口,这就是为什么我使用这个延迟。也适用于透明模式,因此在端口init之后添加一个延迟。
我希望这对你来说没问题。对我来说,它已经解决了。
BR.马内尔。
https://stackoverflow.com/questions/13516378
复制相似问题