Multi-layered IoT architecture integrating embedded systems, backend infrastructure, and mobile applications
Features β’ Architecture β’ Tech Stack β’ Team
Projecto-Messio is a distributed IoT system developed for Programming 1 and Digital Design university courses. The project demonstrates real-world integration of hardware control, server-side processing, and mobile interfaces through a multi-component architecture.
ESP32 microcontrollers manage physical hardware (servo motors, LEDs, buzzers, sensors), a C++ backend handles data processing and business logic, while a Flutter mobile application with Dart backend layer provides real-time monitoring and control capabilities.
|
|
|
|
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PROJECTO-MESSIO SYSTEM ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
HARDWARE LAYER (Physical Location A)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββ βββββββββββββββββββ β
β β ESP32 #1 β β ESP32 #2 β β
β β (Controller) β β (Controller) β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ β
β β β β
β ββ π΄ LEDs ββ π΄ LEDs β
β ββ π Buzzer ββ π Buzzer β
β ββ βοΈ Servo Motors ββ βοΈ Servo Motors β
β ββ π‘ Sensors ββ π‘ Sensors β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
β REST API / HTTP Requests
β
βΌ
BACKEND LAYER (Physical Location B)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββ β
β β C++ Backend Server β β
β ββββββββββββββββββββββββ€ β
β β β’ Business Logic β β
β β β’ Data Processing β β
β β β’ API Endpoints β β
β β β’ Device Management β β
β ββββββββββββ¬ββββββββββββ β
β β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
β REST API / HTTP Requests
β
βΌ
MOBILE LAYER (Physical Location C)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββ β
β β Dart Backend Layer β β
β ββββββββββββββββββββββββββββββββ€ β
β β β’ Mobile Business Logic β β
β β β’ API Integration β β
β β β’ Data Transformation β β
β ββββββββββββ¬ββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββ β
β β Flutter Mobile App β β
β ββββββββββββββββββββββββββββββββ€ β
β β β’ User Interface β β
β β β’ Control Dashboard β β
β β β’ Real-time Monitoring β β
β β β’ Device Controls β β
β ββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ESP32 Devices β Control hardware (LEDs, servos, buzzers) and collect sensor data
C++ Backend β Process requests and manage business logic
Dart Backend β Handle mobile app logic and data transformation
Flutter App β Display interface for monitoring and control
ESP32 Microcontrollers (Γ2) β PlatformIO β C/C++ Firmware
C++ Core Server β RESTful APIs β Dart Backend Layer
Flutter Framework β Dart Language β Cross-Platform Apps
| Category | Technology |
|---|---|
| Embedded IDE | CLion, PlatformIO |
| Mobile IDE | Android Studio |
| Version Control | Git, GitHub |
Projecto-Messio/
β
βββ π‘ .idea/ # CLion IDE configuration
β
βββ π₯οΈ C++ Backend/ # Core backend server
β βββ ESP1/ # ESP32 Unit 1 firmware
β βββ ESP2/ # ESP32 Unit 2 firmware
β βββ backend server/ # C++ server implementation
β
βββ π± MobileApp/ # Flutter mobile application
β βββ lib/ # Dart source code
β βββ android/ # Android platform files
β βββ ios/ # iOS platform files
β βββ pubspec.yaml
β
βββ π docs/ # Documentation & media
β βββ images/
β β βββ home.jpg
β β βββ app.jpg
β βββ videos/
β βββ demo.mp4
β
βββ π README.md
Flutter mobile app showing device control dashboard
ESP32 microcontrollers with connected hardware components
Mohamed Badawy |
Khaled Karam |
Omar Mustafa |
Mariam Mohamed |
Abdelrahman Waleed |
Integrated Two-Course University Project
This project was developed to fulfill requirements for two complementary university courses, demonstrating the practical application of theoretical concepts across hardware and software domains.
| Course | Focus |
|---|---|
| Programming 1 | Software development fundamentals, algorithms, and C++ programming |
| Digital Design | Digital logic circuits, Boolean algebra, sequential/combinational logic, and hardware design principles |
Suggestions and feedback are welcome!
Fork the repository β Create your feature branch β Submit a pull request
Educational project developed for university coursework.
Questions or collaboration? Reach out via GitHub Issues or connect with team members through their profiles.
Built by university students