Product Specs

Page 9 of 18
© copyright Axa-Stenman, 2019, Bluetooth E-RL 2 Product Specification V1.00
You can easily see that it is possible for a device to be a GATT server and a GATT
client at the same time. While it is most common for the slave (peripheral) device to be
the GATT server only and the master (central) device to be the GATT client, this is
not required. The GATT functionality of a device is logically separate from the
master/slave role. The master/slave roles control how the BLE radio connection is
managed, and the client/server roles are dictated by the storage and flow of data.
1.1.3 Profiles
A GATT database implements one or more profiles, and each profile is made up of
one or more services, and each service is made up of one or more characteristics.
Figure 5.
GATT servers can implement as many profiles, services, and characteristics as needed
by the product, figure 5. When using a non-standard profile, a 128bit UUID is required
and must be provided by the peripheral producer offering this unique profile. You can
also adhere to any Bluetooth SIG profiles (services, and characteristics) currently
supported, in which case the profile UUID is 16bit long. Every BLE device acting as a
GATT server must implement the official Generic Access service. This includes two
mandatory characteristics: Device Name and Appearance.
1.1.4 Attributes and Characteristics
Remember that a service is made up of one or more characteristics. However, one
characteristic may be comprised of many different attributes.
Each attribute is given a unique numerical handle which the GATT client may use to
reference, access, and modify it. Every characteristic has one main attribute which
allows access to the actual value stored in the database for that characteristic. When
you write a value to a characteristics” or “read the value of the characteristic” you are
doing read and write operations on the main data attribute (of said characteristic).