Skip to content

M7MEDpro/Projecto-Messio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Projecto-Messio

Distributed IoT System: ESP32 Hardware Control + C++ Backend + Flutter Mobile

ESP32 C++ Flutter Dart PlatformIO

Multi-layered IoT architecture integrating embedded systems, backend infrastructure, and mobile applications

Features β€’ Architecture β€’ Tech Stack β€’ Team


πŸ“– Overview

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.


✨ Features

πŸ”Œ Hardware Layer

  • Dual ESP32 microcontrollers
  • Servo motors, LEDs, buzzers
  • Sensor data collection
  • PlatformIO firmware

βš™οΈ Backend Services

  • Standalone C++ server
  • RESTful API endpoints
  • Real-time data processing
  • Device management

πŸ“± Mobile Application

  • Flutter frontend
  • Dart backend layer
  • Cross-platform (iOS/Android)
  • Device control dashboard

πŸ” System Integration

  • REST API communication
  • Multi-device synchronization
  • Real-time status updates
  • Remote hardware control

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  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            β”‚                      β”‚
β”‚            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                      β”‚
β”‚                                                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Data Flow

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


πŸ› οΈ Tech Stack

Embedded Systems

ESP32 Microcontrollers (Γ—2)  β†’  PlatformIO  β†’  C/C++ Firmware

Backend Infrastructure

C++ Core Server  β†’  RESTful APIs  β†’  Dart Backend Layer

Mobile Development

Flutter Framework  β†’  Dart Language  β†’  Cross-Platform Apps

Development Tools

Category Technology
Embedded IDE CLion, PlatformIO
Mobile IDE Android Studio
Version Control Git, GitHub

πŸ“ Project Structure

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

πŸ“Έ Project Gallery

Mobile Application Interface

Mobile App Interface

Flutter mobile app showing device control dashboard


Physical Hardware Setup

Hardware Setup

ESP32 microcontrollers with connected hardware components


Demo Video

▢️ Watch Full Application Demo


πŸ‘₯ Team


πŸŽ“ Academic Context

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

🀝 Contributing

Suggestions and feedback are welcome!

Fork the repository β†’ Create your feature branch β†’ Submit a pull request


πŸ“ License

Educational project developed for university coursework.


πŸ“¬ Contact

Questions or collaboration? Reach out via GitHub Issues or connect with team members through their profiles.


Built by university students

⬆️ Back to Top

About

Distributed IoT System: ESP32 Hardware Control + C++ Backend + Flutter Mobile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors