Skip to content

Wireless Communication System: featuring BLE peripherals using Rust and C++ syncing environmental data, including .NET MAUI Android app

License

Notifications You must be signed in to change notification settings

NancyTang50/wireless-communication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Icon

Wireless Communication

Project repo for the Saxion Internet of Things wireless-communication class for 2023-2024 Q1 & Q2.
Explore the docs »

Table of Contents

About The Project

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.

Feature

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

Built With

Getting Started

Each of the three programs have their own README.md file with instructions on how to run them.

App preview

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.

App preview

All nearby sensors are displayed on the connectivity screen.

App preview

The list of devices can be filtered to only show devices that work with the app.

App preview

A modal with some generic device info will be shown after clicking on a specific device.

App preview

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.

App preview

License

Distributed under the MIT License. See LICENSE for more information.

About

Wireless Communication System: featuring BLE peripherals using Rust and C++ syncing environmental data, including .NET MAUI Android app

Topics

Resources

License

Stars

Watchers

Forks