5.5.1 GATT Characteristics and Attributes
While characteristics are sometimes interchangeable when referring to Bluetooth Low Energy, consider them as groups of information called attributes. Attributes are the base groups of information transferred between devices. Characteristics organize and use attributes as data values, properties, and configuration information.
A typical characteristic is composed of the following attributes:
- Characteristic Value: This value is the data value of the characteristic.
- Characteristic Declaration: A descriptor stores the properties, location, and type of the characteristic value.
- Client Characteristic Configuration: This configuration lets the GATT server configure the characteristic to be sent to the GATT server (notified) or sent to the GATT server and expect an acknowledgment (indicated).
- Characteristic User Description: This description is an ASCII string describing the characteristic.
These attributes are stored in the GATT server in an attribute table. The following properties are associated with each attribute:
- Handle – This property is the attribute’s index in the table. Every attribute has a unique handle.
- Type – This attribute indicates what the attribute data represents. This attribute is called a universal unique identifier (UUID). Some of these UUIDs are defined by Bluetooth SIG and others are user-definable.
- Permissions – This attribute enforces whether and how a GATT client device can access the value of the attribute.