初めてのBLE (20) Feather nRF52840 Sense②BLE その1

 このボードは、型名のとおりノルディックのnRF52840を内蔵したBLEモジュールが使われています。GitHubに対応するBLEのライブラリが置いてあります。

  https://github.com/adafruit/Adafruit_nRF52_Arduino

 ソースとサンプルはこのディレクトリにあります。

  https://github.com/adafruit/Adafruit_nRF52_Arduino/tree/master/libraries/Bluefruit52Lib

ペリフェラルのサンプル・スケッチ

 前回、センサからデータを読み出すサンプル・プログラムを実行しました。これらの値をBLEで送り出すペリフェラルのサンプルがbluefruit_playground.inoです。

 前回と同様、インクルード文のライブラリで足りないのを「ライブラリを管理」からインストールします。筆者は、Adafruit_AHRSが足りなかっただけでした。

 コンパイルしてマイコンへ書き込みます。シリアルモニタには何も表示されません。

 オン・セミコンダクターのBLEモジュールRSL10-USB001GEVK: RSL10 USB DongleとソフトのRSL10 Bluetooth Low Enaergy Exploerを使って情報を見ます。セントラルの立場です。BLE間は約30cmです。local name は「sense」と付けられています。コネクトします。
 シリアルモニタには「Connected to」と表示されました。コネクトするまでは信号レベルは-27と強力でした。コネクトした後は-70ぐらいを推移しています。
 Discover Servicesをクリックしました。各種サービスが送られてきます。

 最初の画面は、BLEの一般的な情報です。

 続きです。これ以降は、Adafruitのセンサの情報です。サービスとキャラクタリスティックのUUIDは、ADAFxxxx-C332-42A8-93BD-25E905756CB8が使われています。xxxxの部分が異なりますが、ほかの数字は共通です。

 xxxx部分です。

  • STマイクロ 6軸IMU(慣性計測装置)- LSM6DS33:Accel(加速度0200 /Gyro(ジャイロ・センサ0400 ->Quater 0D00
  • 3軸の磁気センサLIS3MDL:magnetometer 0500
  • APDS9960:Proximity(近接)0E00、Light 0300、Color 0A00、ジェスチャ・センサ 0F00
  • PDM:sound 0B00、Tone 0C00
  • SHT30:湿度 0700
  • BMP280:温度 0100、気圧 0800
  • button 0600
  • Pixel 0900

 とてもたくさんのデータが届くので、次回、温湿度センサSHT30、温度、気圧センサBMP280の二つだけ動かして、実験します。

(※) センサのデータを表示するのはNofiticatonにチェックを入れます。何度か動かしても、それらしいデータは送られてきませんでした。翌日、次回のプログラムを動かしても、それらしいデータが送られてきませんでした。

 バッテリーサービスは、100という適当な値を送っています。この値を変化させると、正しく受け取れたので、このプログラム自体は動いていることが確認できました。

 しかし、コンパイルと書き込みを繰り返していると、今回のプログラムも、次回のプログラムもセンサの値を表示し始めました。最初に動かなかった原因は不明です。

前へ

初めてのBLE (19) Feather nRF52840 Sense①準備

次へ

初めてのBLE (21) Feather nRF52840 Sense③BLE その2