【うぇぶしりあるえーぴーあい】

Web Serial API とは?

公開:
💡 「ブラウザとArduinoが直接おしゃべり」——CableなしでWebからマイコンを制御できるブラウザAPI
📌 このページのポイント
Web Serial API — ブラウザとマイコンが直接通信 ブラウザ Web Serial API HTTPS / localhost ユーザー許可必須 USB / Serial シリアルポート (COMポート / /dev/tty) マイコン Arduino ESP32 Raspberry Pi Pico 送信 受信 送信 受信 Project Fugu の一員 WebUSB / WebBluetooth と同ファミリー Electron 不要 ブラウザのみでハードウェアアプリ
ブラウザ ↔ USBシリアル ↔ マイコンの双方向通信フロー
ひよこ ひよこ
ペンギン先生、ArduinoってブラウザのWebページから操作できるの?
ペンギン先生 ペンギン先生
「Web Serial API」を使えばできるよ!USBケーブルでつないだArduinoやESP32をブラウザから直接シリアル通信でコントロールできるんだよ。
ひよこ ひよこ
「シリアル通信」って何なの?
ペンギン先生 ペンギン先生
データを1ビットずつ順番に送る通信方式だよ。ArduinoはパソコンとUSBでつながるとき「シリアルポート」として認識されていて、昔からArduino IDEのシリアルモニターでデータのやり取りをしてたんだよ。それをブラウザからできるようにしたのがWeb Serial APIだよ。
ひよこ ひよこ
普通のWebサイトから誰でもマイコンを操作できたら怖くないの?
ペンギン先生 ペンギン先生
ちゃんとセキュリティがあるよ。ユーザーが「このページにこのポートへのアクセスを許可する」と明示的に選択しないと通信できないし、HTTPSまたはlocalhostでしか動かないんだよ。
ひよこ ひよこ
これがあるとどんないいことがあるの?
ペンギン先生 ペンギン先生
以前はブラウザからハードウェアを制御するためにElectronというデスクトップアプリフレームワークが必要だったんだけど、Web Serial APIがあれば普通のWebページだけでできるよ。Arduinoファームウェア書き込みツールをブラウザだけで動かす事例も出てきているんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Web Serial API」って出てきたら「ブラウザからマイコンをシリアル通信で制御するAPI」と思えればだいたいOK!
📖 おまけ:英語の意味
「Web Serial API」 = Webシリアル通信API
💬 Fugu Project(Project Fugu)の一環でGoogleが推進。WebUSBやWebBluetoothと並ぶハードウェアアクセスAPIファミリーの一つだよ。
← 用語集にもどる