"资源繁忙"连接USB端口时出错

时间:2014-10-24 05:49:27

标签: python serial-port usb sensor

我的代码试图连接到USB ECG传感器设备以进行连续数据流传输:

import serial 

s = serial.Serial()
s.port = "/dev/tty.my-device"
s.open()

当我运行此代码时,我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "create_port.py", line 7, in <module>
    s.open()
  File "/Users/dimachy/anaconda/lib/python2.7/site-packages/serial/serialposix.py", line 289, in open
  self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)
OSError: [Errno 16] Resource busy: '/dev/tty.my-device'

我尝试使用sudo运行上面的代码但没有成功。我已经尝试在我的计算机上的网络偏好设置中使USB服务处于非活动状态,这也没有改变上述错误。

当我使用Thomas的答案扫描可用端口时,请点击此处:

Listing available com ports with Python

我发现只有一个端口可用,它被列为蓝牙端口。 /dev/tty.my-device端口未出现在此扫描中。

当通过USB插入ECG设备时,它立即开始传输数据(无需调用设备即可启动它)。我猜这可能与&#34;资源忙碌有关&#34;错误我超越了。

我对网络编程很陌生,所以我可能会遗漏一些明显的东西。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试查看正在使用该文件的进程&#34;(在unix系统中,所有串行设备都只是要读取的文件)。尝试使用fuser列出使用您的文件的进程。 http://en.wikipedia.org/wiki/Fuser_(Unix)

在你的情况下是这样的: $ fuser /dev/tty.my-device