This example uses the Health Thermometer Profile to send thermometer information: The canonical source for this example lives at https://github.com/ARMmbed/mbed-os-example-ble/tree/master/BLE_Thermometer

Thermometer

This example uses the Health Thermometer Profile to send thermometer information:

  • Sensor location: thermometer placement on the body. The default value in this application is the ear (``LOCATION_EAR``). The characteristic description shows the other possible values.
  • 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.

For more information see:

  • Temperature Type: GATT characteristic details for temperature type (sensor location).

Running the application

Requirements

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 :

- nRF Master Control Panel for Android.

- LightBlue for iPhone.

Hardware requirements are in the main readme.

Building instructions

Building with mbed CLI

If you'd like to use mbed CLI to build this, then you should refer to the main readme. The instructions here relate to using the developer.mbed.org Online Compiler

In order to build this example in the mbed Online Compiler, first import the example using the ‘Import’ button on the right hand side.

Next, select a platform to build for. This must either be a platform that supports BLE, for example the NRF51-DK, or one of the following:

List of platforms supporting Bluetooth Low Energy

Or you must also add a piece of hardware and the supporting library that includes a Bluetooth Low Energy driver for that hardware, for example the K64F or NUCLEO_F401RE with the X-NUCLEO-IDB05A1

List of components supporting Bluetooth Low Energy.

Once you have selected your platform, compile the example and drag and drop the resulting binary onto your board.

For general instructions on using the mbed Online Compiler, please see the mbed Handbook

Checking for success

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.

  • Build the application and install it on your board as explained in the building instructions.
  • Open the BLE scanner on your phone.
  • Start a scan.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/start_scan.png

figure 1 How to start scan using nRF Master Control Panel 4.0.5

  • Find your device; it should be named *Therm*.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/scan_results.png

figure 2 Scan results using nRF Master Control Panel 4.0.5

  • Establish a connection with your device.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/connection.png

