无法初始化串行连接到 serial@/dev/ttyUSB0:telosb

问题描述

我正在 Docker 容器中运行 Python 代码来处理来自 telosb 节点的数据。 在 Python 代码的开头,我有

#!/usr/bin/env python

导入系统

导入对象

将 numpy 导入为 np

类 gridData(tos.Packet):

def __init__(self,payload = None):
    tos.Packet.__init__(self,[('data','blob',None)],payload)

如果 len(sys.argv)

print("Usage:",sys.argv[0],"serial@/dev/ttyUSB0:115200")
sys.exit()

我在Docker镜像中使用下面这个命令来运行代码,镜像上安装的Python版本是3.6.2

python3 filename.py serial@/dev/ttyUSB0:115200

但问题出在输出上,我收到了这两个错误

错误:无法初始化串行连接到 serial@/dev/ttyUSB0:telosb

错误:请指出连接到节点的方式

这是由于代码中的两个调试语句tos.py

一个错误来自 tos.py 中的这一部分:

def getSource(comm):

source = comm.split('@')
params = source[1].split(':')
debug = '--debug' in sys.argv
if source[0] == 'serial':
    try:
        return Serial(params[0],int(params[1]),flush=True,debug=debug)
    except:
        print ("ERROR: Unable to initialize a serial connection to",comm)
        raise Exception

第二个来自这部分:

类 AM(SimpleAM):

def __init__(self,s=None,oobHook=None):
    if s == None:
        try:
            s = getSource(sys.argv[1])
        except:
            try:
                for (i,j) in zip(sys.argv[1::2],sys.argv[2::2]):
                    if i == '-comm':
                        s = getSource(j)
                if s == None:
                    raise Exception
            except:
                try:
                    s = getSource(os.environ['MOTECOM'])
                except:
                    print ("ERROR: Please indicate a way to connect to the mote")
                    sys.exit(-1)

我使用 Ubuntu 16.04。我不确定这是否是由于我使用的 python 版本造成的,因为我以前运行此代码并得到结果。

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)