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