初めてのBLE (4) micro:bitでペリフェラル①温度のCharacteristic

 ArduinoBLEでは温度や加速度のデータはキャラ(Characteristic)のデータでやり取りされます。Nordic のBLEデバイスnRDxxxでは、NUS(Nordic UART Service)が提供されています。UARTというよりTx/Rxのターミナルと考えると扱いやすいです。ArduinoBLEでは、専用の関数はサポートされていないようなので、micro:bitのGUIツールで温度を送れるペリフェラルを作ります。

キャラで温度

 BLEの用途に限らず、micro:bitのファームウェアは最新にしておきます。執筆時点では、Interface Version: 0254でした(DETAILS.TXT)。

 https://makecode.microbit.org/へ行き、ホームから新しいプロジェクトをクリックします。画面右上の歯車のアイコンをクリックします。

 プロジェクトの設定を選びます。

 No Pairing Required:...を選び、保存します。

 同じく歯車のメニューから拡張機能を選びます。

 Bluetoothを選択します。

 Bluetoothがメニューに追加されています。クリックして、その中から「温度計サービス」を選択します。

 「最初だけ」の中に「温度計サービス」を入れます。

 次の図のように、接続されたとき、接続が切断されたときのLED表示を追加します。左下のダウンロードをクリックし、ダウンロードされたファイルを、MICROBITドライブにドロップします。MICROBITドライブは、micro:bitをPCとUSBケーブルでつないだときに表示されています。

 書き込みが終わると、再起動されます。

 オン・セミコンダクターのBLEであるRSL10 Bluetooth Low Enaergy Exploerを使って情報を見ます。

 26℃のデータが送られているのが確認できました。

UUID

 温度のキャラのUUIDは、E95D9250-251D-470A-A062-FA1922DFA9A8です。データは符号付き8ビットの整数です。

 そのほか、このマイコン・ボードのBLEを網羅した情報はこちらが充実しているようです。
  Bluetooth Developer Studio Level 3 Profile Report

前へ

初めてのBLE (3) 温度

次へ

初めてのBLE (5) micro:bitでペリフェラル②Arduinoのセントラル