Chrome ブラウザで Web Bluetooth API を試してみる

Web Bluetooth API というモノがある。Bluetooth が内蔵されたノート PC なんかで、Chrome ブラウザを使って Bluetooth デバイスとの接続ができるらしい。コレを使えば「Cordova-Plugin-BluetoothLE」のような Cordova プラグインを使ってアプリ化せずとも、ウェブアプリとして Bluetooth デバイスを扱えそうだ。

ということで今回は、この Web Bluetooth API の触りだけ試してみた。

目次

Web Bluetooth API を有効にする

本校執筆時点の Chrome ブラウザのデフォルトでは、Web Bluetooth API が無効化されているので、コレを有効にする。

Chrome ブラウザを開いたら次の URL にアクセスする。

すると「Experimental Web Platform features」という設定項目にフォーカスが当たっているので、コレを「Enabled」にしてブラウザを再起動する。

必要な事前準備はコレだけ。

開発者コンソールで試してみる

機能を有効にして Chrome を再起動したら、F12 キーなどで開発者ツールを開く。そして「Console」タブに移動したら、次のように入力する。

navigator.bluetooth

機能が正しく有効にできていれば、Bluetooth オブジェクトが返ってくるはずだ。もし undefined が返ってきた場合は、前述の有効化手順がうまく出来ていない可能性がある。

そしたら、次のようなワンライナーを叩いてみる。

navigator.bluetooth.requestDevice({ acceptAllDevices: true })

コレで、専用の「Chooser UI」、デバイス一覧のダイアログが開くはずだ。PC 周辺の Bluetooth デバイスをスキャンしていて、モノによっては製品名などが見えると思われる。

requestDevice() によって、ペアリングを開始できる。

navigator.bluetooth.requestLEScan({ acceptAllAdvertisements: true })

コチラは、BLE (Bluetooth Low Energy) のアドバタイジングが取得できる様子。MacOS の Chrome では何やら情報が取れたが、ThinkPad X250 にインストールした Ubuntu 上の Chrome だと特に情報が取れなかった。

以上

いずれのメソッドも Promise 形式なので、ペアリング後に続けてコネクションを張ったりして Bluetooth 機器を操作したりできる。

ブラウザオンリーで Bluetooth 操作ができるのは面白そうだ。