■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品一覧 使い方とサンプルプログラムWebショップ リンク ブログ 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...



BLE照度センサー BLECAST_BL をiPhoneで読み取る
 




BLE(Bluetooth Low Enargy)の照度センサーモジュール






 ここでは、BLECAST_BLからの照度データをiPhoneで取得する方法について解説致します。尚、他のBLECASTシリーズを使う場合は、ソースプログラム中のローカルネームの指定を、使用する製品の名前に変更してください。

 XCodeで作成したプロジェクトファイル全体を圧縮したものがこちらになります。

 BLECAST_BL_test.lzh

 非常に短いプログラムなので、詳しくはソースを見ていただければわかるかと思います。

 ViewController.m にはTextField が1つ配置されています。BLEBaseClass.mではBLEのスキャンを行っています。iPhpneでBLEを扱う場合はCoreBluetoothというライブラリを使用します。

 scanDevicesを実行するとBLEのスキャンを開始します。このスキャンでは近くにあるBLEを全てスキャンしますので、本製品以外にもBLE機器が動作している場合は複数の情報が得られます。

 BLE機器を発見するたびにdidDiscoverPeripheral が呼び出されます。 BLECASTシリーズのアドバタイズパケットは次のようになっています。

 これらの情報は、一時的にBLEDeviceClassに格納されます。ローカルネームへのアクセスはBLEDeviceClass.peripheral.nameで行います。下の行91〜101では、ローカルネームが”BLECAST_BL"かどうかを判定しています。

 CoreBluetoothライブラリの場合、アドバタイジングデータ(オレンジの部分)へのアクセスは、それぞれのタイプを指定して行います。行98で、タイプがManufacture Spec data かどうかを判定し、該当したらそのデータ部をmfData配列に格納します。

 行102で、取得したデータのセンサー値2バイトから16ビット値に変換しています。この値はほぼlx(ルックス:照度の単位)となっています。10の場合は10lx、100の場合は100lxです。

 まっくらな状態 = 0近く

 暗い部屋    = 20〜100

 電気をつけた部屋 = 300〜500

 くもりの日      = 1500〜2000

 はれの日      = 2700前後

 快晴、直射日光  = 2750以上

 そのデータをデリゲート経由でViewControllerに送り、TextFieldに表示させています。

 

 




(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示