首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在raspberry pi上配置XBee模块的Python脚本失败

问在raspberry pi上配置XBee模块的Python脚本失败
EN

Stack Overflow用户
提问于 2012-11-23 00:01:25
回答 2查看 1.1K关注 0票数 1

我有一个python脚本,我想用它来配置一些XBee模块。当通过xbee development board连接到电脑时,它可以完美地找到,但当通过pi板的切片连接到树莓pi时,它会失败。

我已经将问题缩小到无法进入命令模式,在发送+++之后,xbee从不发送OK消息。相关代码如下:

代码语言:javascript
复制
...
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“手动尝试它,它工作得很好。

EN

回答 2

Stack Overflow用户

发布于 2012-11-27 02:38:01

以下是需要检查的内容:

  • 你收到什么回应了吗?
  • 你在XBee上启用流量控制了吗?确保D6和D7设置为0,因为树莓派串口没有流量控制。
  • 代码是为流量控制配置的吗?它可能正在等待一个从未断言的CTS信号。
  • 您能尝试在Raspberry Pi的USB端口上使用XBee开发板吗?
票数 0
EN

Stack Overflow用户

发布于 2013-03-22 19:27:53

使用以下内容:

代码语言:javascript
复制
....
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.马内尔。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13516378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档