読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

python

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