GATT is an acronym for the Generic Attribute Profile.
Uses generic Attribute Protocol (ATT), stores in a simple lookup table using 16-bit IDs for each entry.
GATT comes into play once devices are
- A device that initiates GATT commands and requests, and accepts responses, for example, a computer or smartphone.
- A device that receives GATT commands and requests, and returns responses, for example, a temperature sensor.
- A data value transferred between client and server, for example, the current battery voltage.
- A collection of related characteristics, which operate together to perform a particular function. For instance, the Health Thermometer service includes characteristics for a temperature measurement value, and a time interval between measurements.
- A descriptor provides additional information about a characteristic. For instance, a temperature value characteristic may have an indication of its units (e.g. Celsius), and the maximum and minimum values which the sensor can measure. Descriptors are optional – each characteristic can have any number of descriptors.
Services, characteristics, and descriptors are collectively referred to as attributes, and identified by UUIDs.