BLEセンサーをCONEXIOBlackBearにつなげてみる
コネクシオのテックブログをご覧いただきありがとうございます。
テックブログでは、ちょっと役立つ技術情報やコネクシオの製品を使ってできることを紹介しています。
目次[非表示]
▼CONEXIOBlackBearについてはこちら
BLE接続は難しい?
BLEは「Bluetooth Low Energy」のことで、通常のBluetoothよりも省電力での接続を実現できます。最初はBLEの意味すらわからず、プログラミングを本格的に始めて1年程度の私でしたが、やってみると数日でBLEセンサーをCONEXIOBlackBearにつなげることができました!先輩方からも助言をいただきましたが、振り返ってみれば意外に簡単という印象でした。
BLE接続の構成
今回使用したセンサーは、ユニ電子の温湿度センサー (Logtta、LogttaCable、LogttaWR) と、CO2センサー(Logtta CO2)です。またBLE接続を実行するためには、bluepyと呼ばれるPython用ライブラリを用いると簡単です。
■ユニ電子Logttaシリーズ紹介ページ http://www.uni-elec.co.jp/logtta_page.html
BLE接続の構成としては、BLEセンサーはアドバタイズ(ブロードキャスト通信)で、親機であるCONEXIOBlackBearに対して「私はここにいるよ」と知らせます。その知らせをCONEXIOBlackBear上でbluepyによって取得し、温度(℃)・湿度(%)・バッテリー残量(%)・CO2濃度(ppm)を、CONEXIOBlackBear上で表示させました。
bluepyのインストール方法
bluepyをインストールする手順については以下のコマンドをCONEXIOBlackBear上で叩くだけなので簡単です。
センサーをアドバタイズモード(ビーコンモード)にする
ユニ電子のBLEセンサーは、初期設定のままだとiPhoneでデータを受信する設定になっています。そのためiPhone上のユニ電子アプリを使用して、BLEセンサーをビーコンモードに設定します。詳しくは上記のユニ電子URLに掲載されている資料をご覧ください。
プログラムの実行(温湿度センサーの例)
上記を読んでいただければ、何をしているかは大体わかっていただけると思います。(思ったよりもプログラム量は少ないと思いました!) CO2センサーも同じように実装することができます。
また、「valueからの計算」については、ユニ電子から情報提供していただいたアドバタイズデータの詳細から計算しました。
そして…いよいよ、このプログラム(scan3.py)の実行です!
上図のように、このプログラムを実行すると、CONEXIOBlackBearのコマンドライン上へ、温度・湿度・バッテリー残量を表示することができました!
おわりに
夏の暑い時期に実施した結果ですので、温度と湿度が結構暑苦しい値になっています…知識ゼロからでも(もちろんベテランの方でも)思ったよりも簡単ですので、是非BLE接続を試してみてください!
BLEセンサーを、CONEXIOBlackBearでつなげてみませんか?
▼CONEXIOBlackBearについてはこちら