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)?