Androidのメモとか

ポキオの日記です。今日も遅延してない。

micro:bitのボタンのステータスをWeb Bluetooth APIで読み取ってみる

第4弾!

micro:bit web bluetooth api

ボタンのステータスを読み取ります

さてさて、加速度、磁気、温度、そして今回はボタンです。

relativelayout.hatenablog.com

relativelayout.hatenablog.com

relativelayout.hatenablog.com

micro:bit、今回は百均で売ってた単三電池→USB5V出力するモバイルバッテリーで動かしてみました。いい感じ。

micro:bit側のプログラミングは全く変わりません!

相変わらず、Bluetooth系のサービスをすべて初期化するコードです。

micro:bit web bluetooth api

今回も変える必要がないので、このままの実装で進めます。

bluetooth.startAccelerometerService()
bluetooth.startButtonService()
bluetooth.startIOPinService()
bluetooth.startLEDService()
bluetooth.startTemperatureService()
bluetooth.startMagnetometerService()

残すはあとLEDとIOピンか・・・。

HTML側のプログラミング

例によって、このプロファイル仕様書を参考にしています。

Bluetooth Developer Studio - Profile Report

AボタンとBボタンにそれぞれキャラクタリスティックが割り振られていて、それぞれNotifyを受けることができます。ステータスは3種類で、押されていない/押されている/長押しされている。Androidとかの長押し判定と違って、2-3秒ボタンを押してないと長押判定されません。

早速ですが、コードはこちら。

github.com

で、サンプルページはこちら。

pokiiio.github.io

ボタンを押したり、長押しすると、表示が変わります。

#microbit のボタンのステータスを #webbluetooth で受信する。

A post shared by pokio (@pokiiiiio) on

はい。月食見忘れた!

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。