bluetooth low energy unveiled
DESCRIPTION
Bluetooth Low energy silently appeared in all Apple hardware in the course of last two years, Android followed suit with API level 18. The session reviews the technology, the APIs and potential use cases.TRANSCRIPT
![Page 1: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/1.jpg)
Bluetooth Low EnergyUncovered
Gabe Gindele@barbazoo
Friday, October 18, 13
![Page 2: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/2.jpg)
Tech Overview
• “A Better Bluetooth” - Power and Cost
• 4.0 - Single and Dual Mode
• 3 Advertising, 37 Data Channels
• Advertiser vs. Scanner
• Master vs. Slave
Friday, October 18, 13
![Page 3: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/3.jpg)
Classic vs. Low Energy
• 100mW vs. 10mW power
• Connection Oriented vs. Connectionless
• Streaming Data vs. Small Data Bursts
• HCI API stays intact
Friday, October 18, 13
![Page 4: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/4.jpg)
Tech Overview Cont.
Total Transaction Time: 3msFriday, October 18, 13
![Page 5: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/5.jpg)
Apple and Bluetooth LE
• First to Introduce
• iPhone 4S, MBA, Mac Mini since 2011
• WWDC 2012 Sessions
• All Products Today - Apple TV
• Classic remains under MFA
• Opens new era of Sensors and IOT
Friday, October 18, 13
![Page 6: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/6.jpg)
Devices Today
• Fitbit Flex
• Heart Rate monitors
• SmartWatches
• Proximity
• iBeacons
• Sensors
Friday, October 18, 13
![Page 7: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/7.jpg)
GATT
• Service
• Characteristic
• Value
• Descriptors
• Notifications
• APIs are Asynchronous
Friday, October 18, 13
![Page 8: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/8.jpg)
iOS: Discovery
central = [[CBCentralManagernager alloc]
initWithDelegate:self queue:nil];
[central scanForPeripheralsWithServices:nil options:nil];
-‐ (void)centralManager:(CBCentralManager *)central
didDiscoverPeripheral:(CBPeripheral *)peripheral
advertisementData:(NSDictionary *)advertisementData
RSSI:(NSNumber *)RSSI {}
[myCentralManager stopScan];
Friday, October 18, 13
![Page 9: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/9.jpg)
iOS: Connection
[myCentralManager connectPeripheral:peripheral options:nil];
-‐ (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral {}
peripheral.delegate = self;
[peripheral discoverServices:nil];[peripheral discoverCharacteristics:nil forService:...];
[peripheral readValueForCharacteristic:...];[peripheral setNotifyValue:YES forCharacteristic:...;[peripheral writeValue:... type:CBCharacteristicWriteWithResponse]
Friday, October 18, 13
![Page 10: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/10.jpg)
Android: BluetoothGatt
• Since 4.3 - API 18 - Most of new devices
• A new profile
• GATT Server is missing
Friday, October 18, 13
![Page 11: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/11.jpg)
Android: Discovery
mBluetoothAdapter.startLeScan(mLeScanCallback);
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {};
mBluetoothAdapter.stopLeScan(mLeScanCallback);
Friday, October 18, 13
![Page 12: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/12.jpg)
Android: Connection
BluetoothGatt mBtGatt = device.connectGatt(... callback);
BluetoothGattCallback callback = new BluetoothGattCallback() {
public void onConnectionStateChange(...) {}public void onServicesDiscovered(...) {}public void onCharacteristicRead(...) {}public void onCharacteristicChanged(...) {}
};
mBtGatt.setCharacteristicNotification(characteristic, enabled);
onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic) {}
Friday, October 18, 13
![Page 13: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/13.jpg)
iBeacon
• Best Kept Secret of iOS7
• Micro Locations Made Simple
• API extends CoreLocation - CLBeacon
• Broadcast only - UUID, Major, Minor
• Geofence, Passbook
Friday, October 18, 13
![Page 14: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/14.jpg)
Development Tools
• TI CC2541 Sensor Tag
• BlueGiga BGScript and API
• Nordic nRF51922 with Cortex M0
• RadiusNetworks Android iBeacons SDK
Friday, October 18, 13
![Page 15: Bluetooth Low Energy Unveiled](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c8520e4a7959d7758b45bf/html5/thumbnails/15.jpg)
Questions?
Friday, October 18, 13