iBeaconsを触ってみた
-
Upload
atsushi-ito -
Category
Engineering
-
view
2.057 -
download
3
Transcript of iBeaconsを触ってみた
iBeaconを触ってみた@atsu666
自己紹介
• いとう あつし @atsu666
• ここで働いています(appleple)
• PHPとか書いてます
• iOSアプリは仕事で4つほど作成
アジェンダ
• iBeaconとは
• iBeaconの予備知識
• 実装&デモ
• 実例を紹介
iBeaconとは• Apple社の商標
• iOS の 位置情報サービス を拡張する新しいテクノロジー
• 位置のモニタリング、距離の測定
• BLE (Bluetooth Low Energy) 技術を使用
• Androidなどの他のデバイスでも利用可能
iBeacon端末
estimote beacons
beaconUSBstickNfind
iPhoneやmacも Beacon端末になるよ!
iBeacon端末は技摘マークを取得していない物が多いので注意!
出来る事
• iBeaconの領域(リージョン)観測【background ok】
• Ranging (距離観測)【background ng】
• Beaconより情報を取得(プッシュ通知)
対応機種
• BLE4.0 (Bluetooth Low Energy)が使用できる事
• iPhoneは4S以降
• iPadは第三世代以降(iPad2は使えない)
用語• 【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を判別
実装してみる
iOSを beacon端末に
• UUID, major, minorを指定可能
• UUIDの自動生成
https://github.com/atsu666/iOS-iBeaconSenderApp
UUIDの生成
$uuidgen 4EC85536-6654-4C18-9A8B-CAB3886D458F
ターミナルで実行
たったこれだけでbeacon端末に
iOSで iBeaconを受信
• beaconの情報を表示
• デバッグ用
https://github.com/atsu666/iOS-BeaconReceiverApp
初期化と監視
デリゲートメソッドを実装
実機でデモ
ポイント・注意点• 監視されたbeaconの配列は近い順に格納されている
• 判定できる距離は4種類(Unkown, Immediate, Near, Far)rssiやaccuracyで自前で判定は可能だが、精度がでない
• 領域観測のdidEnterRegion:メソッドなどは、すでに領域内にいる場合反応しない
iOS7.1で使いやすく
• iOS7.1以前はアプリをフォアグラウンドorバックグラウンドで動かしている必要があった
• アプリが終了していてもOK
• 電源をOFFにしてもOK
実例紹介 と名の宣伝….
basecamp NAGOYA
• ベースキャンプのイベントやアクセス情報などの表示
• iBeaconによる施設案内
• iBeaconによる自動チェックイン機能
• iBeaconでのタッチ判定によるチェックアウト機能
なぜリジェクトされたでしょう?
実際に動かしてみて• 実装は簡単
• 微妙な調整や検証が大変
• まだ、新しい技術で不安定な所がある
• シンプルな技術な分、アイデア次第でいろいろな事が出来そう
ご清聴ありがとう ございました。
追記• CoreLocationでバグがあるっぽいです。
• 確かに、うまくいかない場合があるので、もう少し様子をみた方が良さそう。
• http://stackoverflow.com/questions/22946022/ibeacon-didrangebeacons-stops-getting-called-must-reset-device-for-it-to-work/22949187#22949187