【发布时间】:2018-05-13 02:45:21
【问题描述】:
我有一个 USB 设备,我需要在 Linux 中使用 Python 和 串行命令 来控制它,它适用于 ASCII 命令。
在 Windows 中,安装供应商驱动程序后它工作正常,在设备管理器中,我将其视为 COM3 端口,并使用 pyserial 或 pyvisa 模块进行通信。
在 Linux 中,我将其视为 /dev/ttyUSB1,但我无法使用 pyserial 或 pyvisa 与它通信。问题是供应商不提供 Linux 驱动程序。
如何让设备在 Linux 中充当串行端口?
【问题讨论】:
-
Linux 内核中必须已经有您设备的驱动程序;这就是您看到
/dev/ttyS0条目的原因。所以这不是缺少驱动程序的问题。我建议结束这个问题,并提出一个更好的问题来正确解释问题所在(“无法沟通”并没有给我们太多信息)。 -
插入东西并执行'dmesg |尾巴',看看发生了什么。此外,Linux 中最常见的问题是您可能没有串行端口的权限。确保您在拨出组中。
-
/dev/ttyS0不是您的 USB2Serial 适配器。所以找到合适的设备文件来使用。 -
@electrogas 'dmesg | tail' 输出以下内容:
-
@electrogas [53301.615703] ftdi_sio 3-3:1.0: 设备已断开 [55579.152079] usb 3-3: 使用 xhci_hcd 的新全速 USB 设备编号 6 [55579.284933] usb 3-3: 新 USB找到设备,idVendor=104d,idProduct=3000 [55579.284939] usb 3-3:新的 USB 设备字符串:Mfr=1,Product=2,SerialNumber=3
标签: python usb pyserial usbserial pyvisa