找到串行com端口

找到串行com端口

我正在使用 aCH341-UART Converter将一些字符串数据发送到 USB 端口。我怎样才能找到通讯连接设备的端口号?例如在这个程序中:

import serial      
ComPort = serial.Serial('COM24') # open COM24
ComPort.baudrate = 9600 
ComPort.bytesize = 8  

COM24是我的港口。但如何找到正确的 com 端口号呢?

答案1

许多 Linux 发行版(通常是 Debian 及其衍生版本)都有一个/dev/serial/by-id目录。这显示了串行 USB 设备的完整“硬件”名称。在插入和拔出插头时观察此目录以识别您的设备。

在该全名和用户主目录中一些方便的简短名称之间创建符号链接。该完整路径(/home/me/myserial)是程序中使用的“com 端口”。由于符号链接,这在插入/拔出/重新启动时是稳定的。

例子:

my@host:~$ ls -lA /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jun 11 07:21 usb-FTDI_FT232R_USB_UART_ANZ1SMDF-if00-port0 -> ../../ttyUSB2

my@host:~$ ln -s /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_ANZ1SMDF-if00-port0 /home/me/myserial

这会创建一个符号链接:/home/me/myserial每当 USB/串行转换器插入主机时,该符号链接都会指向该转换器。

答案2

在 Linux 下,你的设备没有类似的元名称com1。您的 USB 适配器将添加到/dev具有驱动程序特定名称的目录中。大多数usb-uart适配器使用的名称/dev/ttyUSB**从0开始的数字。获得该名称的最佳方法是通过dmesg适配器的插件前后查看内核消息的变化。你应该得到类似的东西:

usb 4-2: ch341-uart converter now attached to ttyUSB0

所以你必须使用 ' /dev/ttyUSB0' 而不是com24

但对设备节点的访问仅限于 root 用户。所以你必须解决这个问题。

相关内容