2015年12月14日月曜日

Nexus5 で、bluetooth LE の advertising を送出させる方法

経過:
 思うところあって、いわゆる「Beacon」を使いたくなった。調べていくと、bluetooth LE の advertising という機能を使っているらしい。iOS は 7 以降で使え、Android は 4.3 以降で受信、5.0 以降で送信に対応とあった。
 手元に Android 6.0 までアップデートした Nexus5 があったので、いろいろと試したのだが、どうもうまくいかない。
 
 さらに調べていくと、Android L の途中までは動いていたようなのだが、2014/10 の中頃のバージョンから動かなくなってしまったらしい。
 https://code.google.com/p/android-developer-preview/issues/detail?id=1570
 
 で、google の中の人から「Nexus 4/5/7 は、チップセットの問題でサポートしないよ」との書き込みもあった。Nexus って Android の公式マシンなのに ><
 https://code.google.com/p/android-developer-preview/issues/detail?id=1570#c52
 
 ログを最後の方まで調べていくと、Nexus 5 + Android 5.1.1 で動かすためのパッチを発見!!
 https://code.google.com/p/android-developer-preview/issues/detail?id=1570#c104
 
 ということで、ダメ元で試してみたら、advertising の送出に成功した。

 以下に、備忘録を兼ねて、メモを公開。


※注意
 このページの情報が必要な方には改めて説明の必要もないと思いますが、念のため...

 ・以下の手順を実行すると
  メーカー保証は受けられなくなります
  データは全部消えます
  文鎮化するリスクがあります
  
 ・手順の最後にある、パッチファイルを置くディレクトリは、あえて書きません。最初にディレクトリを探してから始めた方が無難です。

 何かトラブルがあっても、私の方では、なんの保証もできません。

手順:
 Nexus 5 のブートローダーアンロックを解除
 http://gintoki-note.blogspot.jp/2014/02/nexus5nexus-root-toolkit.html
 
 ここから、OS のイメージ(LMY48B)を取ってくる
 https://developers.google.com/android/nexus/images
 
 Nexus Root Toolkit を使って、PC から Android に LMY48B を書き込む
 http://gintoki-note.blogspot.jp/2014/02/nexus5nexus-root-toolkit.html
 
 Nexus 5 を root 化する
 参考にしたページが見つからず。Nexus Root Toolkit でいけます。
 
 パッチをダウンロード
 https://code.google.com/p/android-developer-preview/issues/detail?id=1570#c104
 
 パッチを当てる
 無償のファイラーソフトではうまくいかない模様。Solid Explorer のお試し期間を使った
 
動作確認:
 以下のソースを実行すると、
 https://code.google.com/p/android-developer-preview/issues/detail?id=1570#c51
 
 別の Android 上で動いている TI の BLE SensorTag 上に表示されます
 https://play.google.com/store/apps/details?id=sample.ble.sensortag&hl=ja
 
 ちなみに、BLE SensorTag のソースファイルは、こちらにあります
 https://github.com/StevenRudenko/BleSensorTag

0 件のコメント:

コメントを投稿