Important: Before you run this example, make sure to program the SoftDevice.
The Glucose Application is an example that implements the Glucose Profile using the hardware delivered in the nRF5 Development Kit.
The application includes the two services in the Glucose Profile:
In addition, use of the Battery Service is also demonstrated.
When the application starts, a timer for generating battery measurements is started.
The actual measurements are hard-coded values. They get added when connected and bonded to a central, at each press of Button 2. The timestamps are simulated and it uses the Record Access Control point and implements the filtering on sequence number. It supports only glucose measurement characteristic, not glucose context.
You can find the source code and the project file of the example in the following folder: <InstallFolder>\examples\ble_peripheral\ble_app_gls
Button assignments - in addition to those defined in BSP BLE Button Assignments:
The Glucose Application secures the bond using Man-in-the-Middle protection (MITM). A passkey must be entered at the central to complete the bonding and ensure MITM protection. The Glucose Application will present the passkey during bonding. It is sent on the UART. It is therefore important that UART is set up correctly on the receiving side. The application uses the following UART settings:
If a collector does not use MITM protection, the Glucose Application will disconnect and delete the bond to enforce using MITM protection.
The Glucose Meter Profile uses the Record Access Control Point characteristic to access all measurements. This means that the sensor does not automatically send new measurements, but the collector has to fetch them writing request to the control point (see developer.bluetooth.org for more detail on the RACP characteristic).
Test the Glucose Meter Application with the nRF Toolbox app, which is available on both iOS (App Store) and Android (Google Play).
You can also test the application with nRF Connect by performing the following steps: