Checking browser support…
任意のバイト列をシリアルで送り、応答を取り込んでプロトコルを解析 — ブラウザだけで完結。
Talks to your device locally over Web Serial — bytes never leave your browser.
Checking browser support…
シリアルプロトコル・プレイグラウンドは、シリアルモニタの上級版です。流れてくるものを見ているだけでなく、自分でバイトのパケットを組み立て、機器へ送り、応答を取り込んで解きほぐします。自分のシリアル機器のファームウェアを書いている人、あるいは他人が作った機器のプロトコルを解析する人のためのものです。すべてChromeやEdgeのWeb Serial API上で動き、IDEもドライバの導入も不要で、送受信した内容がブラウザの外へ出ることはありません。
パケット構築欄は、混在した書き方を受け付けます。HEX(0x1A、あるいは素の1A)、10進(d255)、2進(0b10101010)、エスケープ付きで引用符に囲んだASCII("AT\r\n")を、すべて1行に混ぜて書けます。実際に回線へ出るバイト列はライブプレビューで確認できます。面倒な部分はヘルパーが引き受けます。チェックサムやCRCの自動付与(Modbus、CCITT、XMODEM、Maxim、SMBus、IEEEのCRC-32、さらにsum、XOR、LRC、Fletcher-16)、任意のバイト範囲に対する長さフィールドの自動補完、SLIPやHDLCのバイトスタッフィングによるフレーム包装です。
繰り返すテストを指先で覚える必要はありません。スクリプトランナーは、短くループのない手順(パケットを送る、指定ミリ秒だけ待つ、指定のバイト列を含む応答を待つ)をつなげて、実際のポートに対して実行します。各ステップにはタイムスタンプ付きの成功・失敗の記録が残ります。スクリプトはブラウザに保存され、書き出せるプロトコル定義ファイルの中に入って、同僚にそのまま渡せます。
送信と受信はすべて、正確な単調増加のタイムスタンプ付きで記録され、タイミング解析のためにテキストまたはCSVで書き出せます。取り込んだ応答は、hexエディタとまったく同じHEX+ASCIIのダンプとしてリクエストと並べて表示され、任意のデコーダがバイトに注釈を付けます。CRCを検証して関数コードと例外コードに名前を付ける内蔵のModbus RTUデコーダ、NMEA 0183のセンテンスデコーダ、あるいは自分で定義するフィールドテンプレート(オフセット、長さ、型、ラベル)です。hexエディタと同じテンプレートの考え方を、未知のプロトコルに当てはめたものです。
Web SerialはChromium系専用のAPIなので、ポートを開くにはデスクトップのChrome、Edge、Opera(またはAndroid版のChrome 148以降)が必要です。FirefoxとSafariは実装していないため、それらのブラウザでは動かないボタンの代わりに正直な対応状況の表が出ます。ただしCRC・チェックサム計算機は機器を必要としないので、そこでも使えます。何につないでも、バイトはこのページと機器の間を直接流れ、サイト側がそれを見ることはありません。
モニタは受け身で、流れてくるものを見せるだけです。本ツールは能動的です。正確なバイトのパケットを、計算済みのチェックサムや長さフィールドを添えて組み立て、送り、応答を取り込んで解読します。自分が作っている機器のテスト、あるいは自分が作ったのではない機器の解析のためのものです。
CRC-16/MODBUS、CRC-16/CCITT-FALSE、CRC-16/XMODEM、CRC-8/MAXIM、CRC-8/SMBUS、CRC-32/ISO-HDLC(IEEE)に加え、より単純な8ビットsum、XOR、LRC、Fletcher-16のブロックチェックです。それぞれ規定のチェック値と照合して検証してあり、パケットへ自動で付与することも、機器をつながずに単体の計算機として使うこともできます。
はい。ModbusデコーダはCRC-16を検証し、関数コードに名前を付け、リクエストと応答のフィールド(開始アドレス、数量、バイト数、レジスタ値)を分解し、例外応答には例外名を添えて示します。CRCが誤っている場合でもフレームは解読し、期待していた値を表示します。
3種類のステップ(送信、一定時間の待機、指定バイト列を含む応答の待機)を並べて組み立てます。ループも分岐も意図的にありません。プログラムを書くためではなく、繰り返せるテストの流れのためのものです。スクリプトを実行すると、ステップごとのタイムスタンプ付き記録が残るので、ハンドシェイクがどこで止まったかがそのまま分かります。
いいえ。接続はすべてブラウザのWeb Serial APIを通して行われるため、バイトはページと機器の間を直接流れます。送受信した内容がサーバーへ送られることはありません。サイトの匿名の解析は、ツールが使われたという事実だけを記録し、データそのものは記録しません。
Web SerialがChromium系専用のため、デスクトップのChrome、Edge、Opera、そしてAndroid版のChrome 148以降です。FirefoxとSafariは実装しておらず、代わりに対応状況の表を表示します。CRC・チェックサム計算機はシリアルポートを必要としないので、どのブラウザでも使えます。
Send a command here, then plot the numeric response over there →