3
votes

I am trying to understand how Bluetooth BLE works on the iOS programming side. On page https://www.bluetooth.org/Technical/Specifications/adopted.htm, there are two specifications, heart rate profile and heart rate service.

On the introduction of Heart Rate Profile it says

The Heart Rate Profile is used to enable a data collection device to obtain data from a Heart Rate Sensor that exposes the Heart Rate Service

On some service like the battery level there is no corresponding profile. What's the difference between the two? One for the sender (service) and one for the receiver (profile)?

1

1 Answers

4
votes

The Heart Rate Profile defines an application profile to let a client detect the device as a heart rate sensor. This profile must include at least the GAP service and the Heart Rate Service for compliance

For battery, the monitoring of a battery level is not an application by itself (or it wouldn't be very useful as an application), but it is relevant to specify a Battery Service for monitoring the battery level within an application.

For example, a heart rate sensor should have a profile compliant with the Heart Rate Profile, so it includes at least the GAP service and the Heart Rate Service. It can also includes (as an option) a Battery Service to enable the monitoring of the battery level of the heart rate sensor

Regards