Androidとi beacon(ble)

17,219 views

Published on

0 Comments
38 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
17,219
On SlideShare
0
From Embeds
0
Number of Embeds
1,329
Actions
Shares
0
Downloads
159
Comments
0
Likes
38
Embeds 0
No embeds

No notes for slide

Androidとi beacon(ble)

  1. 1. AndroidとiBeacon(BLE) Android Night 日本Androidの会 2013/12/20(金)
  2. 2. アプセサリーとは 周辺機器を意味するアクセサリと、そのアクセサリと接続する アプリケーションの2つの単語を組み合わせた造語 Accessory + application = Appcessory スマートホン(+アプリ)とアクセサリーを繋ぐ → スマートホンはさらにネットワークでクラウドに繋がる 日本語でググっても出てこないので日本では一般的ではない? appcessoryでいっぱいヒット → 海外では盛り上がっている KickStarterではいっぱい出てる → 既にネタ切れ感? AndroidはADKからの流れ、Appleの対応が大きい
  3. 3. アプセサリーの例 Findme系キーホルダー Fitbit http://www.fitbit.com/jp/home Wahoo http://www.wahoofitness.com/ Sphero2 http://www.gosphero.com/ja/ NIKE、時計(Smart Watch)、自転車用 KickStarter系 http://www.kickstarter.com/projects/search?utf8=%E2%9C%93&term=bluetooth
  4. 4. アプセサリークラブ始めました ・FBのグループ作成 https://www.facebook.com/groups/424957874297093/ ・勉強会開催(11/14) 福岡(九州)をBLEの開発拠点にしたい(ゲーム、Webから参入) ハッカソン、勉強会のイベントなどを予定しています チップモジュールメーカーとの交流(Braveridgeさんとか) 他の地区との交流(岐阜、会津)
  5. 5. スマートフォンの役割 スマートフォンがコア(ハブ)になる • ユーザーインターフェイス(操作、表示) • 計算処理、データベース • 3Gを含めたネットワーク → クラウドのサービスと連携 アプセサリー スマートフォン Bluetooth Smart キャリヤ& プロバイダー 3G回線 インターネット SNSでのデータ共有 アドバイス通知 ポイント付加 AndroidではADK、Arduinoなどのフィジカルコンピューティングからの流れ
  6. 6. アプセサリーをめぐる環境 • Bluetooth 4.0(BLE) → Apple iPhone4S以降で採用 (Androidは4.3から) *NFCはAndroid系のみ • 通信チップの低価格化 • スマートフォン、タブレットの浸透 • ハードウェアのオープンソース化 → Makersの流行 Startup系クラウドファンディング→ 資金集め、制作バックアップ 個人やベンチャー系企業がアプセサリーを作る時代 Webサービスのベンチャーがサービスの一環で作成
  7. 7. Bluetooth Low Energy(BLE) シングルモード(Bluetooth Classicとの互換性無し) 低消費電力(ボタン電池で駆動) 高速接続(3チャンネルでアドバタイジング 6ms) データは37チャンネルで送信(周波数ホッピング) 小型化(1チップの無線モジュール+センサ) 少ないデータを低速で 低速(305kbps) 短いパケット47オクテット(データ部 37オクテット) ・ 新規格Bluetooth4.1への移行も簡単(ファーム書換のみ 技適は?) • • • • • • Profile Service Service Characteristic Characteristic Characteristic Characteristic Application Profile GAP GATT ATT SM L2CAP 技適領域
  8. 8. BLEプロファイル • • • • • • • • • • • • • • アラート通知 (Alert Notification)。 血圧計 (Blood Pressure)。 自転車のパワーメータ (Cycling Power)。 自転車の速度とペダル回転数 (Cycling Speed and Cadence)。 デバイスの発見 (Find Me) 血糖値 (Glucose) 体温計 (Health Thermometer) 心拍 (Heart Rate) 入力装置 (HID OVER GATT) 位置と経路誘導 (Location and Navigation) 電話の警告(Phone Alert Status) 近接 (Proximity) ランナーの速度とペース (Running Speed and Cadence) 時刻 (Time) Bluetooth SIGに申請すれば採用される → 早いもの勝ち!
  9. 9. Bluetooth Classicとの違い • • • • 接続台数が無限大(Classicは7台まで) ペアリングが無くても良い(セキュアな通信時には必要) 低速( 305kbps ) オーディオなどのストリーム系データ通信は向かない
  10. 10. BLEの仕組み • セントラル - ペリフェラル Central Peripheral Advertise Connect Connected Data Transfer AdvertiseでService UUID通知 • 低速(305kbps) 短いパケット47オクテット(データ部 37オクテット) • アドバタイザパケット(チャンネル37,38,39) MFi不要(iPhone) • プロトコルサービス(プロファイル) Bluetooth SIGに企業が提出→承認
  11. 11. BLEモジュール コスト、技適の問題 → 安価で技適取得済みのモジュール • BlueGiga(BLE112) • Laird(BL600) • アプリックス • Braveridge @1000ぐらい コアチップメーカー TI( CC2541)とNordic Semiconductor( nRF51) KONASHI、 REBLE112WB(モジュールボード)
  12. 12. BLEモジュールのメリット • • • • @1000円ぐらい CPUコアチップ 8051,ARM + メモリも豊富 GPIO、アナログ入力、PWM、I2C、SPIなどIO盛りだくさん Basicで制御(+ATコマンド) → Arduino感覚で制御可能 センサとボタン電池付ければOK →これ1個で十分じゃないの?
  13. 13. Braveridgeのモジュール BLEモジュール+センサ ・ BVMCN5102-Ap_AX ・ BVMCN5102-Ap_E ・ BVMCN5102-Ap_XGM 3軸加速度センサー 温度/湿度センサー/気圧センサー 加速度/ジャイロ/磁気の9軸センサー アプセサリーとして基本的なハードは実装済み → ファームに独自の機能を追加するのみ センサ制御ライブラリ供給、 nRF51822 SDK供給 http://www.nordicsemi.com/jpn/node_206/node_305/Product-Related-News/ODM-BraveridgenRF51822-Bluetooth-low-energy
  14. 14. iBeaconについて • • • • Appleの独自規格 iOS7より (Android4.4でも実装可能) アドバタイズメント・パケット(ブロードキャスト送信)を利用 トリガ(領域入出)でiOSアプリの制御が可能 Passbookとの連携(iOS) Passbookに入れたクーポンが使える店舗に近づくと、 「クーポン使えます」と通知
  15. 15. iBeaconの情報 アドバタイズメント・パケットにIDを埋め込む データ構成 UUID, major, miner, RSSI(電波強度) UUID,major,minerで位置を特定する UUID(会社ID)、major(店舗)、miner(テーブル) 電波強度で近接を検出(自由空間伝搬損失より距離に換算) iOSでは(Far,Near,Imidiateの3種類) →ざっくりとした情報でしかない(人、周辺環境で変化する)
  16. 16. iBeacon機器 estimote http://estimote.com/?gclid=CMnU-ODY4boCFUQgpQodHnYAIg 壁とかテーブルに置く 技適通してない orz その他 AKAbeacon(G.Clue)
  17. 17. AndroidとBLE 4.3から対応 KitKat(4.4) (それまでメーカーが独自で実装) 対応機種 Nexus7(2013)、Nexsus4、Nexus5(2013/11現在) →今後の機種で増えていくと予想されます Centralのみ(発信できない為Android端末間通信は出来ない) API仕様 http://developer.android.com/guide/topics/connectivity/bluetooth-le.html サンプルプログラム(SDKのダウンロードで取得) ¥samples¥android-18¥legacy¥BluetoothLeGatt)
  18. 18. AndroidでiBeacon 簡単に実装できます AndroidManifest.xml <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/> BluetoothManager からmBluetoothAdapterを取得 mBluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = mBluetoothManager.getAdapter(); 取得時のコールバック関数を登録してスキャン開始 mBluetoothAdapter.startLeScan(mLeScanCallback); コールバックで判定 private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi,byte[] scanRecord) { //UUID,major,miner(scanRecordより)、RSSIの判定処理 } }
  19. 19. iBeaconデータ判定 iBeacon アドバタイズメント・パケット(コールバックの戻り値より判定) 02 01 1A フラグ 1A FF AD Type ここまでは固定 4C 00 会社ID(Apple) 02 15 ?? ID UUID(16バイト) Major(4バイト) Minor(4バイト) RSSI 電波強度(dB) *Estimoteの場合UUID= B9407F30-F5F8-466E-AFF9-25556B57FE6D 距離の近似計算(ほんとうにざっくりとした…) 1m離れたときの電波強度-59dB(基準----本当はキャリブレーション必要) 10m離れると-20dB減衰 距離 = 1 - (RSSI+59)*10/20
  20. 20. スキャンした結果 Estimoteをスキャンした 装置名 UUID、Major、Miner RSSI が取得できた
  21. 21. iBeacon注意点 受信待機状態ではスマートフォンの結構電力消費します どこでアプリを起動させるかがポイント(常時ONはムリ) iPhone5以降は消費しないという話も(未確認) 距離はあくまでも目安 エリア内にいるかの判定、30cmの出し入れ判定が妥当? 店舗に入る → お店情報 商品に近づく → クーポン発行 UUIDが偽装できる? → セキュリティ的にどうなのよ
  22. 22. スマフォアプリ+サービスの可能性 • クラウドサービスとの連携 • ハードウェアのオープンソース化 • iOSとAndroidで対応可能(NFCとの違い) 自前のサービスとの連携 API公開、SDK配布 OAuth + RESTful APIでアクセス NIKE http://developer.nike.com/ Fitbit http://dev.fitbit.com/
  23. 23. まとめ • • • • iBeacon… 微妙 大丈夫かな?? BLE話題的には来年が旬(日本 海外では2年前から) アイデア次第で早い者勝ち チップが安くなるのでハード屋以外も手出し易くいなる →アプリケーション、サービス開発側からのアプローチ • 確実に浸透 白物家電に標準搭載? ベンチャー系企業のチャンス (大手の開発スケジュール、フットワークでは遅すぎる) 福岡(九州)から世界に向けて あっと驚く製品、アプリをリリースしようぜ!

×