catch-img

BLEセンサーをCONEXIOBlackBearにつなげてみる

コネクシオのテックブログをご覧いただきありがとうございます。
テックブログでは、ちょっと役立つ技術情報やコネクシオの製品を使ってできることを紹介しています。

目次[非表示]

  1. BLE接続は難しい?
    1. BLE接続の構成
  2. bluepyのインストール方法
    1. センサーをアドバタイズモード(ビーコンモード)にする
  3. プログラムの実行(温湿度センサーの例)
    1. おわりに

▼CONEXIOBlackBearについてはこちら

  CONEXIOBlackBear | コネクシオIoTソリューション コネクシオは”海外利用可能”・”車載可能”な堅牢性、AI連携を想定したエッジコンピューティング・ゲートウェイ『CONEXIOBlackBear』を開発しました。IoTゲートウェイ|エッジコンピューティング|海外利用|車載利用|コネクシオブラックベア コネクシオ IoTソリューション


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上で叩くだけなので簡単です。

# apt-get install python3-pip
# apt-get install libglib-2.0-dev
# pip3 install bluepy


センサーをアドバタイズモード(ビーコンモード)にする

ユニ電子のBLEセンサーは、初期設定のままだとiPhoneでデータを受信する設定になっています。そのためiPhone上のユニ電子アプリを使用して、BLEセンサーをビーコンモードに設定します。詳しくは上記のユニ電子URLに掲載されている資料をご覧ください。

プログラムの実行(温湿度センサーの例)

import bluepy #bluepyをimportする
scanner = bluepy.btle.Scanner(0)
devices = scanner.scan(3) #3秒間周辺をスキャンする
for device in devices:       
 for (adtype, description, value) in device.getScanData()   
 #adtypeはアドバタイズデータの種別番号
 #adtypeの意味を記述するのがdescription
 #データ本体がvalue   
   com_id=valueの頭文字 
   if desc=="xxxx" and com_id == "xxxx": #温湿度センサーであるかのチェック        	  		      	 		 
       temp=valueから計算
       print('Temperature: %f'% temp) #温度の表示
       humid=valueから計算
       print('Humid: %f'% humid) #湿度の表示
       Battery=valueから計算
       print('Battery: %d'% battery) #バッテリー残量の表示 

上記を読んでいただければ、何をしているかは大体わかっていただけると思います。(思ったよりもプログラム量は少ないと思いました!) CO2センサーも同じように実装することができます。
また、「valueからの計算」については、ユニ電子から情報提供していただいたアドバタイズデータの詳細から計算しました。

そして…いよいよ、このプログラム(scan3.py)の実行です!

上図のように、このプログラムを実行すると、CONEXIOBlackBearのコマンドライン上へ、温度・湿度・バッテリー残量を表示することができました!

おわりに

夏の暑い時期に実施した結果ですので、温度と湿度が結構暑苦しい値になっています…知識ゼロからでも(もちろんベテランの方でも)思ったよりも簡単ですので、是非BLE接続を試してみてください!

BLEセンサーを、CONEXIOBlackBearでつなげてみませんか?

CONEXIOBlackBearについてはこちら


  CONEXIOBlackBear | コネクシオIoTソリューション コネクシオは”海外利用可能”・”車載可能”な堅牢性、AI連携を想定したエッジコンピューティング・ゲートウェイ『CONEXIOBlackBear』を開発しました。IoTゲートウェイ|エッジコンピューティング|海外利用|車載利用|コネクシオブラックベア コネクシオ IoTソリューション


コネクシオのソリューションが5分でわかる!
工業・農業・オフィス・車両・インフラなど、
各分野から抜粋した代表例をご紹介
ご質問やご要望はこちらから
お気軽にお問い合わせください

製品情報
最新記事
サイト内検索