Project repo for the Saxion Internet of Things wireless-communication class for 2023-2024 Q1 & Q2.
Explore the docs »
The goal of this project is to create a wireless communication system between a central and multiple peripherals. We have decided to create an app to display environmental data from multiple sensors, for example temperature and humidity.
We have created three different programs during this project. Two of which are BLE peripherals and one is a BLE central. The BLE peripherals are a Raspberry Pi and a Nordic nrf52840. The central is a mobile phone running either Android. IOS should also work but has not been tested yet since we do not have an IOS device.
- Show generic information about all nearby BLE peripherals.
- Connect to our own BLE room sensor peripherals.
- Display temperature and humidity data from multiple DHT22 sensors.
- Sync the time across all devices.
- Store all readings in a local database.
Each of the three programs have their own README.md file with instructions on how to run them.
All room sensors from the previous hour are displayed on the home screen. The user can click on a sensor name to change the name of the sensor. Data will still be shown even when the device is not currently connected to the sensor.
All nearby sensors are displayed on the connectivity screen.
The list of devices can be filtered to only show devices that work with the app.
A modal with some generic device info will be shown after clicking on a specific device.
After clicking on the connect button the app will also show all the available services for the device. All the characteristic values for the temperature and humidity are handled in the background via a notify event from the peripherals.
Distributed under the MIT License. See LICENSE
for more information.