オンラインシリアルポートデバッガー
ダウンロード不要のブラウザベースのシリアルデバッグツール、Web Serial APIでリアルタイム監視
接続設定
データモニター
データ送信
送信履歴
統計情報
シリアルポートデバッガーのドキュメント
このツールの使用方法
- シリアルデバイスをコンピューターに接続
- 接続パラメータを設定(ボーレート、データビット、パリティ、ストップビット)
- 「接続」をクリックしてシリアル接続を確立
- 受信データをリアルタイムで監視
- テキストまたは16進数形式でデータを送信
- 送信履歴を使用して以前のコマンドを繰り返し
- 接続統計とデータレートを確認
接続パラメータ
実装原理
このツールは Web Serial API を使用して実装されています。これは、Web アプリケーションがシリアルデバイスと直接通信できるようにする最新のブラウザインターフェースです。以下は、コア実装の詳細です:
コア API:Web Serial API
このツールは Web Serial API 上に構築されており、ブラウザを通じてシリアルポートにアクセスするための JavaScript インターフェースを提供します。
主な機能:
- ドライバやプラグインのインストールなしで、ブラウザがネイティブにシリアルポートアクセスをサポート
- 複数のシリアルポート設定(ボーレート、データビット、パリティ、ストップビット、フロー制御)をサポート
- Readable/Writable Streams を使用した双方向データ通信
- Promise と async/await に基づく非同期操作
実装手順
1. シリアルポートアクセスのリクエスト
const port = await navigator.serial.requestPort();
navigator.serial.requestPort() を使用して、ユーザーにシリアルポートデバイスの選択を促します。セキュリティを確保するために、ユーザーの操作が必要です。
2. ポートの設定と開く
await port.open({
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: 'none'
});
port.open() メソッドを呼び出し、ボーレート、データビット、パリティ、ストップビット、フロー制御を含む設定パラメータを指定します。
3. データの読み取り
const reader = port.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
// 受信データの処理(Uint8Array)
const text = new TextDecoder().decode(value);
}
port.readable から reader を取得し、非同期ループを使用してデータを継続的に読み取ります。受信したデータは Uint8Array 形式で、TextDecoder を使用してデコードする必要があります。
4. データの送信
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);
port.writable から writer を取得し、TextEncoder を使用して文字列を Uint8Array に変換してから、writer.write() を呼び出してデータを送信します。
5. 接続のクローズ
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();
クローズする前に、reader と writer のロックを解放してから、port.close() を呼び出してシリアルポート接続を閉じます。
使用される主要 API
-
navigator.serial.requestPort() - ユーザーにシリアルポートの選択を要求 -
port.open(options) - 設定でシリアルポートを開く -
port.readable.getReader() - 読み取りストリームの reader を取得 -
port.writable.getWriter() - 書き込みストリームの writer を取得 -
reader.read() - シリアルポートからデータを読み取る -
writer.write(data) - シリアルポートにデータを書き込む -
TextDecoder / TextEncoder - 文字列とバイト配列の変換 -
port.addEventListener('disconnect') - デバイス切断イベントをリッスン
公式ドキュメント参照
主な機能
Web Serial API
追加ソフトウェア不要でブラウザから直接シリアルポートにアクセス
リアルタイム監視
タイムスタンプと自動スクロール機能付きのライブデータ監視
16進数モード
検証機能付きの16進数形式でのデータ送受信
送信履歴
以前に送信したコマンドの追跡と再実行
統計情報
データ伝送速度と接続時間の監視
多言語対応
中国語、英語、日本語、フランス語、スペイン語をサポート
一般的な使用例
開発とデバッグ
- ArduinoとESP32の開発
- 組み込みシステムのデバッグ
- ファームウェアの開発とテスト
- IoTデバイスの設定
テストと通信
- モデム用ATコマンドテスト
- センサーデータの監視
- プロトコル分析とデバッグ
- 産業機器の通信
ブラウザサポートと要件
サポートブラウザ
- Chrome 89+
- Edge 89+
- Firefox(サポートされていません)
- Safari(サポートされていません)
要件
- Web Serial APIサポート付きのChromiumベースブラウザ
- HTTPS接続(Web Serial APIに必要)
- シリアルポートアクセス許可
- 互換性のあるシリアルデバイスドライバーがインストール済み
関連標準と仕様
詳細情報:Wikipedia RS-232、UARTプロトコル標準ドキュメント
関連ツール
CRCチェックサム計算機
CRC-8、CRC-16、CRC-32、CRC-64チェックサムを計算、Modbus、CCITTなど各種プロトコル標準対応
進数変換ツール
2進数、8進数、10進数、16進数間の変換、2-36の任意の基数をサポート
タイムスタンプ変換
Unixタイムスタンプと人間が読める日付/時刻の間で変換します
テキストツールキット
文字数カウント、データ抽出、分割・結合、行フィルター、接頭辞・接尾辞操作を含む包括的なテキスト操作ツールキット
文字セットコンバーター
UTF-8、GBK、Big5、Shift_JIS、ISO-8859、Windowsコードページなどの文字セットエンコーディングを自動検出で変換
正規表現テスター
即時一致結果で正規表現をテストおよびデバッグ