Beacons in Androind - About Beacon Russia 2014

12
About Beacon Russia 2014 Beacon in Android Maxim Kabluka

Transcript of Beacons in Androind - About Beacon Russia 2014

Page 1: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Beacon in Android

Maxim Kabluka

Page 2: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Beacon в Android

Page 3: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Beacon в Android

Android 4.3Jelly Bean

Page 4: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Beacon в Android

=

Page 5: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

AndroidManifest.xml:...<uses-feature android:name="android.hardware.bluetooth_le"android:required="true" />

<uses-permissionandroid:name="android.permission.BLUETOOTH" />

<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />...

Usage of BLE

Page 6: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord);

scanRecord = d6 be 89 8e 40 24 05 a2 17 6e 3d 71 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 52 ab 8d 38 a5

d6 be 89 8e # Access address for advertising data40 # Advertising Channel PDU Header byte 024 # Advertising Channel PDU Header byte 105 a2 17 6e 3d 71 # Bluetooth Mac address 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 # Bluetooth advertisement52 ab 8d 38 a5 # checksum

http://stackoverflow.com/questions/18906988/what-is-the-ibeacon-bluetooth-profile

Scanning

Page 7: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Bluetooth advertisement = 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5

02 # Number of bytes that follow in first AD structure 01 # Flags AD type 1A # Flags value 0x1A = 0000110101A # Number of bytes that follow in second (and last) AD structure FF # Manufacturer specific data AD type 4C 00 # Company identifier code (0x004C == Apple) 02 # Byte 0 of iBeacon advertisement indicator 15 # Byte 1 of iBeacon advertisement indicator

e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon proximity uuid 00 00 # major 00 00 # minor c5 # The 2's complement of the calibrated Tx Power

http://stackoverflow.com/questions/18906988/what-is-the-ibeacon-bluetooth-profile

Advertisement data

Page 8: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Intervals

t

Scanning

Signal emission

1sec

Page 9: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Bugs

Page 10: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Open issues

Page 11: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Android 5.0 Lollipop

● Peripheral mode

● ScanFilter

● ScanSettings

Page 12: Beacons in Androind - About Beacon Russia 2014

About Beacon Russia 2014

Thank you for your attention!