CH341-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*
名前を使用します*
。名前を取得する最善の方法は、dmesg
アダプタプラグインを介してカーネルメッセージの変更を確認することです。次のような結果が得られます。
usb 4-2: ch341-uart converter now attached to ttyUSB0
/dev/ttyUSB0
したがって、代わりに「」を使用する必要がありますcom24
。
ただし、デバイスノードへのアクセスはrootユーザーに制限されます。したがって、この問題を解決する必要があります。