Skip to content

Latest commit

 

History

History
30 lines (18 loc) · 1.34 KB

README.md

File metadata and controls

30 lines (18 loc) · 1.34 KB

WLEN (Wireless Low-Energy Network) project

Capstone project for my computer engineering bachelor. The project consists of a system capable of opportunistically reading sensor values from BLE tags (beacons) by a smartphone (gateway) and returning it to a backend with associated geolocation data.

Topology

It uses ECDSA for authentication of the BLE tag by the server, taking advantage of the extended advertising size available on BLE 5.0+.

BLE Protocol

The BLE tag (beacon) is a Holyiot 21014-V1.0, based on the nRF52810 chipset. The software was developed using Zephyr.

BLE Tag

The application running in the smartphone (gateway) was made using Flutter and has the following class diagram:

Class diagram

The backend was developed with Rust using Azure's cloud services. The HTTP parser runs inside an Azure Function and all the data is saved in an Azure Cosmos DB.

Backend

The smartphone app sends an HTTP post to the server with the following data: Api

The database has two collections, one for the beacon registration and the other for the positions received. Database

Here is an example of a plot of the data received from two moving beacons and 4 fixed gateways: Plot