Skip to content

Latest commit

 

History

History
354 lines (262 loc) · 12.5 KB

File metadata and controls

354 lines (262 loc) · 12.5 KB

🚀 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

FeaturesArchitectureTech StackTeam


📖 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