Product Specs
Page 10 of 18
© copyright Axa-Stenman, 2019, Bluetooth E-RL 2 Product Specification V1.00
Some other related attributes are read-only (such as a Characteristic User
Description attribute), some control the behavior of the characteristic (such as
the Client Characteristic Configuration attribute which is used to enable notify
or indicate operations).
Every attribute has a UUID. These may be either 16 bits (e.g. “0x180A“) or 128 bits
(e.g. “00001530-1212-EFDE-1523-785FEABCD123 “). All 16-bit UUIDs are
defined by the Bluetooth SIG and are known as adopted UUIDs. All 128-bit UUIDs
are custom and may be used for any purpose without approval from the Bluetooth
SIG. Two very common 16-bit UUIDs that you will see are 0x2901, the Characteristic
User Description attribute and 0x2902, the Client Characteristic Configuration
attribute (to enable either “notify” or “indicate” on a characteristic).
One important note is that some attribute UUIDs do not technically need to be unique.
Their handles are always unique, but the UUIDs occasionally overlap. For example,
every Client Characteristic Configuration attribute has a UUID of 0x2902, even though
there may be a dozen of them in a single GATT database.
1.1.5 Advertising and Connections
The Generic Access Profile (GAP) specifically describes behaviors and procedures for
device discovery, connection establishment, security, authentication, and service
discovery, and this along with performing a single defining role. In essence, a
Bluetooth device may incorporate either initiating or accepting procedures, and the
peer device must support the corresponding functionality. One of the most important
things to understand with Bluetooth low energy is how two devices first find one
another, work out what they can do with one another, and how they can find and
connect with one another repeatedly. This is really what GAP defines.
There are four GAP roles defined for a Bluetooth low energy device:
Broadcaster
Observer
Peripheral
Central
A broadcaster is a device that sends advertising packets. Typically, this is used to
broadcast some data from a service to other devices that happen to be in an observer
role. A broadcast must have a transmitter but does not need a receiver. A broadcast-
only device, therefore, only needs a transmitter.
An observer is a device that scans for broadcasters and reports this information to an
application. An observer must have a receiver; it can also optionally have a transmitter.
A peripheral is a device that advertises by using connectable advertising packets. As
such, it becomes a slave once connected. A peripheral needs to have both a transmitter
and a receiver. The E-RL 2 has adopted the role of peripheral device and as such is
sending advertising packets while not connected.