22. 22
共通仕様
Bluetooth Core Specification Supplement (CSS) v5 に準拠
https://www.bluetooth.org/ja-jp/specification/adopted-specifications
下記のPDU(Protocol Data Unit)データタイプが必須
・The Complete List of 16-bit Service UUIDs
Eddystone Service UUID = 0xFEAA
「iOSのバックグラウンドスキャンを許可するために含める」との記述あり
・The Service Data
上記UUIDに続く各種データフレーム
23. 23
実例
① 02 01 06
② 03 03 AAFE
③ 13 16 AAFE10D802676F6F2E676C2F52304B533731
0201060303AAFE1316AAFE10D802676F6F2E676C2F52304B533731…
データタイプごとに分解すると
データバイト長
データタイプ
あるEddystone-URLのデータ(Hex)
データタイプの定義
01:Flags
03:Complete List of 16-bit Service Class UUIDs
16:Service Data
EddystoneのService UUID
各フレームフォーマットに則ったデータ
24. 24
iBeaconの場合
① 02 01 06
② 1A FF 4C000215
B9407F30F5F8466EAFF925556B57FE6D
FBA9
08F9
B6
0201061AFF4C000215B9407F30F5F8466EAFF925556B57FE6DFBA9
08F9B6…
あるiBeaconのデータ(Hex)
データタイプの定義
01:Flags
FF:Manufacturer Specific Data
Appleの独自仕様による
iBeaconのデータフレーム
25. 25
Eddystone-UID
Byte offset Field Description
0 Frame Type Value = 0x00
1 Ranging Data Calibrated Tx power at 0 m
2 - 11 NID[0] - [9] 10-byte Namespace
12 - 17 BID[0] - [5] 6-byte Instance
18 RFU Reserved for future use, must be0x00
19 RFU Reserved for future use, must be0x00
データフレーム
Tx power:0m時の送信出力( iBeaconのRSSI)
Namespace:名前空間、集合体のID( iBeaconのUUID)
Instance:実体のID( iBeaconのMajor, Minor)
26. 26
Eddystone-URL
Byte offset Field Description
0 Frame Type Value = 0x10
1 TX Power Calibrated Tx power at 0 m
2 URL Scheme Encoded Scheme Prefix
3+ Encoded URL Length 0-17
データフレーム
Decimal Hex Expansion
0 0x00 http://www.
1 0x01 https://www.
2 0x02 http://
3 0x03 https://
URL Scheme
URLがフレーム長に納まらない場合、
goo.gl等の短縮URLサービスを使用する
27. 27
Eddystone-TLM
データフレーム
Byte offset Field Description
0 Frame Type Value = 0x20
1 Version TLM version, value = 0x00
2 - 3 VBATT[0] - [1] Battery voltage, 1 mV/bit
4 - 5 TEMP[0] - [1] Beacon temperature
6 - 9 ADV_CNT[0] - [3] Advertising PDU count
10 - 13 SEC_CNT[0] - [3] Time since power-on or reboot
このフレームのみ、Versionが存在する
改変の可能性が高い?
42. 42
Proximity Beacon API
・REST APIで提供
API例:
・登録できるビーコンのタイプは3種
Eddystone, iBeacon, AltBeacon
※ただし、Nearbyで取得できるのはEddystoneのみ
・APIの認証(Google Developerアカウント)に
紐付いてビーコンが登録される
GET https://proximitybeacon.googleapis.com/v1beta1/beacons
43. 43
Proximity Beacon API
・登録情報(ビーコンリソース定義)
Field name Description
beaconName ビーコンの名称
advertisedId ビーコンタイプ(Eddystone, iBeacon,..) & ID
status 有効、無効、廃止
placeId Google Places API の Place ID
latLng 緯度経度
indoorLevel Google Maps API 建物の階
expectedStability 固定、稀に移動、頻繁に移動、常に移動
description 最大140文字のフリーテキスト
properties ビーコンデバイスの情報(key-value)