ibeacon #yidev
DESCRIPTION
yidev第十四回勉強会で発表した、iBeaconの基本と、その背後にある技術の解説資料です。詳細のTranscriptは後日blogで公開を予定しています。TRANSCRIPT
![Page 1: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/1.jpg)
iBeacon@nolili #yidev
![Page 3: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/3.jpg)
![Page 4: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/4.jpg)
次世代の!無線通信技術
![Page 5: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/5.jpg)
_人人 人人_> 結局何だ<‾Y^Y^Y^Y‾
![Page 6: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/6.jpg)
3行でまとめると
![Page 7: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/7.jpg)
Bluetooth LEを使用した!マイクロ・ロケーションサービス!
(iOSのサポートつき)
![Page 8: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/8.jpg)
![Page 9: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/9.jpg)
ID 100
ID 200
ID 300
![Page 10: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/10.jpg)
UUID
UUID
UUID
![Page 11: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/11.jpg)
UUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
![Page 12: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/12.jpg)
RegionMonitoring
Ranging
Configure
![Page 13: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/13.jpg)
RegionMonitoring
Ranging
Configure
今いる場所はUUID xxxx のBeaconのエリア?
UUID xxxx Beaconとの距離は?
そうだ、iPhoneをBeaconにしよう
![Page 14: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/14.jpg)
RegionMonitoring今いる場所はUUID xxxx のBeaconのエリア?
![Page 15: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/15.jpg)
CLLocationManager -(void)startMonitoringForRegion:(CLRegion *)region
![Page 16: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/16.jpg)
CLBeaconRegion - (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier;
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
![Page 17: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/17.jpg)
$ uuidgen7A1275A4-78B1-4A18-888E-21F550CFB0FE
![Page 18: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/18.jpg)
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLLocationManagerDelegate - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region - (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
didEnterRegion didExitRegion
![Page 19: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/19.jpg)
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLLocationManager - (void)requestStateForRegion:(CLRegion *)region !CLLocationManagerDelegate - (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region
CLRegionStateOutside
CLRegionStateInside
![Page 20: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/20.jpg)
ブロック 会場 UUID
北海道
会場A B5ECF8B9-01D7-4EAE-8D53-2486DA493F62
会場B 191D6287-2135-4538-97BF-E2FA04B8781A
会場C AB1FFEB8-4020-43C2-9509-A6D4C514ADBA
東北
会場A EB5F75E4-EF03-405F-A543-C930B53AB3D9
会場B …
会場C …
会場D …
東京 会場A …
横浜会場A …
会場B …
![Page 21: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/21.jpg)
CLBeaconRegion - (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier; !- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major identifier:(NSString *)identifier; !- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor identifier:(NSString *)identifier;
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!
CLBeaconMinorValue!
![Page 22: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/22.jpg)
Proximity UUID Major Number Minor Number
iOS 勉強会 7A1275A4-78B1-4A18-888E-21F550C
FB0FE
北海道:0
会場A:0
会場B:1
会場C:2
東北:1
会場A:0
会場B:1
会場C:2
会場D:3
東京:2 会場A:0
横浜:3会場A:0
会場B:1
![Page 23: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/23.jpg)
Proximity UUID Major Number Minor Number
iOS 勉強会 7A1275A4-78B1-4A18-888E-21F550C
FB0FE
北海道:0
会場A:0
会場B:1
会場C:2
東北:1
会場A:0
会場B:1
会場C:2
会場D:3
東京:2 会場A:0
横浜:3会場A:0
会場B:1
![Page 24: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/24.jpg)
CLBeaconRegion - (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier; !- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major identifier:(NSString *)identifier; !- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor identifier:(NSString *)identifier;
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!3
CLBeaconMinorValue!1
![Page 25: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/25.jpg)
Proximity UUID Major Number Minor Number
iOS 勉強会 7A1275A4-78B1-4A18-888E-21F550C
FB0FE
北海道:0
会場A:0
会場B:1
会場C:2
東北:1
会場A:0
会場B:1
会場C:2
会場D:3
東京:2 会場A:0
横浜:3会場A:0
会場B:1
![Page 26: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/26.jpg)
RangingUUID xxxx Beaconとの距離は?
![Page 27: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/27.jpg)
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!3
CLBeaconMinorValue!1
iOS!Device
![Page 28: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/28.jpg)
NSUUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!3
CLBeaconMinorValue!1
iOS!Device
CLLocationManager - (void)startRangingBeaconsInRegion:(CLBeaconRegion *)region; - (void)stopRangingBeaconsInRegion:(CLBeaconRegion *)region;
CLProximityUnknown,! CLProximityImmediate,! CLProximityNear,! CLProximityFar
![Page 29: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/29.jpg)
proximityUUID!major!minor!
proximity!accuracy!
rssi!
CLLocationManager - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
CLBeaconNSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!3
CLBeaconMinorValue!1
![Page 30: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/30.jpg)
CLLocationManager - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
!typedef {! CLProximityUnknown,! CLProximityImmediate,! CLProximityNear,! CLProximityFar!} CLProximity;!
proximityUUID!major!minor!
proximity!accuracy!
rssi!
CLBeacon
![Page 31: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/31.jpg)
Configureそうだ、iPhoneをBeaconにしよう
![Page 32: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/32.jpg)
Estimoteうってない!どうしよう
![Page 33: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/33.jpg)
iPhoneをビーコンにすればいいよね
![Page 34: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/34.jpg)
iOS!Device
CLBeaconRegion - (NSMutableDictionary *)peripheralDataWithMeasuredPower:(NSNumber *)measuredPower; !CBPeripheralManager - (void)startAdvertising:(NSDictionary *)advertisementData;
![Page 35: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/35.jpg)
NFCと!同様に決済機能
次世代の!無線通信技術
データ転送可能!な範囲が広い
iBeacon
![Page 36: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/36.jpg)
Bluetooth LEを使用した!マイクロ・ロケーションサービス!
(iOSのサポートつき)
![Page 37: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/37.jpg)
本プレゼンテーションは独立したものであり、Apple Inc.が認定、後援、その他承認したものではありません。!本プレゼンテーションの内容は著者が独自に調査した結果を記したものです。!社名、製品名、システム名などは一般に各社の商標または登録商標です。
![Page 38: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/38.jpg)
おまけ
![Page 39: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/39.jpg)
Passbook
![Page 40: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/40.jpg)
https://developer.apple.com/library/ios/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html#//apple_ref/doc/uid/TP40012026-CH3-SW4
![Page 41: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/41.jpg)
UUID!7A1275A4-78B1-4A18-888E-21F550CFB0FE
![Page 42: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/42.jpg)
HW specificationは見当たらないよ
![Page 43: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/43.jpg)
Bluetooth 4.0 LE
![Page 44: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/44.jpg)
Bluetooth 4.0!Low Energy
Bluetooth 2.0,3.0!Classic
キーボード・マウス!ヘッドセット
HRセンサなど!ANT+に近い!名前は似ているが別物
全部入りDualmodeのチップもあるよ
![Page 45: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/45.jpg)
Bluetooth 4.0!Low Energy
![Page 46: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/46.jpg)
Bluetooth 4.0!Low Energy
Service, Device Name, UUID…
![Page 47: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/47.jpg)
Scanner Advertiser
ADV_INDADV_IND
ADV_IND
ADV_INDADV_IND
ADV_IND
LE Advertisement Data
LE Advertisement Data
Bluetooth LE Advertisement Packet
![Page 48: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/48.jpg)
Preamble
Advertising Access Address
Header
Payload Length
AdvA
Advertising Data!…
CRC
Adv
ertis
emen
t Pac
ket
![Page 49: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/49.jpg)
Preamble
Advertising Access Address
Header
Payload Length
AdvA
Advertising Data!…
CRC
length
manufacture flag
connectable/nonconnectable
UUID Major Minor Power
Adv
ertis
emen
t Pac
ket
![Page 50: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/50.jpg)
Index データ 補足
0 0x02 ad field length
1 0x01 ad field type
2 0x06 connectable/undirect
3 0x1A ad field length
4 0xFF manufacturer data flag
5 0x4Cmanufacturer(Apple)
6 0x00
7 0x02Magic Number
8 0x15
9 0x99
proximityUUID (任意の128bitデータ) … 0x99
24 0x99
25 0x01Major Number 16bit (任意の16bitデータ Little Endian)
26 0x01
27 0x01Minor Number 16bit (任意の16bitデータ Little Endian)
28 0x01
29 0xCA Power (iBeaconから1メートル離れてiOSデバイスで計測したRSSI 2の補数)
![Page 51: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/51.jpg)
Robin Heydon Bluetooth Low Energy: The Developer's Handbook, p.85
![Page 52: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/52.jpg)
AP通信:Apple、米Apple Retail Storeで、iOS 7のiBeaconを使用した店内ガイドサービスの提供を開始 Macお宝鑑定団 blog(羅針盤) http://www.macotakara.jp/blog/apple_store/entry-21958.html
![Page 53: iBeacon #yidev](https://reader034.vdocuments.mx/reader034/viewer/2022042511/5598e36a1a28aba07d8b46ba/html5/thumbnails/53.jpg)
本プレゼンテーションは独立したものであり、Apple Inc.が認定、後援、その他承認したものではありません。!本プレゼンテーションの内容は著者が独自に調査した結果を記したものです。!社名、製品名、システム名などは一般に各社の商標または登録商標です。