Hardware Reference
In-Depth Information
Discover characteristics by UUID
This procedure is identical to the previous one, except the client discards all re‐
sponses that do not match the particular characteristic UUID it targets.
Once the boundaries (in terms of handles) of a target characteristic have been estab‐
lished, the client can go on to characteristic descriptor discovery :
Discover all characteristic descriptors
Now in possession of a set of handle ranges and UUIDs for some or all of the
characteristics in a service, the client can use this feature to retrieve all the descrip‐
tors within a particular characteristic. The server replies with a list of UUID and
handle pairs for the different descriptor declarations (see “Characteristic Descrip‐
tors” on page 61 ).
All the features in this section can be performed over open, unsecured connections,
because discovery is allowed for all clients without any restrictions.
Reading Characteristics and Descriptors
To obtain the current value of a characteristic value or a descriptor, the client has the
following choices:
Read characteristic value or descriptor
This feature can be used to simply read the contents of a characteristic value or a
descriptor by using its handle. Only the first ATT_MTU-1 bytes of the contents can
be read, because that is the maximum number of bytes that can fit in the response
packet (1 byte is reserved for the ATT operation code).
Read long characteristic value or descriptor
If the value is too long to be read with the previous feature, this feature includes an
offset along with the handle in the request, so that the characteristic value or the
descriptor contents can be read in successive chunks. Multiple request/response
pairs might be required, depending on the length of the attribute value being read.
Additionally, and only applicable for characteristic values, these features are available:
Read characteristic value using characteristic UUID
Whenever a client does not know the specific handles for the characteristics it might
be interested in, it can read the values of all the characteristics of a specific type.
The client simply provides a handle range and a UUID and receives an array of
values of characteristics enclosed in that range.
Read mutiple characteristic values
Conversely, if a client already has the handles for a set of characteristics it wants to
obtain the value from, it can then send a request with this set of handles and sub‐
sequently receive the values for all corresponding characteristics.
Search WWH ::




Custom Search