
Web Bluetoothは、Webページが navigator.bluetooth.requestDevice() を起点に、Bluetooth Low Energy(BLE)対応の周辺機器とブラウザから直接通信できるWeb APIです。Googleのフランソワ・ベフォルが主導し、W3C Web Bluetooth Community Groupで仕様化が始まり、2015年からChrome実験版に最初に搭載され、2016年12月のChrome 56で正式機能として公開されました。心拍計・体重計・スマート照明・教育用ロボットなど、これまで専用アプリのインストールが必要だったBLE機器を、URLを開くだけで操作できる体験を生み出した先進的なAPIです。
この記事の目次
- GATTプロファイルと階層構造
- ユーザー承認とセキュリティモデル
- 現場でのユースケース
- 他の機器連携手段との比較
- まとめ
GATTプロファイルと階層構造

Web BluetoothはBLEの標準的なGATT(Generic Attribute Profile)モデルにそのまま乗っており、「デバイス → サービス → キャラクタリスティック → ディスクリプタ」という階層を辿って機器を操作します。デバイスは物理的なBLE機器そのもの、サービスは「心拍数サービス」「バッテリーサービス」のように機能ごとにまとまった単位、キャラクタリスティックは実際に読み書きする値の入口です。Bluetooth SIGがあらかじめ標準のUUIDを定義しており、心拍数なら 0x180D、バッテリーなら 0x180F という決まったIDで世界中の機器が互換性を保っています。
JavaScriptのコードでは、requestDevice で機器を選びユーザー承認を得たあと、gatt.connect で接続し、getPrimaryService でサービスを開き、getCharacteristic で値の入口を取り、readValue や writeValue、startNotifications で読み書き・通知購読を行います。Promiseチェーンで段階的に絞り込んでいく形が、生のBLEプログラミングよりも遥かに分かりやすく、Web開発者でも理解しやすいAPIに整理されている点が大きな特徴です。
ユーザー承認とセキュリティモデル

Web Bluetoothはセキュリティとプライバシーに細心の注意が払われています。まず利用はHTTPS(セキュアコンテキスト)に限定され、navigator.bluetooth.requestDevice は必ずユーザー操作(クリック・タップ)からのみ呼び出せます。呼び出すとブラウザが標準UIで近隣のBLE機器一覧を表示し、ユーザーが明示的に選択したデバイスにだけアクセス権が与えられます。サイトが勝手に近隣デバイスを列挙したり、ユーザーが選んでいない機器に接続したりすることはできません。
またフィルター指定で「アクセスを求めるサービスUUID」を事前に申告する必要があり、選んだデバイスでも申告外のサービスにはアクセスできない設計です。Chrome・Edge・Operaでは標準で利用可能ですが、Firefoxは「指紋採取と複雑性のリスクが大きい」として実装を見送っており、Safariも未対応です。このため利用シーンはChromiumベースのブラウザに事実上限定され、業務用キオスク端末や社内ツール・教育向けPWAなど、デバイス環境を統制できる場で導入が進んでいます。
現場でのユースケース

医療・ヘルスケア分野では、Bluetooth対応の心拍計・血圧計・体重計などの計測値をブラウザのPWA上に表示する用途が広がっています。専用アプリのストア審査や配布の手間が省け、URLを送るだけで使ってもらえるため、研究用途やプロトタイプに非常に向いています。教育分野ではmicro:bit・LEGO MINDSTORMS・SpheroといったBLE対応の教育用ロボットをブラウザから操作するビジュアルプログラミング環境が多数登場しており、子供向け学習サービスで活用されています。
業務用途としては、工場のIoTセンサーの設定や状態確認、店舗のスマート照明・デジタルサイネージ管理、POS連携のレシートプリンタやバーコードスキャナーとの接続などが挙げられます。「専用アプリを配るほどではないが、機器との通信が必要」という業務ニーズに対し、Web Bluetoothはブラウザを開けば即動く軽量さで応えてくれます。ただし対応ブラウザの制約から一般消費者向けサービスより、社内端末や限定環境での活用が中心です。
他の機器連携手段との比較

ブラウザから機器を操作するAPIにはWeb Bluetooth以外にも、WebUSB(2017年〜)・WebSerial(2020年〜)・WebHID(2021年〜)が存在します。これらはそれぞれUSB機器・シリアル機器・HID機器に対応しており、対象とする機器の種類が異なります。同じ範疇に近いNFCを扱う「Web NFC」はAndroid Chromeのみの対応です。Web BluetoothはBLE機器に特化し、無線接続の手軽さが最大の魅力です。
ネイティブアプリと比較すると、Web BluetoothはClassic Bluetoothには対応していない・バックグラウンド動作はService Workerでも制限が多い・対応ブラウザが限定的、といった制約があります。それでも「インストール不要・URLで配布可能」という他に代えがたいメリットがあり、プロトタイピング・社内ツール・教育用途・キオスク端末といったシーンでは強力な選択肢になります。WebプラットフォームをIoT時代に対応させるGoogle Project Fugu系APIの代表格として、今後の標準化進展が注目されています。
まとめ
Web Bluetoothは、ブラウザからBLE機器に直接接続できる先進的なAPIです。HTTPS・ユーザー承認・サービスフィルタの三段構えでセキュリティを担保しつつ、心拍計や教育ロボット、業務用センサーなど多様な機器をURLひとつで扱えるようにします。対応ブラウザは限定的ですが、社内ツールや教育・ヘルスケア領域で着実に活用が広がっています。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント