Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

pySerial付属のシリアルポートリストコマンド

python用のシリアル通信用ライブラリpySerialには現状接続している周辺機器のリストを出すコマンドが付属しています。

実際のところ

$ python -m serial.tools.list_ports -v
/dev/cu.Bluetooth-Incoming-Port
    desc: n/a
    hwid: n/a
/dev/cu.GMSPP01-101E-SerialPort
    desc: n/a
    hwid: n/a
/dev/cu.iPhone-WirelessiAP
    desc: n/a
    hwid: n/a
/dev/cu.usbserial-A9009qMf
    desc: FT232R USB UART - FT232R USB UART
    hwid: USB VID:PID=xxx:yyyy SER=AzzzzqMf LOCATION=20-2
4 ports found

名前でだけほしいなら"-q"オプションを

$ python -m serial.tools.list_ports -q 
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.GMSPP01-101E-SerialPort
/dev/cu.iPhone-WirelessiAP
/dev/cu.usbserial-AzzzzqMf

一部一致で拾う事もできます

$ python -m serial.tools.list_ports usb -q 
/dev/cu.usbserial-A9009qMf

更に、VIDやPIDが分かっているなら、そこから検索を掛ける事も可能です。
これなら、IDは固有なので複数あるポートのどこに挿しても結果は同じになります。
テプラで番号つけてNO_Aは右……なんて不毛な事をしなくてすみますね。

$ python -m serial.tools.list_ports xxx:yyyy -q 
/dev/cu.usbserial-A9009qMf