Skip to content

Embedded systems project using STM32 Nucleo to create a private sensor network with LoRa protocol.

Notifications You must be signed in to change notification settings

utbrott/lora-psn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoRa Private Sensor Network

Embedded Systems IOT project that utilizes STM32 Nucleo and USI STM32 LoRa expansion to create a private sensor network.

Developed for Master's Thesis @ WUT Warsaw University of Technology.

Features

  • Slave modules refresh sensor readouts periodically,
  • Slave boards store readouts in a buffer, for faster response handling,
  • Slave responses to Master requests are handled via interrupts,
  • Master board handles requests on a non-blocking timer,

Built with

  • STM32 L152 Nucleo-64 development board,
  • USI STM32 Nucleo expansion board for LoRa,
  • BME280 I2C/SPI breakout board sensors (SLAVE modules),

File structure:

.
├── include
│   ├── bme280.h
│   ├── debug.h
│   ├── globals.h
│   ├── lora.h
│   ├── main.h
│   └── rollingavg.h
├── src
│   ├── bme280.cpp
│   ├── debug.cpp
│   ├── lora.cpp
│   ├── main.cpp
│   └── rollingavg.cpp
├── platformio.ini
└── README.md   --> This file
  • bme280.h - interfacing with Adafruit BME280 sensor breakout board,
  • debug.h - helper functions for debugging through Serial,
  • globals.h - project-wide definitions, typedefs, functions,
  • lora.h - interfacing with USI STM32 LoRa expansion shield,

Future development note

Project was built using PlatformIO Core CLI and PlatformIO IDE for VSCode.

About

Embedded systems project using STM32 Nucleo to create a private sensor network with LoRa protocol.

Topics

Resources

Stars

Watchers

Forks

Languages