CoderTools

オンラインシリアルポートデバッガー

ダウンロード不要のブラウザベースのシリアルデバッグツール、Web Serial APIでリアルタイム監視

接続設定

ステータス: 未接続

データモニター

データ送信

間隔(ミリ秒):

統計情報

0
送信バイト数
0
受信バイト数
00:00:00
接続時間
0
データレート (B/s)

シリアルポートデバッガーのドキュメント

このツールの使用方法

  1. シリアルデバイスをコンピューターに接続
  2. 接続パラメータを設定(ボーレート、データビット、パリティ、ストップビット)
  3. 「接続」をクリックしてシリアル接続を確立
  4. 受信データをリアルタイムで監視
  5. テキストまたは16進数形式でデータを送信
  6. 送信履歴を使用して以前のコマンドを繰り返し
  7. 接続統計とデータレートを確認

接続パラメータ

ボーレート
データ伝送速度(ビット毎秒)
データビット
データフレームあたりのビット数(5-8)
パリティ
エラー検出方法(なし、偶数、奇数)
ストップビット
フレーム終了インジケータ(1または2)

実装原理

このツールは 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に必要)
  • シリアルポートアクセス許可
  • 互換性のあるシリアルデバイスドライバーがインストール済み

関連標準と仕様

RS-232: RS-232:電気特性とコネクタ仕様を定義する古典的なシリアル通信標準
UART: UART:汎用非同期送受信器、シリアル通信のコアプロトコル
USB-to-Serial: USB-to-Serial:現代のデバイスで一般的なシリアル変換方法

詳細情報:Wikipedia RS-232、UARTプロトコル標準ドキュメント

クイックメニュー

最近のツールはありません