This document provides an overview of Bluetooth Low Energy (LE) usage on iOS. It discusses key concepts like central and peripheral roles, the use of universally unique identifiers (UUIDs) for discovery and connection, and the steps involved in connecting including discovering services, characteristics, and transferring data. It also shares results of experiments measuring average transfer speeds between iPhone models of around 3.3 MB/s or 26.4 Mbps. Links are provided for additional Bluetooth and CoreBluetooth documentation.
3. 3
Confidential
Radio transmit technology based on 2.4 to 2.485 GHz
Protocols
Initiated in 1989 (1.1 in 2002 and 5.0 in june 2016)
Dr. Nils Rydbeck CTO at Ericsson Mobile and Dr.
Johan Ullman
Runes
What is Bluetooth ?
5. 5
Confidential
LE == Low Energy ?
Up to 4-5 years of work on one battery
- 1 Mbit/s (radio)
- 270 Kbit/s (application limit)
- 26 kbit/s (iOS-iOS my tests)
15. 15
Confidential
Data transfer
CBPeripheral
func readValue(for characteristic: CBCharacteristic)
func writeValue(_ data: Data, for characteristic: CBCharacteristic, type: CBCharacteristicWriteType)
optional func peripheral(_ peripheral: CBPeripheral,
didUpdateValueFor characteristic: CBCharacteristic,
error: Error?)
CBPeripheralDelegate
16. 16
Confidential
Transfer speed
Packets
Connection Interval Min ≥ 20 ms
Default MTU: 23 bytes
23*50 = 1150 bytes per second
9200 bit per second
Max MTU: 512 bytes
512*50 = 25600 bytes per second
204800 bit per seconds (200 kbit/s)
128 kbit - low quality audio stream