Hardware Reference
In-Depth Information
Protocols
Building blocks used by all devices conformant to the Bluetooth specification, pro‐
tocols are the layers that implement the different packet formats, routing, multi‐
plexing, encoding, and decoding that allow data to be sent effectively between peers.
Profiles
“Vertical slices” of functionality covering either basic modes of operation required
by all devices (Generic Access Profile, Generic Attribute Profile) or specific use
cases (Proximity Profile, Glucose Profile), profiles essentially define how protocols
should be used to achieve a particular goal, whether generic or specific.
Chapter 2 covers protocols in detail, but the following sections provide a quick intro‐
duction to profiles and what they mean for an application developer.
Generic Profiles
Generic profiles are defined by the specification, and it's important to understand how
two of them are fundamental to ensuring interoperability between BLE devices from
different vendors:
Generic Access Profile (GAP)
Covering the usage model of the lower-level radio protocols to define roles, pro‐
cedures, and modes that allow devices to broadcast data, discover devices, establish
connections, manage connections, and negotiate security levels, GAP is, in essence,
the topmost control layer of BLE. This profile is mandatory for all BLE devices, and
all must comply with it.
Generic Attribute Profile (GATT)
Dealing with data exchange in BLE, GATT defines a basic data model and proce‐
dures to allow devices to discover, read, write, and push data elements between
them. It is, in essence, the topmost data layer of BLE.
GAP (discussed in more detail in Chapter 3 ) and GATT (discussed in more detail in
Chapter 4 ) are so fundamental to BLE that they are often used as the foundation for
application programmer interfaces (APIs) as the entry point for the application to in‐
teract with the protocol stack.
Use-Case-Specific Profiles
Use-case-specific profiles in this section and elsewhere are limited to GATT-based pro‐
files. This means that all of these profiles use the procedures and operating models of
the GATT profile as a base building block for all further extensions.
No non-GATT profiles exist at the time of this writing, but the introduction of L2CAP
connection-oriented channels in version 4.1 of the specification might mean that
GATT-less profiles might start to appear in the future.
Search WWH ::




Custom Search