BLE Stack
Device Types
Central - discovers and connects to peripherals
E.g. your phone
Think “client”
Peripheral - accepts connections from central. Advertises information about itself.
E.g. your smart watch
Think “server”
Broadcaster - Advertises information but does not accept connections
E.g. In-store location beacons
Observer - discovers peripherals and broadcasters but does not accept connections.
Uncommon
HCI
This layer abstracts away the differences in chipsets from the operating system.
L2CAP
GAP
GATT
The Generic Attribute Profile is abbreviated as GATT.
Think of GATT like TCP/UDP. There are services and characteristics supported by a peripheral device and the central device can read and write to them. This is very similar to TCP/UDP ports concept.
One of many Bluetooth Low Energy layers
Most important for interoperability with apps
Comprised of Services & Characteristics & Descriptors
Services, Characteristics, and Descriptors Oh My
Services
Basic device functionality
Groups of characteristics by function
“Generic Access”, “Device Information”
“Battery Services”, “Apple Notification Center Service”
Characteristics
UUID & Value pair
Read, Write, Notify, Indicate
“Manufacturer Name String”
“Model Number String”
Descriptors
These are information about the data in the characteristic.
UUID
Random number
Many are assigned by the Bluetooth SIG
Vendor / Service / Characteristic
Last updated
Was this helpful?