For slides and example code, see lesson 5
Note: Do not work on this repository right away.
Check existing forks to find the specific repository for your class.
- Build and run the nRF52840_HrmBlePeripheral example.
- Explore the HRM example using a smartphone app,
e.g. nRF Connect for Android or iOS. - Try to enable notifications to get value updates.
- Build and run the nRF52840_UartBlePeripheral example.
- Write bytes to RX with a generic BLE explorer app.
- Check the serial monitor to see the received bytes.
- Why do some bytes not show up?
- Build and run the nRF52840_UartBleCentral example.
- Open the Arduino serial monitor to enter a message.
- Use a second nRF52840 as a UART peripheral.
- Build and run the nRF52840_BeaconBleObservable example.
- Test the beacon with a dedicated iOS/Android app.
- Which information is transferred by a beacon?
- Start a scan in a public place, e.g. Zürich HB.
- Build and run the nRF52840_ScannerBleCentral example.
- Add a checkReportForUuid() for the Battery Service.
- Can you spot the UUID in the advertising data?
- Design and implement an API for the DHT11 sensor.
- Create UUIDs for your service and its characteristics.
- Allow the central to read temperature and humidity.
- Chose a data format that fits the sensor value range.
- Test your peripheral with a generic BLE explorer.
- Done? Consider adding support for notifications.