iBeaconsを触ってみた

27
iBeacon触ってみた @atsu666

Transcript of iBeaconsを触ってみた

Page 1: iBeaconsを触ってみた

iBeaconを触ってみた@atsu666

Page 2: iBeaconsを触ってみた

自己紹介

• いとう あつし @atsu666

• ここで働いています(appleple)

• PHPとか書いてます

• iOSアプリは仕事で4つほど作成

Page 3: iBeaconsを触ってみた

アジェンダ

• iBeaconとは

• iBeaconの予備知識

• 実装&デモ

• 実例を紹介

Page 4: iBeaconsを触ってみた

iBeaconとは• Apple社の商標

• iOS の 位置情報サービス を拡張する新しいテクノロジー

• 位置のモニタリング、距離の測定

• BLE (Bluetooth Low Energy) 技術を使用

• Androidなどの他のデバイスでも利用可能

Page 5: iBeaconsを触ってみた

iBeacon端末

estimote beacons

beaconUSBstickNfind

iPhoneやmacも Beacon端末になるよ!

Page 6: iBeaconsを触ってみた

iBeacon端末は技摘マークを取得していない物が多いので注意!

Page 7: iBeaconsを触ってみた

出来る事

• iBeaconの領域(リージョン)観測【background ok】

• Ranging (距離観測)【background ng】

• Beaconより情報を取得(プッシュ通知)

Page 8: iBeaconsを触ってみた

対応機種

• BLE4.0 (Bluetooth Low Energy)が使用できる事

• iPhoneは4S以降

• iPadは第三世代以降(iPad2は使えない)

Page 9: iBeaconsを触ってみた

用語• 【proximity UUID】proximity Universally Unique Identifer ソフトウェアを一意に識別する為のID 128bit

• 【major】同一 proximity UUIDを持つiBeaconの識別子 16bit符号無整数

• 【minor】同一 UUID, majorを持つiBeaconの識別子 16bit符号無整数

• 【accuracy】電波の精度

• 【rssi】電波の強度

• 【region】 領域、地域など

• 【ranging】距離の測定

UUID, major, minor でbeaconを判別

Page 10: iBeaconsを触ってみた

実装してみる

Page 11: iBeaconsを触ってみた

iOSを beacon端末に

• UUID, major, minorを指定可能

• UUIDの自動生成

https://github.com/atsu666/iOS-iBeaconSenderApp

Page 12: iBeaconsを触ってみた

UUIDの生成

$uuidgen 4EC85536-6654-4C18-9A8B-CAB3886D458F

ターミナルで実行

Page 13: iBeaconsを触ってみた

たったこれだけでbeacon端末に

Page 14: iBeaconsを触ってみた

iOSで iBeaconを受信

• beaconの情報を表示

• デバッグ用

https://github.com/atsu666/iOS-BeaconReceiverApp

Page 15: iBeaconsを触ってみた

初期化と監視

Page 16: iBeaconsを触ってみた

デリゲートメソッドを実装

Page 17: iBeaconsを触ってみた
Page 18: iBeaconsを触ってみた

実機でデモ

Page 19: iBeaconsを触ってみた

ポイント・注意点• 監視されたbeaconの配列は近い順に格納されている

• 判定できる距離は4種類(Unkown, Immediate, Near, Far)rssiやaccuracyで自前で判定は可能だが、精度がでない

• 領域観測のdidEnterRegion:メソッドなどは、すでに領域内にいる場合反応しない

Page 20: iBeaconsを触ってみた

iOS7.1で使いやすく

• iOS7.1以前はアプリをフォアグラウンドorバックグラウンドで動かしている必要があった

• アプリが終了していてもOK

• 電源をOFFにしてもOK

Page 21: iBeaconsを触ってみた

実例紹介 と名の宣伝….

Page 22: iBeaconsを触ってみた

basecamp NAGOYA

Page 23: iBeaconsを触ってみた

• ベースキャンプのイベントやアクセス情報などの表示

• iBeaconによる施設案内

• iBeaconによる自動チェックイン機能

• iBeaconでのタッチ判定によるチェックアウト機能

Page 24: iBeaconsを触ってみた

なぜリジェクトされたでしょう?

Page 25: iBeaconsを触ってみた

実際に動かしてみて• 実装は簡単

• 微妙な調整や検証が大変

• まだ、新しい技術で不安定な所がある

• シンプルな技術な分、アイデア次第でいろいろな事が出来そう

Page 26: iBeaconsを触ってみた

ご清聴ありがとう ございました。

Page 27: iBeaconsを触ってみた

追記• CoreLocationでバグがあるっぽいです。

• 確かに、うまくいかない場合があるので、もう少し様子をみた方が良さそう。

• http://stackoverflow.com/questions/22946022/ibeacon-didrangebeacons-stops-getting-called-must-reset-device-for-it-to-work/22949187#22949187