This repository contains the thesis and implementation by Dimitrios Kalemis, submitted to the National Technical University of Athens in July 2024.
It explores the design and deployment of an urban IoT network based on LoRa/LoRaWAN, focusing on low-power, long-range, and scalable communication for smart devices.
In the age of digital technology, the Internet of Things (IoT) enables smart, interconnected devices to collect and exchange data, fostering automation and efficiency across domains such as smart cities, healthcare, agriculture, and home automation.
Within this context, LoRa (Long Range) emerges as a key wireless communication technology providing long-distance connectivity with low energy consumption — ideal for IoT use cases in hard-to-reach or resource-constrained environments.
This thesis:
- Investigates the principles, advantages, and challenges of LoRa and LoRaWAN.
- Designs and deploys an urban LoRaWAN network supporting multiple IoT devices.
- Implements and tests a security application using a Passive Infrared (PIR) motion sensor over the LoRa network.
- Evaluates the system’s performance and proposes improvements.
- 📑 Theoretical and technical analysis of LoRa and LoRaWAN for IoT.
- 🔨 Implementation of end-nodes using ESP32 and Arduino with LoRa modules.
- 📡 Deployment of a gateway and integration with The Things Stack (TTN).
- 📱 Development of a mobile app (Flutter) and backend (Firebase & Node-RED) for device monitoring and control.
- 🧪 Evaluation of network performance and range tests in an urban setting.
thesis.pdf
- Full thesis document
/arduino_sketches/
- Microcontroller code for end-nodes (ESP32/Arduino)
/app/
- Mobile app built with Flutter
/backend/
- Scripts and configurations for Firebase & Node-RED
/data/
- Test data and performance measurements
Navigate to /arduino_sketches/
and follow the provided instructions to build and upload firmware to ESP32 or Arduino boards.
Go to /app/
, install Flutter and open the project in Android Studio:
cd app
flutter pub get
flutter run
The backend handles data collection, processing, and storage using Firebase and Node-RED.
- Firebase
- Stores user and device data.
- Manages authentication.
- Node-RED
- Routes and processes messages from the LoRaWAN network to Firebase.
See thesis.pdf for more details.
If you use this work, please cite it as:
Dimitrios Kalemis (2024). Urban LoRaWAN Network Design & Implementation for IoT Applications. Diploma Thesis, National Technical University of Athens.
Special thanks to my supervisor Prof. Panagiotis Tsanakas for his guidance, and to all colleagues and loved ones who supported me throughout this project.