nrf52 nrf51 with same code

Dependencies:   CCS811

Fork of MtConnect04S_MtSense02 by MtM+

Committer:
johnathanlyu
Date:
Fri Apr 27 09:52:19 2018 +0000
Revision:
2:f3768a226561
Parent:
0:4d76c0bc0f78
add 52 support

Who changed what in which revision?

UserRevisionLine numberNew contents of line
johnathanlyu 0:4d76c0bc0f78 1 This example creates and updates a standard Battery Level service containing a single
johnathanlyu 0:4d76c0bc0f78 2 GATT characteristic.
johnathanlyu 0:4d76c0bc0f78 3
johnathanlyu 0:4d76c0bc0f78 4 The [battery service transmits](https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.battery_service.xml) a device's battery level in percentage, with 100% being a fully charged battery and 0% being a fully drained battery.
johnathanlyu 0:4d76c0bc0f78 5
johnathanlyu 0:4d76c0bc0f78 6 Although the sample application runs on a BLE device, it doesn't show the device's real battery level (because that changes very slowly and will make for a dull example). Instead, it transmits a fake battery level that starts at 50% (half charged). Every half second, it increments the battery level, going in single increments until reaching 100% (as if the battery is charging). It then drops down to 20% to start incrementing again.
johnathanlyu 0:4d76c0bc0f78 7
johnathanlyu 0:4d76c0bc0f78 8 # Running the application
johnathanlyu 0:4d76c0bc0f78 9
johnathanlyu 0:4d76c0bc0f78 10 ## Requirements
johnathanlyu 0:4d76c0bc0f78 11
johnathanlyu 0:4d76c0bc0f78 12 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 :
johnathanlyu 0:4d76c0bc0f78 13
johnathanlyu 0:4d76c0bc0f78 14 - [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android.
johnathanlyu 0:4d76c0bc0f78 15
johnathanlyu 0:4d76c0bc0f78 16 - [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone.
johnathanlyu 0:4d76c0bc0f78 17
johnathanlyu 0:4d76c0bc0f78 18 Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md).
johnathanlyu 0:4d76c0bc0f78 19
johnathanlyu 0:4d76c0bc0f78 20 ## Building instructions
johnathanlyu 0:4d76c0bc0f78 21
johnathanlyu 0:4d76c0bc0f78 22 Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md).
johnathanlyu 0:4d76c0bc0f78 23
johnathanlyu 0:4d76c0bc0f78 24 ## Checking for success
johnathanlyu 0:4d76c0bc0f78 25
johnathanlyu 0:4d76c0bc0f78 26 **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.
johnathanlyu 0:4d76c0bc0f78 27
johnathanlyu 0:4d76c0bc0f78 28 1. Build the application and install it on your board as explained in the building instructions.
johnathanlyu 0:4d76c0bc0f78 29 1. Open the BLE scanner on your phone.
johnathanlyu 0:4d76c0bc0f78 30 1. Start a scan.
johnathanlyu 0:4d76c0bc0f78 31
johnathanlyu 0:4d76c0bc0f78 32 ![](img/start_scan.png)
johnathanlyu 0:4d76c0bc0f78 33
johnathanlyu 0:4d76c0bc0f78 34 **figure 1** How to start scan using nRF Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 35
johnathanlyu 0:4d76c0bc0f78 36 1. Find your device; it should be named `BATTERY`.
johnathanlyu 0:4d76c0bc0f78 37
johnathanlyu 0:4d76c0bc0f78 38 ![](img/scan_result.png)
johnathanlyu 0:4d76c0bc0f78 39
johnathanlyu 0:4d76c0bc0f78 40 **figure 2** Scan results using nRF Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 41
johnathanlyu 0:4d76c0bc0f78 42 1. Establish a connection with your device.
johnathanlyu 0:4d76c0bc0f78 43
johnathanlyu 0:4d76c0bc0f78 44 ![](img/connection.png)
johnathanlyu 0:4d76c0bc0f78 45
johnathanlyu 0:4d76c0bc0f78 46 **figure 3** How to establish a connection using Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 47
johnathanlyu 0:4d76c0bc0f78 48 1. Discover the services and the characteristics on the device. The *Battery service* has the UUID 0x180F and includes the *Battery level* characteristic which has the UUID 0x2A19.
johnathanlyu 0:4d76c0bc0f78 49
johnathanlyu 0:4d76c0bc0f78 50 ![](img/discovery.png)
johnathanlyu 0:4d76c0bc0f78 51
johnathanlyu 0:4d76c0bc0f78 52 **figure 4** Representation of the Battery service using Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 53
johnathanlyu 0:4d76c0bc0f78 54 1. Register for the notifications sent by the *Battery level* characteristic.
johnathanlyu 0:4d76c0bc0f78 55
johnathanlyu 0:4d76c0bc0f78 56 ![](img/register_to_notifications.png)
johnathanlyu 0:4d76c0bc0f78 57
johnathanlyu 0:4d76c0bc0f78 58 **figure 5** How to register to notifications using Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 59
johnathanlyu 0:4d76c0bc0f78 60
johnathanlyu 0:4d76c0bc0f78 61 1. You should see the battery level value change every half second. It begins at 50, goes up to 100 (in steps of 1), resets to 20 and so on.
johnathanlyu 0:4d76c0bc0f78 62
johnathanlyu 0:4d76c0bc0f78 63 ![](img/notifications.png)
johnathanlyu 0:4d76c0bc0f78 64
johnathanlyu 0:4d76c0bc0f78 65 **figure 6** Notifications view using Master Control Panel 4.0.5
johnathanlyu 0:4d76c0bc0f78 66
johnathanlyu 0:4d76c0bc0f78 67 If you can see the characteristic, and if its value is incrementing correctly, the application is working properly.
johnathanlyu 0:4d76c0bc0f78 68