Professional Documents
Culture Documents
13
MCMXCIV
4
RS-232 Port
located somewhere
near here
Gustavb - http://commons.wikimedia.org/wiki/File:Personal_computer,_exploded.svg
5
Bluetooth Classic
https://pt.wikipedia.org/wiki/Ficheiro:Mouse_white_background.jpg
Zen Neeon - http://willustrator.org/image/adb70d9e8fe11ddf7993bd3dd15f0ef4
Bluetooth Classic
10
Bluetooth Classic
11
12
13
14
15
16
android.bluetooth
android.bluetooth
Linux BlueZ stack
AOSP 2.3-4.1 (Nexus S, Galaxy Nexus)
most Samsung and HTC phones on Android 4.0/4.1
Sony Xperia with Android 4.0
+others....
RFCOMM
RFCOMM
RFCOMM
android.bluetooth
http://en.wikipedia.org/wiki/File:Li_ion_laptop_battery.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
http://en.wikipedia.org/wiki/File:Li_ion_laptop_battery.jpg
Bluetooth
Low Energy (BLE)
http://commons.wikimedia.org/wiki/File:Pebble_watch_trio_group_04.png
http://pixabay.com/en/action-exercise-fit-fitness-health-2461/
http://commons.wikimedia.org/wiki/File:Generic-remote-control-shallow-focus.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
Bluetooth
Low Energy (BLE)
http://commons.wikimedia.org/wiki/File:Pebble_watch_trio_group_04.png
http://pixabay.com/en/action-exercise-fit-fitness-health-2461/
http://commons.wikimedia.org/wiki/File:Generic-remote-control-shallow-focus.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
Bluetooth
Low Energy (BLE)
http://commons.wikimedia.org/wiki/File:Pebble_watch_trio_group_04.png
http://pixabay.com/en/action-exercise-fit-fitness-health-2461/
http://commons.wikimedia.org/wiki/File:Generic-remote-control-shallow-focus.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
Bluetooth
Low Energy (BLE)
http://commons.wikimedia.org/wiki/File:Pebble_watch_trio_group_04.png
http://pixabay.com/en/action-exercise-fit-fitness-health-2461/
http://commons.wikimedia.org/wiki/File:Generic-remote-control-shallow-focus.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
Bluetooth
Low Energy (BLE)
http://commons.wikimedia.org/wiki/File:Pebble_watch_trio_group_04.png
http://pixabay.com/en/action-exercise-fit-fitness-health-2461/
http://commons.wikimedia.org/wiki/File:Generic-remote-control-shallow-focus.jpg
http://en.wikipedia.org/wiki/File:Battery-lithium-cr2032.jpg
Single-mode
(BLE only)
Dual-mode
(Bluetooth Classic and BLE)
Single-mode
(BLE only)
Dual-mode
(Bluetooth Classic and BLE)
Available starting in
Android API version 18
BLE Terminology
Characteristic
Value
Descriptor
Descriptor
Descriptor
Service
Characteristic
Value
Characteristic
Value
GATT Server
GATT Client
Profile
GATT Client
Service
Service
Characteristic
Characteristic
Characteristic
Characteristic
GATT Server
...?
Bluetooth Profiles
GATT Profile
Protocol Stack
Protocol Stack
ATT
L2CAP
LMP
Baseband
Baseband
RF
Low Energy RF
best practices
Is Bluetooth on?
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
BLE Flow
Standby
Stop LE scan
LE Scan
Scanning
Connected
Discover Services
Get Service Characteristics
Register for updates to characteristic
Disconnect
Active
Characteristic changed
mBluetoothAdapter.startLeScan(mLeScanCallback);
mBluetoothAdapter.startLeScan(mLeScanCallback);
Connecting to an LE Device
Connecting to an LE Device
Read/Write LE attributes
BLE Notes
BLE Notes
BLE Notes
vs
NfcAdapter.setBeamPushUris ()
NfcAdapter.CreateBeamUrisCallback
(In)secure RFcomm
BluetoothAdapter.listenUsingRfcommWithServiceRecord(...)
BluetoothDevice.createRfcommSocketToServiceRecord(...)
BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord(...)
BluetoothDevice.createInsecureRfcommSocketToServiceRecord(...)
AVRCP 1.3
AVRCP MetaData
Coming soon...
<Thank You!>
+Sara Sinclair Brody
+Rich Hyndman
+Matthew Xie
Developers