utility

Web Serial Terminal / シリアル通信ターミナル

対応ブラウザからシリアル機器とText・HEXを送受信し、コマンドマクロやTXT・JSONLログ保存を行います。

ローカル処理
ファイルについてこのツールで選択したファイルや入力内容は、Browser Kittyのバックエンドへアップロードせずブラウザ内で処理します。
操作デモ 実際の操作の流れを短い動画で確認できます。

このツールについて

Web Serial Terminalは、対応ブラウザからUSBシリアル機器などへ接続し、Text / HEXの送受信と通信ログの記録を行うツールです。ポート選択後に通信条件を設定し、受信した文字やバイト列を確認できます。

改行コード、DTR / RTS・BREAK、最大12件のコマンドマクロ、TXT / JSONLログ保存を利用できます。画面の消去とログの消去は別操作で、接続・コマンド送信・再接続を自動実行しません。

デスクトップ版Chrome・Edgeが主な対象です。Web Serial APIと安全なコンテキスト、ブラウザの機器アクセス許可が必要です。Web版の初回HTML取得を除き、シリアルデータは端末と許可した機器の間で直接処理します。

こんなときに便利

  • Raspberry Pi PicoなどのUSB CDC機器のシリアル出力を確認したい
  • 機器へテキストコマンドを送り、返ってくる応答を調べたい
  • バイナリデータをHEX表示し、必要な内容をファイルに残したい
  • 改行コードやBaud rateなどを切り替えながら動作確認したい
  • よく使うコマンドをマクロとして登録し、手動で繰り返し送信したい

できること

このツールで利用できる主な機能です。

使い方

  1. 対応するブラウザでWeb Serial Terminalを開き、機器をPCへ接続します。
  2. 「機器を選択」からブラウザのポート選択画面を開き、接続先のアクセスを許可します。
  3. 「通信設定」でBaud rate・Data bits・Stop bits・Parity・Flow controlを機器に合わせ、「接続」を押します。
  4. 受信をText / HEXで確認し、必要に応じて時刻表示やローカルエコーを有効にします。
  5. 送信形式をText / HEXから選び、Textの場合は改行なし・LF・CR・CRLFを指定して「送信」します。
  6. 必要な場合は「機器制御」でDTR / RTS・BREAK・制御キーを操作し、過去ログはスクロール・検索・コピーで確認します。
  7. 繰り返すコマンドは「コマンドマクロ」に保存して手動で実行します。
  8. 必要な通信記録をTXT / JSONLで保存し、終了後は「切断」します。USB抜去後も再接続は手動です。

対応範囲

  • 主対象はデスクトップ版Chrome・Edge。安全なコンテキスト、navigator.serial対応、機器ごとの許可が必要です。
  • Firefox Desktop 151以降では追加のサイト権限アドオンが必要です。アプリのFirefox実機回帰は未確認です。
  • Androidは通信方式・端末・ブラウザに依存し、有線USBシリアルを保証しません。iPhone / iPadでは利用できません。
  • Baud rate・Data bits・Stop bits・Parity・Flow control・DTR / RTS・BREAKはOS・ドライバー・機器の対応に依存します。
  • UTF-8のTextとHEX生バイトで送受信。Text改行はなし・LF・CR・CRLFから選べます。
  • TXT / JSONLログは時刻と生バイトを含み、概算20 MiBの記録上限があります。上限後も通信は継続します。
  • 最大12個のマクロと一部設定はlocalStorageに保存される場合があります。通信記録はページのメモリ内に保持します。
  • Pico MicroPython USB CDCでText / HEX、ログ、マクロ、再接続を実機確認済み。実UART信号の精度は未検証です。

制限・注意点

  • Web Serial非対応ブラウザ、ポート権限がない環境、安全なコンテキストでない環境では接続できません。機器によってはOSドライバーも必要です。
  • スマホ用の画面があってもAndroidの有線USB通信は保証されず、iPhone / iPadでは利用できません。
  • 同時に扱うポートは1つ。自動接続・自動送信・自動再接続はしません。
  • ANSI/VT100端末エミュレーション、Modbusの解析、グラフ、ファームウェア書き込みには対応していません。
  • Pico USB CDC実機テストでは実UART baud/parity/stop bitsやDTR/RTS/BREAKの正確な動作を検証できません。
  • 概算20 MiBの上限で止まるのはログ記録だけです。必要なログは消去前に保存してください。
  • セッションログはページを閉じると消えます。マクロと設定の端末間同期やマクロのインポート・エクスポートはありません。
  • コマンド・DTR / RTS / BREAKは接続機器の動作に影響する場合があるため、仕様を確認してください。

よくある質問

Chrome・Edgeで専用ターミナルソフトなしに接続できますか?

Web Serialに対応するデスクトップ版Chrome・Edgeなら、機器が認識されれば専用ターミナルソフトなしで利用できます。ただしOSのドライバーが必要な場合があります。

iPhoneやAndroidでもシリアル機器に接続できますか?

iPhone・iPadでは接続できません。Androidはブラウザ・機器・通信方式によって変わり、有線USBシリアルは保証しません。主対象はデスクトップ版Chrome・Edgeです。

通信内容はサーバーにアップロードされますか?

いいえ。通信内容はブラウザと接続した機器の間で直接処理されます。Web版の初回HTML取得には通信しますが、シリアル内容のアップロードは行いません。

Text送信とHEX送信はどう違いますか?

TextはUTF-8で送信し、改行なし・LF・CR・CRLFを指定できます。HEXは指定した生バイトを追加改行なしで送信します。

通信ログは自動保存されますか?

いいえ。通信記録はページのメモリに残り、TXT / JSONLへの保存は手動です。マクロや設定はlocalStorageへ保存される場合がありますが、通信履歴は保存されません。

20 MiBの上限でシリアル通信も止まりますか?

いいえ。概算20 MiBは保存用ログの上限で、達すると記録のみ停止します。機器との通信は続きます。

オフライン版・ソースコード

単一HTMLに必要な処理を内包し、実行時CDN・外部API・Analytics・Telemetryを使わず、CSPはconnect-src 'none'です。Web版は初回にHTMLを取得します。file://でのWeb Serial権限はブラウザによって異なるため、機器接続にはHTTPS公開版を利用するのが確実です。

GitHubでソースを見る