hw

Committer:
b05901043
Date:
Thu Apr 23 07:55:49 2020 +0000
Revision:
0:38e06c586f64
.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
b05901043 0:38e06c586f64 1 # BLE Heart Rate Monitor
b05901043 0:38e06c586f64 2
b05901043 0:38e06c586f64 3 This application transmits a heart rate value using the [Bluetooth SIG Heart Rate Profile](https://developer.bluetooth.org/TechnologyOverview/Pages/HRP.aspx). The heart rate value is provided by the application itself, not by a sensor, so that you don't have to get a sensor just to run the example.
b05901043 0:38e06c586f64 4
b05901043 0:38e06c586f64 5 Technical details are better presented [in the mbed Classic equivalent of this example](https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_HeartRate/).
b05901043 0:38e06c586f64 6
b05901043 0:38e06c586f64 7 # Running the application
b05901043 0:38e06c586f64 8
b05901043 0:38e06c586f64 9 ## Requirements
b05901043 0:38e06c586f64 10
b05901043 0:38e06c586f64 11 To see the heart rate information on your phone, use the BLE Profiles App by ST:
b05901043 0:38e06c586f64 12
b05901043 0:38e06c586f64 13 - [ST BLE Profile](https://play.google.com/store/apps/details?id=com.stm.bluetoothlevalidation) for Android.
b05901043 0:38e06c586f64 14
b05901043 0:38e06c586f64 15 Alternatively, use a BLE scanner:
b05901043 0:38e06c586f64 16
b05901043 0:38e06c586f64 17 - [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android.
b05901043 0:38e06c586f64 18
b05901043 0:38e06c586f64 19 - [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone.
b05901043 0:38e06c586f64 20
b05901043 0:38e06c586f64 21 Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md).
b05901043 0:38e06c586f64 22
b05901043 0:38e06c586f64 23 ## Building instructions
b05901043 0:38e06c586f64 24
b05901043 0:38e06c586f64 25 Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md).
b05901043 0:38e06c586f64 26
b05901043 0:38e06c586f64 27 ## Checking for success
b05901043 0:38e06c586f64 28
b05901043 0:38e06c586f64 29 **Note:** Screens captures depicted below show what is expected from this example if the scanner used is *ST BLE Profile* version 2.0.0 or *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals.
b05901043 0:38e06c586f64 30
b05901043 0:38e06c586f64 31 1. Build the application and install it on your board as explained in the building instructions.
b05901043 0:38e06c586f64 32 1. Open the BLE scanner on your phone.
b05901043 0:38e06c586f64 33 1. Start a scan.
b05901043 0:38e06c586f64 34
b05901043 0:38e06c586f64 35 ![](img/start_scan_ble_profile.png)
b05901043 0:38e06c586f64 36
b05901043 0:38e06c586f64 37 **figure 1.a** How to start scan using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 38
b05901043 0:38e06c586f64 39 ![](img/start_scan.png)
b05901043 0:38e06c586f64 40
b05901043 0:38e06c586f64 41 **figure 1.b** How to start scan using nRF Master Control Panel 4.0.5
b05901043 0:38e06c586f64 42
b05901043 0:38e06c586f64 43 1. Find your device; it should be named `HRM`.
b05901043 0:38e06c586f64 44
b05901043 0:38e06c586f64 45 ![](img/scan_result_ble_profile.png)
b05901043 0:38e06c586f64 46
b05901043 0:38e06c586f64 47 **figure 2.a** Scan results using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 48
b05901043 0:38e06c586f64 49 ![](img/scan_result.png)
b05901043 0:38e06c586f64 50
b05901043 0:38e06c586f64 51 **figure 2.b** Scan results using nRF Master Control Panel 4.0.5
b05901043 0:38e06c586f64 52
b05901043 0:38e06c586f64 53 1. Establish a connection with your device.
b05901043 0:38e06c586f64 54
b05901043 0:38e06c586f64 55 ![](img/connection_ble_profile.png)
b05901043 0:38e06c586f64 56
b05901043 0:38e06c586f64 57 **figure 3.a** How to establish a connection using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 58
b05901043 0:38e06c586f64 59 ![](img/connection.png)
b05901043 0:38e06c586f64 60
b05901043 0:38e06c586f64 61 **figure 3.b** How to establish a connection using Master Control Panel 4.0.5
b05901043 0:38e06c586f64 62
b05901043 0:38e06c586f64 63 1. Discover the services and the characteristics on the device. The *Heart Rate* service has the UUID `0x180D` and includes the *Heart Rate Measurement* characteristic which has the UUID `0x2A37`.
b05901043 0:38e06c586f64 64
b05901043 0:38e06c586f64 65 ![](img/discovery_ble_profile.png)
b05901043 0:38e06c586f64 66
b05901043 0:38e06c586f64 67 **figure 4.a** Representation of the Heart Rate service using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 68
b05901043 0:38e06c586f64 69 ![](img/discovery.png)
b05901043 0:38e06c586f64 70
b05901043 0:38e06c586f64 71 **figure 4.b** Representation of the Heart Rate service using Master Control Panel 4.0.5
b05901043 0:38e06c586f64 72
b05901043 0:38e06c586f64 73 1. Register for the notifications sent by the *Heart Rate Measurement* characteristic.
b05901043 0:38e06c586f64 74
b05901043 0:38e06c586f64 75 ![](img/register_to_notifications_ble_profile.png)
b05901043 0:38e06c586f64 76
b05901043 0:38e06c586f64 77 **figure 5.a** How to register to notifications using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 78
b05901043 0:38e06c586f64 79 ![](img/register_to_notifications.png)
b05901043 0:38e06c586f64 80
b05901043 0:38e06c586f64 81 **figure 5.b** How to register to notifications using Master Control Panel 4.0.5
b05901043 0:38e06c586f64 82
b05901043 0:38e06c586f64 83
b05901043 0:38e06c586f64 84 1. You should see the heart rate value change every half second.<br/>For ST BLE Profile, it begins at 60, goes up to 100 (in steps of 1), resets to 60 and so on.
b05901043 0:38e06c586f64 85
b05901043 0:38e06c586f64 86 ![](img/notifications_ble_profile.png)
b05901043 0:38e06c586f64 87
b05901043 0:38e06c586f64 88 **figure 6.a** Notifications view using ST BLE Profile 2.0.0
b05901043 0:38e06c586f64 89
b05901043 0:38e06c586f64 90 For Master Control Panel, it begins at 100, goes up to 175 (in steps of 1), resets to 100 and so on.
b05901043 0:38e06c586f64 91
b05901043 0:38e06c586f64 92 ![](img/notifications.png)
b05901043 0:38e06c586f64 93
b05901043 0:38e06c586f64 94 **figure 6.b** Notifications view using Master Control Panel 4.0.5