figure 3 How to establish a connection using Master Control Panel 4.0.5

  • 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`.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/discovery.png

figure 4 Representation of the Thermometer service using Master Control Panel 4.0.5

  • Register for the notifications sent by the *Temperature Measurement* characteristic.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/register_to_notifications.png

figure 5 How to register to notifications using Master Control Panel 4.0.5

  • 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.

https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Thermometer/raw-file/a27dfda81620/img/notifications.png

figure 6 Notifications view using Master Control Panel 4.0.5

Changes

RevisionDateWhoCommit message
81:921892507e54 2019-09-19 mbed_official Merge pull request #249 from apalmieriGH/master default tip
80:dfa5a944cfcb 2019-08-15 mbed_official Merge pull request #252 from donatieng/mbed_os_update
79:16042006e938 2019-07-23 mbed_official Merge pull request #245 from paul-szczepanek-arm/master
78:e590e273909a 2019-02-27 mbed_official Updating mbed-os to mbed-os-5.11.5
77:23f1631ab104 2019-02-25 mbed_official Merge pull request #217 from adbridge/master
76:5726142fa5b1 2019-02-13 mbed_official Updating mbed-os to mbed-os-5.11.2
75:3a5a6a9b4ac1 2019-01-14 mbed_official Merge pull request #207 from adbridge/master
74:b082fa6d75eb 2019-01-14 mbed_official Merge pull request #208 from ARMmbed/mbed-os-5.11.0-oob
73:b2ffd4a530cc 2018-12-14 mbed_official Updating mbed-os to mbed-os-5.10.4
72:81488d9af33b 2018-11-16 mbed_official Merge pull request #192 from paul-szczepanek-arm/update-libs
71:0a748641901e 2018-11-07 mbed_official Merge pull request #189 from ARMmbed/donatieng-patch-1
70:1bf06fcea3a8 2018-10-22 mbed_official Merge pull request #187 from cmonr/master
69:071c932635cb 2018-09-26 mbed_official Merge pull request #183 from ARMmbed/mbed-os-5.10.0-oob
68:aa2707c9668f 2018-09-04 mbed_official Merge pull request #173 from pan-/use-cordio
67:11b7bd9c690b 2018-08-29 mbed_official Merge pull request #172 from 0xc0170/master
66:5009747e81ef 2018-08-23 mbed_official Updating mbed-os to mbed-os-5.9.5
65:be650d624593 2018-08-08 mbed_official Merge pull request #168 from cmonr/master
64:1e067f296a8c 2018-07-18 mbed_official Merge pull request #166 from cmonr/master
63:248ea1f25ad1 2018-07-06 mbed_official Merge pull request #163 from adbridge/master
62:a70ee8a1291e 2018-06-22 mbed_official Merge pull request #160 from adbridge/master
61:8fe393d306b0 2018-06-20 mbed_official Merge pull request #159 from ARMmbed/mbed-os-5.9.0-oob
60:bdb3ad07cfe1 2018-06-11 mbed_official Merge pull request #158 from adbridge/master
59:6995963fb1da 2018-06-05 mbed_official Merge pull request #151 from paul-szczepanek-arm/privacy
58:f22c8c3f5adc 2018-04-04 mbed_official Merge pull request #141 from adbridge/master
57:5593aa5ec722 2018-04-04 mbed_official Merge pull request #142 from ARMmbed/mbed-os-5.8.0-oob
56:c42e0241bbfd 2018-03-23 mbed_official Merge pull request #139 from cmonr/master
55:cb5e332f11f4 2018-03-23 mbed_official Merge pull request #137 from adbridge/master
54:1aa9b64c08d8 2018-02-13 mbed_official Merge pull request #135 from adbridge/master
53:dd04e9faa210 2018-01-31 mbed_official Merge pull request #134 from cmonr/master
52:8c8694ef5246 2018-01-17 mbed_official Merge pull request #133 from adbridge/master
51:b7f13dfae381 2018-01-09 mbed_official Merge pull request #129 from adbridge/master
50:d0954ed36887 2018-01-08 mbed_official Merge pull request #132 from pan-/remove-mbedignore
49:8f4d02da8ffe 2017-12-20 mbed_official Merge pull request #126 from ARMmbed/mbed-os-5.7.0-oob
48:303393ee3b92 2017-12-05 mbed_official Merge pull request #119 from adbridge/master
47:c20d19bee97c 2017-11-23 mbed_official Merge pull request #115 from adbridge/master
46:e493bd0ce681 2017-11-07 mbed_official Merge pull request #113 from adbridge/master
45:c8b623f957bc 2017-11-03 mbed_official Merge pull request #110 from 0xc0170/master
44:10b42e19e84b 2017-11-01 mbed_official Merge pull request #112 from marcbonnici/master
43:7c0745dffb07 2017-10-11 mbed_official Merge pull request #108 from adbridge/master
42:2d958ad39b2f 2017-09-29 mbed_official Merge pull request #106 from 0xc0170/master
41:46f7ca613951 2017-09-20 mbed_official Merge pull request #103 from ARMmbed/5.6_sanity
40:949860e5efa5 2017-09-08 mbed_official Merge pull request #102 from adbridge/master
39:9d3be3bdeb0c 2017-08-08 mbed_official Merge pull request #100 from 0xc0170/master
38:449ef9831076 2017-07-28 mbed_official Merge pull request #99 from bcostm/add_disco_l475vg
37:ae6030c58a82 2017-07-19 mbed_official Merge pull request #97 from 0xc0170/master
36:6a74c658ad21 2017-07-19 mbed_official Merge pull request #98 from apalmieriGH/master
35:527ded8ffa54 2017-07-11 mbed_official Merge pull request #93 from adbridge/master
34:fd3d3023d633 2017-06-22 mbed_official Merge pull request #89 from adbridge/master
33:50651b7f37ce 2017-06-22 mbed_official Merge pull request #90 from apalmieriGH/master
32:aca43db70fdb 2017-06-20 mbed_official Merge pull request #88 from adbridge/master
31:8bed94c61fcb 2017-06-15 mbed_official Merge pull request #83 from apalmieriGH/master
30:93985d530872 2017-06-08 mbed_official Merge pull request #82 from adbridge/master
29:f9c9e4ac53a7 2017-05-25 mbed_official Merge pull request #81 from adbridge/master
28:ddf75b9b2313 2017-05-10 mbed_official Merge pull request #79 from adbridge/master
27:0c99c4b33d56 2017-05-10 mbed_official Merge pull request #78 from ashok-rao/master
26:f0027acb90a1 2017-05-09 mbed_official Merge pull request #77 from 0xc0170/master
25:e14fcc3e13c1 2017-04-05 mbed_official Merge pull request #70 from 0xc0170/master
24:49fc654e3fb5 2017-04-05 mbed_official Merge pull request #72 from pan-/update_bluenrg_ref
23:1b5b0cc98bc7 2017-04-05 mbed_official Merge pull request #71 from pan-/fix_bluenrg_reference
22:614b2199b8f1 2017-03-14 mbed_official Merge pull request #68 from adbridge/master