micro:bitには温度センサーが付いていて、BLE(Bluetooth Low Energy)による通信機能もあります。
そこで、スマホでなんとか簡単にmicro:bitの温度センサーの値を読み取れないかと、Google Playにあるアプリをいろいろ試してみました。
なかなかいい感じだったのは、「nRF Connect for Mobile」と「nRF Logger」の組み合わせ。どちらもNordic Semiconductor社製のアプリで、Nordic Semiconductorといえば、micro:bitのプロセッサー「nRF51822」の製造元。
うまくいって当然という組み合わせでしょうか。
micro:bitでBLEを使うには、エディターでパッケージを追加します。
「radio」は「無線」のブロックのためのパッケージ。BLEとは共存できないので、ここでは削除することになります。新しいプロジェクトを作れば、「無線」は復活するので大丈夫。
続いて、エディターの右上にある歯車のマークをクリックして「プロジェクトの設定」を選び、Bluetoothのペアリングをオフにしておきます。
プログラムはこんな感じにしてみました。
スマホには、「nRF Connect for Mobile」と「nRF Logger」をインストールしておきます。
まず、「nRF Connect for Mobile」を起動。
接続できると、micro:bitのLEDにプログラムしておいたマークが表示され、「nRF Connect for Mobile」の画面が変わります。ここで「温度計サービス」を選びます。
「micro:bit Temperature Service」がリストにない場合は、いったん接続を切って、再接続してみるといいようです。
「micro:bit Temperature」欄で、データを受信するマークをタップします。
連続受信にしていると、micro:bitに息を吹きかけると温度が上がるのがわかります。
ここまで来たら、「nRF Logger」を使って温度変化を記録できます。
表示されているテキストは、右上のメニューで保存やコピーができます。
たぶん、標準では1000ms(1秒)ごとに値が更新されるので、すぐに画面がいっぱいになってしまうと思います。
更新の間隔を変更するには、「nRF Connect for Mobile」の「micro:bit Temperature」欄にある「micro:bit Temperature Period」を使います。送信マーク(上向きの矢印マーク)をタップして、更新間隔の数値を送信します。