Usb

找到串口

  • April 12, 2019

我正在使用 aCH341-UART Converter將一些字元串數據發送到 USB 埠。如何找到連接設備的**COM埠號?**例如在這個程序中:

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

COM24是我的港口。但是我怎樣才能找到正確的 com 埠號呢?

在 linux 下,您的設備沒有類似的元名稱com1。您的 USB 適配器將添加到/dev具有驅動程序特定名稱的 - 目錄中。大多數usb-uart適配器使用的名稱/dev/ttyUSB**從0開始的數字。獲得此名稱的最佳方法是通過dmesg適配器的前後外掛查看核心消息的變化。你應該得到類似的東西:

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

所以你必須使用 ’ /dev/ttyUSB0’ 而不是com24.

但是對設備節點的訪問僅限於 root 使用者。所以你必須解決這個問題。

許多 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/串列轉換器插入主機,它就會指向它。

引用自:https://unix.stackexchange.com/questions/258751