シリアル通信ポートを探す

シリアル通信ポートを探す

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ユーザーに制限されます。したがって、この問題を解決する必要があります。

関連情報