micro:bitの温度センサーの値をスマホで読み取る

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を使うには、エディターでパッケージを追加します。

「高度なブロック」→「パッケージを追加する」で表示される画面で「bluetooth」を選択

『元のパッケージを削除して「bluetooth」を追加する』をクリック

「radio」は「無線」のブロックのためのパッケージ。BLEとは共存できないので、ここでは削除することになります。新しいプロジェクトを作れば、「無線」は復活するので大丈夫。

続いて、エディターの右上にある歯車のマークをクリックして「プロジェクトの設定」を選び、Bluetoothのペアリングをオフにしておきます。

「No Pairing Required: 〜」を選んで「保存」をクリック

プログラムはこんな感じにしてみました。

電源オン、BLEの接続、BLEの切断が判別できるように、それぞれLEDにマークを表示するようにした

スマホには、「nRF Connect for Mobile」と「nRF Logger」をインストールしておきます。
まず、「nRF Connect for Mobile」を起動。

接続可能なBluetoothデバイスの一覧からmicro:bitを探して「CONNECT」をタップ

接続できると、micro:bitのLEDにプログラムしておいたマークが表示され、「nRF Connect for Mobile」の画面が変わります。ここで「温度計サービス」を選びます。

「micro:bit Temperature Service」をタップ

「micro:bit Temperature Service」がリストにない場合は、いったん接続を切って、再接続してみるといいようです。
「micro:bit Temperature」欄で、データを受信するマークをタップします。

連続受信のマークをタップ

温度が読み取れた

連続受信にしていると、micro:bitに息を吹きかけると温度が上がるのがわかります。
ここまで来たら、「nRF Logger」を使って温度変化を記録できます。

メニューを表示して「nRF Logger」をタップ

nRF Loggerが起動するので、micro:bitをタップ

右上のメニューで「APP」を選択

表示されているテキストは、右上のメニューで保存やコピーができます。

たぶん、標準では1000ms(1秒)ごとに値が更新されるので、すぐに画面がいっぱいになってしまうと思います。
更新の間隔を変更するには、「nRF Connect for Mobile」の「micro:bit Temperature」欄にある「micro:bit Temperature Period」を使います。送信マーク(上向きの矢印マーク)をタップして、更新間隔の数値を送信します。

数値の型を「UNIT 16」にして「5000」と入力し、「SEND」をタップすると、更新間隔が5000ms(5秒)になる

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください