USB接続された計測器をブラウザから直接制御する場合、現在最も一般的で標準的な方法は WebUSB API を使用することです。
従来は専用のドライバー(VISAなど)をインストールしたPC上で、PythonやC#のプログラムを動かす必要がありましたが、WebUSBを使えばブラウザ単体で計測器と通信が可能になります。
1. WebUSB API の仕組み
WebUSBは、ブラウザ(ChromeやEdgeなど)が直接USBデバイスと通信するためのJavaScript APIです。
ドライバ不要: OS標準のUSBスタックを介して通信するため、ユーザーにランタイムのインストールを強いる必要がありません。
セキュリティ: HTTPS環境が必須であり、ユーザーがブラウザのポップアップで「接続」を許可したデバイスのみにアクセスできます。
制御のフロー
デバイスの選択: navigator.usb.requestDevice() で計測器を選択。
セッション開始: device.open() で接続し、selectConfiguration() や claimInterface() で制御権を取得。
コマンド送信: transferOut() でSCPIコマンドなどを送信。
データ受信: transferIn() で計測結果を受信。
2. 制御のポイント(SCPI通信)
多くの計測器はUSB-TMC(Test and Measurement Class)という規格に従っていますが、WebUSBでこれらを叩くには、USBのバルク転送(Bulk Transfer)エンドポイントに対して直接バイナリデータを読み書きします。
コードのイメージ
// 計測器(例:SIGLENTやKeysight)にIDNクエリを送る例
const device = await navigator.usb.requestDevice({ filters: [{ vendorId: 0xXXXX }] });
await device.open();
await device.claimInterface(0);
// "*IDN?\n" を書き込み
const encoder = new TextEncoder();
await device.transferOut(1, encoder.encode("*IDN?\n"));
// 結果を読み込み
const result = await device.transferIn(1, 64);
const decoder = new TextDecoder();
console.log(decoder.decode(result.data));3. メリットと課題
項目 | 内容 |
メリット | インストール不要、OSを問わない(Windows/Mac/Linux/Android)、UI開発が容易(React/Vueなどが使える)。 |
課題 | USB-TMCドライバとの競合: Windowsの場合、標準のVISAドライバが占有しているとWebUSBから見えないため、WinUSBドライバへの差し替えが必要になる場合があります。 |
ブラウザ制限 | SafariやFirefoxはWebUSBをサポートしていません(Chrome系のみ)。 |
4. 代替案:Web Serial API
もし計測器が USB-シリアル(仮想COMポート) として認識されるタイプ(テスターや自作のESP32/Arduinoベースの治具など)であれば、Web Serial API を使う方が実装ははるかに簡単です。
ボーレートなどのシリアル設定だけで接続可能。
writer.write("*IDN?\n") のような直感的な記述ができる。
5. 実用的なライブラリ
ゼロからUSBスタックを操作するのは大変なため、既存のラッパーを利用するのが近道です。
WebUSB-TMC: USB-TMC規格に準拠した計測器をWebUSBで動かすためのオープンソースライブラリなどがGitHubで公開されています。
研究室や工場のラインで「特定のPCに依存せず、タブレットやノートPCを繋ぐだけで即座にグラフ表示したい」といった用途には、非常に強力なソリューションになります。
PR:
![]() | SMM3000Xシリーズ 高精度ソースメジャーユニット・表示桁数:6½桁(2,100,000カウント) ・SMM3311X(1ch) / SMM3312X(2ch) ・価格:90万円~ |
![]() ・USB VNA | ![]() |
![]() | SDS8000Aシリーズ オシロスコープ 特長と利点 |
![]() | SSG6M80Aシリーズ |
![]() | ![]() |
![]() | SSA6000A Series Signal Analyzer Main Features |
![]() | SNA6000A Series Vector Network Analyzer Key Features |
お礼、
T&Mコーポレーションは設立5年ですが、おかげさまで業績を着実に伸ばしており、
オフィスを港区芝(最寄り駅浜松町)に移転し、スペースも拡大いたしました。
電子計測器業界の「ゲームチェンジャー」として、高性能/高信頼/低価格/短納期を武器に
T&Mコーポレーションはお客様のご予算を最大限生かす製品群をご提案させていただいております。



















