SlideShare a Scribd company logo
1 of 53
Download to read offline
iBeacon
@nolili #yidev
http://gigazine.net/news/20130911-ibeacon/
次世代の!
無線通信技術
_人人 人人_

> 結局何だ<

 ̄Y^Y^Y^Y ̄
3行でまとめると
Bluetooth LEを使用した!
マイクロ・ロケーションサービス!
(iOSのサポートつき)
ID 200

ID 300
ID 100
UUID

UUID
UUID
UUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
RegionMonitoring

Ranging

Configure
RegionMonitoring

今いる場所はUUID xxxx のBeaconのエリア?

Ranging

UUID xxxx Beaconとの距離は?

Configure

そうだ、iPhoneをBeaconにしよう
RegionMonitoring
今いる場所はUUID xxxx のBeaconのエリア?
CLLocationManager
-(void)startMonitoringForRegion:(CLRegion *)region
CLBeaconRegion
- (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier;

NSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
$ uuidgen	
7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region

NSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE

didEnterRegion

didExitRegion
CLLocationManager
- (void)requestStateForRegion:(CLRegion *)region

!

CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)manager didDetermineState:
(CLRegionState)state forRegion:(CLRegion *)region

NSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLRegionStateInside

CLRegionStateOutside
ブロック

191D6287-2135-4538-97BF-

AB1FFEB8-4020-43C2-9509-

EB5F75E4-EF03-405F-A543-

会場B

…

会場C

…

会場D

横浜

会場B

会場A

東京

B5ECF8B9-01D7-4EAE-8D53-2486DA4

会場C

東北

UUID

会場A
北海道

会場

…

会場A

…

会場A

…

会場B

…

93F62

E2FA04B8781A

A6D4C514ADBA

C930B53AB3D9
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!
Proximity UUID

Major Number

Minor Number
会場A:0

北海道:0

会場B:1
会場C:2

iOS 勉強会
7A1275A4-78B1-4
A18-888E-21F550C
FB0FE

会場A:0
東北:1

会場B:1
会場C:2
会場D:3

東京:2
横浜:3

会場A:0
会場A:0
会場B:1
Proximity UUID

Major Number

Minor Number
会場A:0

北海道:0

会場B:1
会場C:2

iOS 勉強会
7A1275A4-78B1-4
A18-888E-21F550C
FB0FE

会場A:0
東北:1

会場B:1
会場C:2
会場D:3

東京:2
横浜:3

会場A:0
会場A:0
会場B:1
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
Proximity UUID

Major Number

Minor Number
会場A:0

北海道:0

会場B:1
会場C:2

iOS 勉強会
7A1275A4-78B1-4
A18-888E-21F550C
FB0FE

会場A:0
東北:1

会場B:1
会場C:2
会場D:3

東京:2
横浜:3

会場A:0
会場A:0
会場B:1
Ranging
UUID xxxx Beaconとの距離は?
NSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!
3
CLBeaconMinorValue!
1

iOS!
Device
CLLocationManager
- (void)startRangingBeaconsInRegion:(CLBeaconRegion *)region;
- (void)stopRangingBeaconsInRegion:(CLBeaconRegion *)region;

NSUUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!
3
CLBeaconMinorValue!
1

iOS!
Device

CLProximityUnknown,!
CLProximityImmediate,!
CLProximityNear,!
CLProximityFar
CLLocationManager
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region

CLBeacon

NSUUID!
1275A4-78B1-4A18-888E-21F550CFB0FE
CLBeaconMajorValue!
3
CLBeaconMinorValue!
1

proximityUUID!
major!
minor!
proximity!
accuracy!
rssi!
CLLocationManager
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region

CLBeacon
!

typedef {!
CLProximityUnknown,!
CLProximityImmediate,!
CLProximityNear,!
CLProximityFar!
} CLProximity;!

proximityUUID!
major!
minor!
proximity!
accuracy!
rssi!
Configure
そうだ、iPhoneをBeaconにしよう
Estimoteうってない!どうしよう
iPhoneをビーコンにすればいいよね
CLBeaconRegion
- (NSMutableDictionary *)peripheralDataWithMeasuredPower:(NSNumber *)measuredPower;

!

CBPeripheralManager
- (void)startAdvertising:(NSDictionary *)advertisementData;

iOS!
Device
NFCと!

データ転送可能!

同様に決済機能

な範囲が広い

次世代の!
無線通信技術

iBeacon
Bluetooth LEを使用した!
マイクロ・ロケーションサービス!
(iOSのサポートつき)
本プレゼンテーションは独立したものであり、Apple Inc.が認定、後援、その他承認したものではありません。!
本プレゼンテーションの内容は著者が独自に調査した結果を記したものです。!
社名、製品名、システム名などは一般に各社の商標または登録商標です。
おまけ
Passbook
https://developer.apple.com/library/ios/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html#//apple_ref/doc/uid/TP40012026-CH3-SW4
UUID!
7A1275A4-78B1-4A18-888E-21F550CFB0FE
HW specificationは見当たらないよ
Bluetooth 4.0 LE
Bluetooth 4.0!
Low Energy

HRセンサなど!
ANT+に近い!

Bluetooth 2.0,3.0!
Classic

キーボード・マウス!
ヘッドセット

名前は似ているが別物

全部入りDualmodeのチップもあるよ
Bluetooth 4.0!
Low Energy
Service, Device
Name, UUID…

Bluetooth 4.0!
Low Energy
Bluetooth LE Advertisement Packet
Scanner

LE Advertisement Data

Advertiser

ADV_IND
ADV_IND
ADV_IND

LE Advertisement Data

ADV_IND
ADV_IND
ADV_IND
Preamble

Advertisement Packet

Advertising Access Address
Header
Payload Length
AdvA

Advertising Data!
…

CRC
Preamble

Advertisement Packet

Advertising Access Address
Header
Payload Length
AdvA

length
Advertising Data!
…

manufacture flag
connectable/nonconnectable
UUID

CRC

Major

Minor

Power
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

0x4C
manufacturer(Apple)

6

0x00

7

0x02
Magic Number

8

0x15

9

0x99

…

0x99

24

0x99

25

proximityUUID (任意の128bitデータ)

0x01
Major Number 16bit (任意の16bitデータ Little Endian)

26

0x01

27

0x01
Minor Number 16bit (任意の16bitデータ Little Endian)

28

0x01

29

0xCA

Power (iBeaconから1メートル離れてiOSデバイスで計測したRSSI 2の補数)
Robin Heydon Bluetooth Low Energy: The Developer's Handbook, p.85
AP通信:Apple、米Apple Retail Storeで、iOS 7のiBeaconを使用した店内ガイドサービスの提供を開始
Macお宝鑑定団 blog(羅針盤) http://www.macotakara.jp/blog/apple_store/entry-21958.html
本プレゼンテーションは独立したものであり、Apple Inc.が認定、後援、その他承認したものではありません。!
本プレゼンテーションの内容は著者が独自に調査した結果を記したものです。!
社名、製品名、システム名などは一般に各社の商標または登録商標です。

More Related Content

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

iBeacon #yidev