読者です 読者をやめる 読者になる 読者になる

Motorola RAZR IS12MでBluetooth LEを使おうとしてる

2013/04/27(Sat) 通信できました:Motorola RAZR IS11MでBluetooth LEが使えた - backyard of 伊勢的新常識

Konashiという簡単にBluetooth LEを使えるようになるボードが発売されました。
iPhoneで使うのを想定しているので、SDKもあるのですが、それではすでに使われている方もいてなんもおもしろくないので、Androidで使おうとしました。

f:id:iseebi:20130304015336j:plain

これを見越して、Lumia 820を買うときにIS12TをMotorola RAZR IS12Mにチェンジ*1していました。この端末にはNFCが搭載されていない代わりに、Bluetooth 4.0が搭載されています。

Motorola の BLE API

AndroidにはまだBluetooth LEの公式なSDKはなく、BLEは端末メーカーの独自実装になっています*2

RAZR向けには、Motorolaの開発者向けページに、Addon SDKがあります。

すでにRAZRはICSアップデート済みだったので、Motorola ICS R1のSDKをダウンロードしました。ダウンロードして展開されたフォルダ Motorola_ICS_R1 を AndroidSDK/add-ons へコピーします。

実際にプロジェクトを組み込んでみる

まず、Motorola_ICS_R1/libs フォルダにあったBluetoothGatt.jar と BluetoothGattService.jar を組み込みました。

f:id:iseebi:20130304020825p:plain

また、BLE_profile.zip を展開して、src に配置しました。

f:id:iseebi:20130304021046p:plain

次に、AndroidManifest.xmlのuses-permissionに android.permission.BLUETOOTHandroid.permission.BLUETOOTH_ADMIN を設定しました。

次に、デバイスを探索するコードを書きます。

ここまでで一度ビルドをかけておきます。BLE_profile.zip から取り込んだ aidl ファイルからJavaファイルが生成されます。*3

ここから先は次回以降に。

Konashi自体について

USB給電できるのは、デバッグ用途としてかなり嬉しいです。また、ボタン電池運用したい場合は引っこ抜くために爪楊枝を持ち歩くことをおすすめします。

*1:GALAXY Tabの回線が2年縛り満期迎えていたのでMNP。一括0円+2万ヨドバシポイントごちそうさまでした。

*2:ただ、MotorolaSDKで入れるクラスはcom.android名前空間にあり、将来的には公式のSDKでもサポートあるのかも...という感じです

*3:ここで1週間くらいハマった