Generic Attribute Profile (GATT) Roles

Bluetooth® Low Energy (BLE) data communications are implemented in the Generic Attribute Profile (GATT) layer using the Attribute Protocol (ATT), a simple client/server stateless protocol.

The following GATT role pair is defined:

Server

Client

  • Inquires about the presence and nature of the attributes on a server
    • Performs Service Discovery
  • Sends requests to a server and receives responses
  • Typically associated with theLink Layer Master andGAP Central device roles

If a client request is still pending, no further requests can be sent until the response is received and processed.

Example

The following depicts a GATT Server having two services (one public, one private), with a GATT Client executing several GATT operations to read/write the data (characteristics) in those services.

gatt-example-highlighted-roles.png