USB シリアル機器(M5Stack・Arduino・FTDI 変換ケーブルなど)を複数台つないでいると、「COM12 は結局どの機器だったか」がすぐ分からなくなります。本ソフトは Windows のレジストリと WMI から各 COM ポートの VID/PID(機器の種別を表す番号)を読み取り、どの COM 番号がどの機種かを自動判別して一覧表示します。
| 項目 | 内容 |
|---|---|
| 動作環境 | Windows 10 / 11(64bit) |
| .NET のインストール | 不要(自己完結版で配布しています) |
| ネットワーク | 不要(USB シリアル接続の情報のみを読み取ります) |
| 照明・機器への影響 | ありません(一覧表示専用。COM ポートへの送信・書き込みは行いません) |
| 自動更新 | 2 秒ごとに自動で再スキャン |
| ツール | 向いている用途 |
|---|---|
| ComPortScanner(本書) | 今どの COM 番号にどの機種が挿さっているかを一覧で確認 |
| ComPortMonitor | 特定の COM ポートに実際に流れているシリアル通信の中身を確認 |
本ソフトは「LightJockey 道具一式 一発インストール手順」でまとめて配布されるツール群の 1 つです。単体配布は行っていません。
LjFullVerUP_latest.zip を落とします。C:\SetupAll を新しく作り、zip の中身を全部そこへ「すべて展開」します。Install-FullVerUP.cmd を右クリック →「管理者として実行」します。device_mapping.json(インストール先フォルダ内)で機種名の表示をカスタマイズできます。詳細は 5 章を参照してください。
ウィンドウは小さめ(既定 320×400 px、最小 250×300 px)で、他の作業の邪魔にならないよう常に手前に置いておける大きさです。ダークテーマの一覧画面 1 枚だけのシンプルな構成です。
| 表示 | 意味 |
|---|---|
| タイトルバー | 「COM Port Scanner (ビルド日時)」。多重起動すると複数の窓を同時に開けます |
Refresh ボタン | 設定ファイルを読み直したうえで、待たずにすぐ再スキャンします |
| ボタン右の状態ラベル | 「Ready」(起動直後)/「Found N ports」(検出数)/「Error」(赤字。スキャン失敗時) |
| Port 列 | COM 番号(COM26 など)。重複は自動で除去して表示します |
| Device Name 列 | 自動判別した機種名。判別方法の優先順位は 5 章参照 |
| 下部の帯(常に「Ready」) | 固定の表示欄です。検出件数はボタン右の状態ラベルで確認してください |
列の幅・ウィンドウの位置とサイズは、閉じるときに自動保存され、次回起動時に復元されます(7 章)。
Device Name 欄の表示内容は、次の優先順位で決まります。上にあるものほど優先されます。
| 優先度 | 情報源 | 内容 |
|---|---|---|
| 1(最優先) | tool_M5 連携マップ | COM 番号が一致すれば、役割名+IP アドレスをそのまま表示(6 章) |
| 2 | device_mapping.json の手動指定 | COM 番号を直接指定した機種名。末尾に (manual) と付きます |
| 3 | device_mapping.json のシリアル番号指定 | USB のシリアル番号から特定した機種名(同じ VID/PID の機器を個体ごとに区別したいとき用) |
| 4 | VID/PID 自動判定(内蔵の対応表) | 下表のとおり、レジストリの VID/PID から機種を推定 |
| 5 | Windows(WMI)の説明文 | 4 までで判別できなかった場合の予備情報 |
| 6(最後) | — | どれにも該当しなければ「Unknown Device」 |
| VID:PID | 識別名 |
|---|---|
| 303A:1001 | M5Stamp-S3 または M5Stack Core S3(Espressif ESP32-S3) |
| 303A:8120 | M5DIN Meter |
| 10C4:EA60 | M5Stack(Silicon Labs CP210x) |
| 1A86:7523 | M5Stack(CH340) |
| 2341:xxxx | Arduino(Uno / Leonardo など型番も判定) |
| 0403:xxxx | FTDI(FT232 など) |
| 067B:xxxx | Prolific PL2303 |
| 0483:xxxx | STM32(STMicroelectronics) |
| 2886:802D / 1366:0105 | Wio Terminal(本体 / J-Link デバッグポート) |
device_mapping.json にシリアル番号または COM 番号で登録してください。実行ファイルと同じフォルダ(インストール先は C:\tool_cs\ComPortScanner\)にある device_mapping.json を編集すると、機種名を上書きできます。保存すると次のスキャン(最大 2 秒後)または Refresh ボタンで反映されます。
{
"deviceMappings": [
{
"name": "My M5Stamp",
"patterns": [
{ "type": "serial", "value": "8&15adb4ef&2&0000" }
]
},
{
"name": "CoreS3 + ISO RS485",
"patterns": [
{ "type": "manual", "comPort": "COM30" }
]
}
]
}
type: "serial" は USB のシリアル番号(デバイスマネージャーのプロパティで確認可)で指定、type: "manual" は COM 番号を直接指定します。
社内の M5Stack 系デバイス書き込み管理ツール「tool_M5」が生成する連携ファイルを読み込むと、単なる機種名ではなく「その機器が何の役割で、どの IP アドレスを持っているか」まで Device Name 欄に表示できます(例:SuperMiniS3-SW8 (192.168.0.101))。
device_mapping.json に "toolM5MapPath": "別のパス" を追記してください。ウィンドウを閉じるときに scanner_settings.json へ、ウィンドウの位置・サイズ・列(Port / Device Name)の幅が自動保存され、次回起動時に復元されます。設定ファイルは実行ファイルの場所を起点に探索して読み書きするため、インストール先を移動しても動作します。
device_mapping.json にシリアル番号または COM 番号でマッピングを追加してください(5-2 参照)。device_mapping.json にシリアル番号マッピングを追加するか、COM 番号が固定されているなら手動マッピング(type: "manual")を使ってください。device_mapping.json の手動マッピング(COM 番号を直接指定した設定)が適用されていることを示す表示です。Refresh ボタンを押してください。配布フォルダの uninstall.bat をダブルクリックすると、C:\tool_cs\ComPortScanner\ とスタートメニューのショートカットが削除されます。手で消す場合の場所は次のとおりです。
| プログラム | C:\tool_cs\ComPortScanner\ |
| ショートカット | %APPDATA%\Microsoft\Windows\Start Menu\Programs\ComPortScanner.lnk |
| 機種判別の情報源 | WMI(Win32_SerialPort / Win32_PnPEntity)+レジストリ(HARDWARE\DEVICEMAP\SERIALCOMM / SYSTEM\CurrentControlSet\Enum\USB) |
| 自動スキャン間隔 | 2000ms(System.Windows.Forms.Timer)。毎回 device_mapping.json と tool_M5 連携マップを再読込 |
| 設定ファイルの探索 | 実行ファイルのフォルダから親方向へ最大 8 階層まで探索し、見つかった場所を使用(開発環境/インストール環境の双方に対応するため) |
| tool_M5 連携ファイルの既定パス | E:\Ws\PIO\DMX\Dmx_Tool_M5\_MANAGEMENT\com_device_map.json(device_mapping.json の toolM5MapPath で変更可) |
| AI 向け状態出力 | 実行ドライブの \tmp\ai_comscan\ に status.json・latest.txt・README_AI.txt をスキャンごとに出力(tool_cs の AI 操作可能設計) |
| ビルド | 自己完結ビルド(win-x64)。.NET ランタイムの別途インストールは不要。ビルド日時はタイトルバーに表示 |