新Nexus7でSDKのBLEサンプルを動かしてみた

BLE(Bluetooth Low Energy)が流行ってきました。
実は仕事でも案件があるので、色々調べてるのでその結果をまとめておきます。



スマートフォンのBLE対応状況

1、iPhone
CoreBluetoothライブラリが提供されているのでこれを使って実装が出来ます。
対応機種はiPhone4S以降です。

以下のサイトが良くまとまっているので一読をお勧めします。
iPhoneアプリでBluetooth通信を使うための基礎知識
http://www.atmarkit.co.jp/fsmart/articles/ios_sensor04/01.html

サンプルは以下が参考になります。
BTLE Central Peripheral Transfer
http://developer.apple.com/library/ios/#samplecode/BTLE_Transfer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40012927

2、Android
直近でリリースされた4.3から標準対応しました。
API 18から対応になります。
詳細は以下を参照して下さい。
http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

BLEのサンプルは以下にあります。
\samples\android-18\legacy\BluetoothLeGatt

対応機種は現状、4.3と同時に発表されたNexus7(2013)のみです。

職場に旧Nexus7とNexus10があります、4.3アップデートが振ってきたので上記のBluetoothLeGattをインストールしてみました。
しかし、起動すると「BLE is not supported」っと表示されます。
ソースファイルを確認するとonCreateでBLE対応しているかチェックしてますね。ここで引っかかっています。

画像


てっきりN7、N10ともBLE対応していると思い込んでいたのです。

えっとここから先はTwitter上で教えていただいた事を記載しておきます、あくまでご参考までに
Wikipediaによると
http://ja.wikipedia.org/wiki/Nexus_7
Bluetooth 4.0+LE/EDR
ハードウエア欄には
Bluetooth 4.0+HS (Broadcom BCM4330とAzureWave AW-NH665)
となっています。

Broadcomの資料によると、あくまで「Bluetooth 4.0+HS & FM Transceiver
http://ja.broadcom.com/products/Wireless-LAN/802.11-Wireless-LAN-Solutions/BCM4330

4.0+LEとは書いてないんですね。
@8796nさん情報ありがとうございました。

しかし、Google Play上に以下のソフトがあります。
Bluetooth Low Energy Enabler
https://play.google.com/store/apps/details?id=com.manuelnaranjo.btle.installer2

This application will let you enable Bluetooth Low Energy API on Nexus 7, Nexus 10 and Galaxy Nexus on top of a running 4.3 Android.

N7, N10, GN(4.3が動作している)のが対象のようです。要Rooted
@sakiraさん情報ありがとうございました。

ハードウエア的には対応しているのかもしれませんが定かではありません。
ということで通常の方法でBLE対応しようとすると、現状ではNexus7(2013)のみになりますね。

(備考)
4.3より前の機種ですと、ベンダーが独自にBLE対応している場合があります。
HTC、サムスン、モトローラなどです。独自に実装してSDKを提供しています。
しかし、かなり機種が限定されますし、色んな掲示板で動かない動かないって書き込みがあります。
日本語で書かれたブログで今のところ成功事例としては伊勢 シンさんのMotorola RAZR IS12Mの例ぐらいしかヒットしません。
Motorola RAZR IS12MでBluetooth LEを使おうとしてる
http://iseebi.hatenablog.com/entry/2013/03/04/021835



新Nexus7も8月末に日本で発売されますし、素直に新しいN7を使って4.3で作業した方が良いと思います。
ということで先週末にB&Hでポチりました(長い前振り)

本日届いたので、早速BLE対応確認
画像


1、サンプルインストール
BluetoothLeGattをインストールして起動しましたが、エラーにはなりません。そりゃそうですよね。

2、Scanしてみる
BluetoothLeGattはBLEでいうCentral側に当たります、対向の機器(Peripheralといいます)がないと起動しただけで寂しい感じです。
BTLE Central Peripheral TransferをインストールしたiPhone4Sが手元にあるので、こいつをPeripheralとして動かします。
BluetoothLeGatt側にUnkonw deviceと表示されますがScan成功です。

画像


GoogleI/O2013のときの発表だとBLEでAndroid同士は通信できないってことらしいです。
https://www.evernote.com/shard/s18/sh/85771992-99f9-40c1-a43f-0ee81f4f0b0f/4a53db005152a40157d076fa81ff9b3f
すれちがったーみたいなのは無理ってことですかね?
最近はBLE対応の機器が増えてきてるのでそういうのと繋いで、色々するのが本来的な用途のようです。


この記事へのコメント

この記事へのトラックバック