Windowsパソコンに接続されているシリアルポートの一覧を出力するツールをGo言語で作成しました。コマンドラインなどから実行すると表示されます。zero-kb02 はもちろんRaspberry Pi PicoやArduinoなどのマイコン開発などに役立ちます。実はtinygo ports
の出力とあまり変わらないのですが、他のプロセスによって使用中の場合busyと表示されます。
実行ファイル
https://github.com/rdon-key/serialList/blob/main/bin/serialList.exe
赤丸よりダウンロードしてください。
ソースコード
GitHubで公開しています:
https://github.com/rdon-key/serialList/tree/main
技術解説
すべてGo言語で記述されています。Windowsのシステム情報を取得する実装例としてご参照いただければと思います。
- レジストリからシリアルポートの一覧を取得
・SYSTEM\CurrentControlSet\Enum\USB
・HARDWARE\DEVICEMAP\SERIALCOMM - USBデバイスの場合はVID/PID情報を取得
- Win32 APIで各ポートの使用可能状態をチェック
- 結果表示
シンプルですが、開発時の作業効率向上にお役立てください。フィードバックやプルリクエストも大歓迎です!