BLE Thermometer example
Dependencies: BSP_B-L475E-IOT01
This example is a fork of the following mbed-os example:
https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/
Please read the documentation in this page.
readme.md@39:ac224f69256b, 2017-07-26 (annotated)
- Committer:
- bcostm
- Date:
- Wed Jul 26 08:10:04 2017 +0000
- Revision:
- 39:ac224f69256b
- Parent:
- 2:cc8349878a7d
Add reading of board temp sensor
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 2:cc8349878a7d | 1 | # Thermometer |
mbed_official | 2:cc8349878a7d | 2 | |
mbed_official | 2:cc8349878a7d | 3 | This example uses the [Health Thermometer Profile](https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.health_thermometer.xml) to send thermometer information: |
mbed_official | 2:cc8349878a7d | 4 | |
mbed_official | 2:cc8349878a7d | 5 | 1. Sensor location: thermometer placement on the body. The default value in this application is the ear (``LOCATION_EAR``). The [characteristic description](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_type.xml) shows the other possible values. |
mbed_official | 2:cc8349878a7d | 6 | |
mbed_official | 2:cc8349878a7d | 7 | 1. Temperature: the initial temperature is 39.6, and it's incremented by 0.1 every half second. It resets to 39.6 when it reaches 43.0. |
mbed_official | 2:cc8349878a7d | 8 | |
mbed_official | 2:cc8349878a7d | 9 | For more information see: |
mbed_official | 2:cc8349878a7d | 10 | |
mbed_official | 2:cc8349878a7d | 11 | * [Temperature Service](https://developer.bluetooth.org/gatt/profiles/Pages/ProfileViewer.aspx?u=org.bluetooth.profile.health_thermometer.xml): GATT profile details. |
mbed_official | 2:cc8349878a7d | 12 | |
mbed_official | 2:cc8349878a7d | 13 | * [Temperature Measurement](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_measurement.xml): GATT characteristic details for temperature measurement. |
mbed_official | 2:cc8349878a7d | 14 | |
mbed_official | 2:cc8349878a7d | 15 | * [Temperature Type](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_type.xml): GATT characteristic details for temperature type (sensor location). |
mbed_official | 2:cc8349878a7d | 16 | |
mbed_official | 2:cc8349878a7d | 17 | # Running the application |
mbed_official | 2:cc8349878a7d | 18 | |
mbed_official | 2:cc8349878a7d | 19 | ## Requirements |
mbed_official | 2:cc8349878a7d | 20 | |
mbed_official | 2:cc8349878a7d | 21 | The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : |
mbed_official | 2:cc8349878a7d | 22 | |
mbed_official | 2:cc8349878a7d | 23 | - [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. |
mbed_official | 2:cc8349878a7d | 24 | |
mbed_official | 2:cc8349878a7d | 25 | - [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. |
mbed_official | 2:cc8349878a7d | 26 | |
mbed_official | 2:cc8349878a7d | 27 | Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). |
mbed_official | 2:cc8349878a7d | 28 | |
mbed_official | 2:cc8349878a7d | 29 | ## Building instructions |
mbed_official | 2:cc8349878a7d | 30 | |
mbed_official | 2:cc8349878a7d | 31 | Building instructions for all mbed OS samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). |
mbed_official | 2:cc8349878a7d | 32 | |
mbed_official | 2:cc8349878a7d | 33 | ## Checking for success |
mbed_official | 2:cc8349878a7d | 34 | |
mbed_official | 2:cc8349878a7d | 35 | **Note:** Screens captures depicted below show what is expected from this example if the scanner used is *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. |
mbed_official | 2:cc8349878a7d | 36 | |
mbed_official | 2:cc8349878a7d | 37 | 1. Build the application and install it on your board as explained in the building instructions. |
mbed_official | 2:cc8349878a7d | 38 | |
mbed_official | 2:cc8349878a7d | 39 | 1. Open the BLE scanner on your phone. |
mbed_official | 2:cc8349878a7d | 40 | |
mbed_official | 2:cc8349878a7d | 41 | 1. Start a scan. |
mbed_official | 2:cc8349878a7d | 42 | |
mbed_official | 2:cc8349878a7d | 43 | ![](img/start_scan.png) |
mbed_official | 2:cc8349878a7d | 44 | |
mbed_official | 2:cc8349878a7d | 45 | **figure 1** How to start scan using nRF Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 46 | |
mbed_official | 2:cc8349878a7d | 47 | 1. Find your device; it should be named *Therm*. |
mbed_official | 2:cc8349878a7d | 48 | |
mbed_official | 2:cc8349878a7d | 49 | ![](img/scan_results.png) |
mbed_official | 2:cc8349878a7d | 50 | |
mbed_official | 2:cc8349878a7d | 51 | **figure 2** Scan results using nRF Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 52 | |
mbed_official | 2:cc8349878a7d | 53 | 1. Establish a connection with your device. |
mbed_official | 2:cc8349878a7d | 54 | |
mbed_official | 2:cc8349878a7d | 55 | ![](img/connection.png) |
mbed_official | 2:cc8349878a7d | 56 | |
mbed_official | 2:cc8349878a7d | 57 | **figure 3** How to establish a connection using Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 58 | |
mbed_official | 2:cc8349878a7d | 59 | |
mbed_official | 2:cc8349878a7d | 60 | 1. Discover the services and the characteristics on the device. The *Health Thermometer* service has the UUID `0x1809` and includes the *Temperature Measurement* characteristic which has the UUID `0x2A1C`. |
mbed_official | 2:cc8349878a7d | 61 | |
mbed_official | 2:cc8349878a7d | 62 | ![](img/discovery.png) |
mbed_official | 2:cc8349878a7d | 63 | |
mbed_official | 2:cc8349878a7d | 64 | **figure 4** Representation of the Thermometer service using Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 65 | |
mbed_official | 2:cc8349878a7d | 66 | |
mbed_official | 2:cc8349878a7d | 67 | 1. Register for the notifications sent by the *Temperature Measurement* characteristic. |
mbed_official | 2:cc8349878a7d | 68 | |
mbed_official | 2:cc8349878a7d | 69 | ![](img/register_to_notifications.png) |
mbed_official | 2:cc8349878a7d | 70 | |
mbed_official | 2:cc8349878a7d | 71 | **figure 5** How to register to notifications using Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 72 | |
mbed_official | 2:cc8349878a7d | 73 | |
mbed_official | 2:cc8349878a7d | 74 | 1. You should see the temperature value change every half second. It begins at 39.6, goes up to 43.0 (in steps of 0.1), resets to 39.6 and so on. |
mbed_official | 2:cc8349878a7d | 75 | |
mbed_official | 2:cc8349878a7d | 76 | ![](img/notifications.png) |
mbed_official | 2:cc8349878a7d | 77 | |
mbed_official | 2:cc8349878a7d | 78 | **figure 6** Notifications view using Master Control Panel 4.0.5 |
mbed_official | 2:cc8349878a7d | 79 | |
mbed_official | 2:cc8349878a7d | 80 |