さまざまな物や事に関する、役に立ったり立たなかったりするテキストが綴られるブログ。

2014/06/29

[Nexus7] Bluetooth Low Energyを試してみる

どうやら対応しているらしい
Bluetooth4.0の一部に含まれる省電力通信技術"Bluetooth Low Energy"(以下BLEと略)。カスタムROMの有名ドコロであるCyanogenModでは、バージョン10.2以降で実装されているようです。

現在ウチで使用しているのはBluetooth3.0な"Nexus7(2012)"なのでハードウェア的に非対応だと思っておったのですが、実はBLEが使えるとか使えないとか。

何はともあれお手軽なアプリでのチェックを実施してみます。思いっきり疑念を抱きつつ、PlayストアからBLE対応を判定するシンプルなアプリ"BLE Checker"をダウンロードして実行してみると..."BLE Supported"と表示されました。

環境としてはCM11(Android4.4.2)ベースのカスタムROMを使用しています。そこで、BLE非対応なハズのCM10.1.3(Android4.2.2)の環境で同じアプリを実行してみると..."BLE NOT Supported"に。状況的にはまったく正しい判定です。

ただ、フラグの有無を見ているだけで、ハードウェアまではチェックしていないような雰囲気。何にせよ詳しいことはわからず、モヤモヤ感は増すばかりです。こうなったら実際に試してみるしかありません。

そこで、急ぎBLEなデバイスを手配することに。真っ先に思いついたのが失せ物防止タグです。接続した端末と一定以上の距離が離れた場合にアラームなどでお知らせしてくれるというシロモノ。

価格的にはお手頃でよろしいのですが、どのレビューを見ても評判はいまひとつのようです。しかも、Androidをサポートする製品は皆無。端末のBLE対応が不明瞭な状態なので、これに動作の怪しいデバイスを組み合わせてはカオスな状態になりかねません。

単3電池はサイズ比較用
そこで目を付けたのがTIの"SensorTag"。デベロッパー向けの開発キットなのでエンドユーザ的な実用性はありませんが、Androidがサポートされており、品質や信頼性を心配する必要もありません。

内部には温度、湿度、圧力、加速度、ジャイロスコープ、地磁気の各センサーと、標準では何の機能も割り当てられていない2個のボタンが搭載されております。

これらはプログラマブルに使用でき、ファームウェアとして書き込むことで独自の動作が設定可能。ハードウェアのプロトタイプを作成する必要がなく、BLE対応アプリケーションの開発を効率化できる、という訳であります。で、上記写真がその現物。

肝心のアプリですが、各センサーの数値を読み取って画面に表示するサンプル的な純正アプリ"Bluetooth SensorTag"が提供されておりますのでこれを使用します。ところが、当初予定していたCM11(Android4.4.2)ベースのカスタムROMではうまく動かず、デバイスをスキャンすることさえできません。

そこで、最新のCM11(Android4.4.4)を用意し、再び"Bluetooth SensorTag"を実行してみるとデバイスのリストに"SensorTag"が登場(下図の左側)。紆余曲折あったので、ちょっとうれしい瞬間です。

そのまま画面上のConnectボタンをタップすると"SensorTag"につながり、各センサーの値を確認できました(下図の右側)。

ただ、センサーの読み取りがうまく行かずに値の部分が"*"になってしまったり、一度"SensorTag"との接続が切れると次回以降はセンサーの値が読めなくなってアプリが落ちたりする不都合が発生しました。

ちなみに前者は、アプリの設定でそのセンサーの表示をON/OFFすれば正しく表示され、後者はシステムの設定からアプリのデータを削除すればOK。

"SensorTag"に対応したアプリはいくつかPlayストアに登録されておりますが、例えば"SenseView Sensors"というアプリでは上記の不都合が発生しないため、もしかすると純正アプリの出来があまりよろしくないのかもしれません。

結果的に"Nexus7(2012)"でもBLEを使うことはできましたが、現時点では実験的な使い方にとどめておくのが良さそうな雰囲気。デバイスやアプリの充実、システムの成熟など今後に期待したいところではあります。

なお、今回はCyanogenModを使用したので事は比較的スムーズに進みましたが、ストックのROM(Android4.3以降)ではBLEが無効となっておりますのでご注意を。この場合、Playストアにある"Bluetooth Low Energy Enabler"(要root/有料)を使用すればBLEを有効にすることができます。

払い戻しまでのお試し時間を利用してほんの少しだけ触ってみましたが、ストックのAndroid4.4.4(KTU84P)にてBLEの有効化が確認できました。

ただし、TIの純正アプリ"Bluetooth SensorTag"はPlayストアに現れない状態となってしまいインストールすることができません。"SensorTag"の使用を考えている場合にはご注意くだされ。



Related Posts with Thumbnails

4 件のコメント:

匿名 さんのコメント...

こんにちは。
nexus7(2012)でLEEを購入しましたが、
nexus7 のbluetooth が on にならなくなりました。アンドロイドは4.4.4です。

約1000円が無駄になってしまいました・・・。なんなんでしょうね。

WHMaster さんのコメント...

偶然同じタイミングでハードウェア的にBluetooth機能が壊れた可能性もありますが、ソフトウェア的な不都合であるとするなら...

・アプリをアンインストールしてみる
・Nandroidバックアップがあるならリストアしてみる
・大事なデータをバックアップした後に初期化してみる

などの方法で回復する可能性があるかもしれません。アプリの代金に関しては通常の手続きでの払い戻しができない状態かと思われますので、事情を説明して払い戻しをお願いするという方法も、あるにはあります。義務ではないので期待しない方がよろしいかもしれません。

匿名 さんのコメント...

文面で急にストックの、、、と書かれていますが、意味がわかりません。

WHMaster さんのコメント...

この場合"カスタムROMに対する標準のシステム"という意味で"ストック"という言葉を使用しました。わかりづらい表現で申し訳ない。

新しい投稿へ 以前の投稿へ ホームへ