View
543
Download
0
Category
Preview:
Citation preview
Nearablesthe Eddystone Quest
Follow @thedamfr
With iBeacon, Apple is going to dump on NFC and embrace the internet of things
Hari Gottipati - GIGAOM
Unexpected behaviour
Going under the hood
Bluetooth LE1
Bluetooth is a Data transfer stack + Lightweight
+ Compact + Easy to embed
+ Connected (sim. to TCP-Sockets)
Bluetooth Low Energy is an additional layer allowing punctual
communication #Paquets
#HTTP-Style
Let speak about GATT
GATT Generic Attribute Profile
GATT is a Client-Serveur arch.
GATT is a Client-Serveur arch.
Client begin request, get the value of an attribute, write an attribute
GATT is a Client-Serveur arch.
Client begin request, get the value of an attribute, write an attribute
Server complete request, send the value, edit the values
Smartphone Object
Smartphone Object
Client Server
Attributes
Each attribute is identified with a UUID
There is 3 kind of attributes
Characteristics
A characteristic represent a value. For example, the value measured by a sensor
An accelerometer will expose a Characteristic for each axis
You can : + Read a Characteristic + write a Characteristic.
+ receive notification or indication from a Characteristic
Descriptors
A Characteristic can expose multiple Descriptors. Descriptors should give additional information about the
Characteristic For example, the measurement unit.
For a temperature : °C,°F, K.
Descriptors
You can : + Read a Descriptor + Write a Descriptor
+ read all Descriptors of a Characteristic
Services
A Service is a collection of attributes It can contains : + Descriptors
+ Characteristics + other Services (called Secondary Services)
You can : + Discover all primary services
+ Discover all attributes of a service
SO WHAT ?
SO WHAT ?
Discovery2
Client Server
Server
An adversting PDU specify an identifier, a pairing protocol and more
Serveur
Advertising Mode is used when a device wants to let an other
know about its proximity
Bluetooth advertising is a method of mobile advertising that utilises bluetooth technology to deliver advertisements to mobile devices such as cellular phones.Wikipedia - 2008
Bluetooth advertising transmitters are set up to detect bluetooth devices within transmission range. When a device is detected, the advertising transmitter sends out a message asking the recipients if they would like to view a promotional text message, video clip, animation or even a business card. This way of advertising is very efficient and very cheap at the same time. One test of such a service at railway stations detected 87,000 phones over a period of two weeks and achieved a response of 15%.[1]This form of advertising has been used to deliver ads for a car in the London subway system[2] as well as for United States Navy Reserve recruitment.
Wikipedia - 2008
Bluetooth advertising transmitters are set up to detect bluetooth devices within transmission range. When a device is detected, the advertising transmitter sends out a message asking the recipients if they would like to view a promotional text message, video clip, animation or even a business card. This way of advertising is very efficient and very cheap at the same time. One test of such a service at railway stations detected 87,000 phones over a period of two weeks and achieved a response of 15%.[1]This form of advertising has been used to deliver ads for a car in the London subway system[2] as well as for United States Navy Reserve recruitment.
Wikipedia - 2008
Bluetooth advertising transmitters are set up to detect bluetooth devices within transmission range. When a device is detected, the advertising transmitter sends out a message asking the recipients if they would like to view a promotional text message, video clip, animation or even a business card. This way of advertising is very efficient and very cheap at the same time. One test of such a service at railway stations detected 87,000 phones over a period of two weeks and achieved a response of 15%.[1]This form of advertising has been used to deliver ads for a car in the London subway system[2] as well as for United States Navy Reserve recruitment.
Wikipedia - 2008
iBeacon
An iBeacon Device is using advertising mode
with a specific frame
iBeacon PacketExemple
fb0b57a2-8228-44 cd-913a-94a122ba1206 Major 1 Minor 2 twPower 90
UUID Unique Identifier for a group of beacon, a region
Major A value identifying a group of beacons
Minor A value identifying this specific Device
txPower Signal strength at 1m
Understanding Region
A Ble Device like your smartphoneAct as a scanning device for a very short period
At the end of the periodIf no advertising frame has been received
The scanning device is said out of the Region
Understanding Region
Comprendre la notion de Région
A la fin du Scan, si les paquets d'advertising d'une beacon n'ont pas été détectés, on peut
dire qu'on est Hors-Région
A la fin du Scan, si les paquets d'advertising d'une iBeacon ont été détecté, on est dans la région et l'on peut mesurer la puissance du
signal pour estimer la distance
At the end of the periodIf no advertising frame has been received
The scanning devis is said out of the Region
Understanding Region
At the end of the periodIf no advertising frame has been received
The scanning device is said out of the Region
If a frame is detected, the scanning device is said in the Region And we can measure the signal strength
to range it
Understanding Region
What sucks with iBeacon ?
Not an open-source specification
What sucks with iBeacon ?
Not an open-source specification
Interoperability require reverse engineering
What sucks with iBeacon ?
Solution ?
AltBeacon The Open and
Interoperable Proximity Beacon Specifica:on
Design Goals
• Provide a concise proximity adver3sing message for interchange of proximity informa3on between adver3sers and scanners
• Maintain compliance with Bluetooth Specifica3on Version 4.0 by u3lizing defined adver3sing PDU and adver3sing data structures
• Encourage adop3on by all interested par3es by avoiding any obvious implementa3on restric3ons
• Enable the implementa3on of vendor-specific features, if possible
Advertising PDU
Content
AD LENGTH Length of the type and data por6on of the Manufacturer Specific adver6sing data structure.
AD TYPE Type represen6ng the Manufacturer Specific adver6sing data structure.
MFG ID The beacon device manufacturer's company iden6fier code
BEACON CODE The AltBeacon adver6sement code
BEACON ID A 20-byte value uniquely iden6fying the beacon
REFERENCE RSSI A 1-byte value represen6ng the average received signal strength at
1m from the adver6serMFG RESERVED Reserved for use by the
manufacturer to implement special features
Eddystonean open beacon format from Google
Design Goals
• Works well with Android and iOS Bluetooth developer APIs
• StraighOorward implementa3on on a wide range of exis3ng BLE devices
• Flexible architecture permiRng development of new frame types
• Fully compliant with the Bluetooth Core Specifica3on
Multiples Frame Types
• Eddystone-UID • Eddystone-URL • Eddystone-TLM
Eddystone-UID
FRAME TYPE 1 byte
RANGING DATA Calibrated Tx power at 0 m
NAMESPACE 10-byte
INSTANCE 6-byte
Eddystone-URL
FRAME TYPE 1 byte
RANGING DATA Calibrated Tx power at 0 m
URL SCHEME 1-byte
ENCODED URL 17-byte
URL Scheme Prefix
0 hWp://www.
1 hWps://www.
2 hWp://
3 hWps://
Eddystone-URL
Specify an Eddystone-URL Configura3on GATT Service
Eddystone-TLM
FRAME TYPE 1-byte
VERSION 1-byte
BATTERY VOLTAGE 2-byte
BEACON TEMPERATURE 2-byte
ADVERTISING PDU COUNT 5-byte
TIME SINCE POWER-ON OR REBOOT 4-byte
Proximity Beacon API
Proximity Beacon API
The Proximity Beacon API is a cloud service that allows you to manage data associated with your BLE beacons using a REST interface.
Proximity Beacon API
Support : • Eddystone format • iBeacon format • AltBeacon format
Proximity Beacon API
Place API : • Place ID • Loca3on (lat,lng) • Indoor floor • Stability
Proximity Beacon API
Message API • NamespacedType • Data (1024 bytes)
Proximity Beacon API
Monitoring Report Telemetry Api will determine: • Predicted ba]ery death. • Beacons that have moved away
from their registered loca3on. • Unusually low detec3on rates.
Getting Real
In House
• Use a beacon to monitor how much 3me you spend in each rooms
• Use a beacon to indicate proximity with to the NEST API
• Use a beacon to send an automated text message when you get home
Getting RealReal life usecase :
• The city bus has a beacon on it • Your car as a beacon on it • Your bus stop has a beacon on it • The restaurant automatically book you a table
on the fly when you get in • You get notified of a flash promo when walking
in front of an IRL shop
jeChercheUnDev.fr
Reach hello@jechercheundev.fr
Recommended