Skip to content

Winner of FIAP'S Global Solution 2025.1 Challenge. This repository contains the architecture for a multi-agent system where five autonomous "Guardians" work in synergy to predict, manage, and respond to complex events like wildfires, epidemics, and infrastructure failures.

License

Notifications You must be signed in to change notification settings

YanCotta/global_solution_1_fiap

Repository files navigation

Sistema Guardião: Plataforma Nacional Integrada de Prevenção e Resposta a Eventos Extremos

Status: ✅ MVP SACI Funcionalmente Testado e Validado
Repositório: https://github.com/YanCotta/global_solution_1_fiap
Equipe: Yan Cotta
Última Atualização: Junho 2025

Para uma visão completa e detalhada do projeto, arquitetura, e especificações técnicas, consulte nosso MASTER_DOCUMENTATION.md.


NOTA IMPORTANTE: ESTE PROJETO COMPETIU ENTRE AS TURMAS DE 2025 DOS CURSOS DE IA & ML DA FIAP, E FOI O VENCEDOR DO DESAFIO GLOBAL SOLUTION DO PRIMEIRO SEMESTRE DE 2025 !!!!!

🚀 GUIA RÁPIDO PARA AVALIADORES

⏱️ Tempo estimado de revisão: 20-30 minutos para o essencial

Este repositório é extenso e rico em detalhes técnicos. Para uma avaliação eficiente e impactante, recomendamos a seguinte ordem de revisão:

📋 Roteiro de Avaliação Recomendado

  1. 🎯 Comece aqui - README.md (você está aqui)

    • Visão geral do projeto e status funcional
    • Demonstração do MVP SACI totalmente operacional
    • Evidências de testes realizados com sucesso
  2. 🎬 Vídeo de Demonstração - Veja o sistema funcionando em tempo real - Compreenda o fluxo completo: sensores → IA → alertas

  3. 🏗️ Diagramas C4 Interativos

    • Abra no navegador para visualização interativa
    • Arquitetura completa em 4 níveis de detalhamento
    • Entenda visualmente a complexidade e integração sistêmica
  4. 📚 Documentação Mestra

    • Aprofundamento técnico completo (1100+ linhas)
    • Modelo de negócios, arquitetura, stack tecnológico
    • Referência definitiva do projeto
  5. 🧠 Especificações de IA Avançada

    • NOSSO GRANDE DIFERENCIAL: MetaLearningEngine e ThreatCorrelationEngine
    • Arquiteturas de IA únicas e inovadoras
    • Capacidades emergentes e auto-organizacionais

🎯 Pontos de Destaque para Focar

  • ✅ MVP Funcional: Sistema SACI totalmente operacional e testado
  • 🧠 IA Avançada: Motores de meta-aprendizado e correlação de ameaças
  • 🏗️ Arquitetura Robusta: Design de sistemas distribuídos em escala nacional
  • 📊 Especificações Completas: Dashboards, APIs, e integrações detalhadas
  • 🎭 Inovação Cultural: Guardiões digitais inspirados no folclore brasileiro

Para Revisão Expressa (10 minutos)

Se o tempo for limitado, focalize nestas seções:

  1. Estado Atual do Projeto - Evidências de funcionalidade
  2. Testes Realizados - Validação técnica
  3. Diagramas C4 - Compreensão visual rápida
  4. Sumário Executivo - Visão estratégica

📁 Estrutura de Documentação

📄 README.md                           ← Você está aqui
📄 MASTER_DOCUMENTATION.md            ← Documentação principal (1100+ linhas)
📄 sistema_guardiao_c4_diagrams.html  ← Diagramas arquiteturais interativos
📁 docs/
  ├── ADVANCED_AI_SPECIFICATIONS.md   ← ⭐ Diferencial competitivo
  ├── DASHBOARD_SPECIFICATIONS.md     ← Interface e visualizações
  ├── API_SPECIFICATION.md           ← Endpoints e integrações
  └── DAY_6_COMPLETION_SUMMARY.md    ← Resumo de entregáveis
📁 src/                              ← Código funcional e testado
📁 test_data_simulation/             ← Casos de teste validados

💡 Dica: Este projeto demonstra não apenas funcionalidade técnica, mas também profundidade de engenharia, inovação em IA, e aplicação prática para problemas nacionais reais.


🎬 Demonstração em Vídeo

ASSISTA NOSSA DEMONSTRAÇÃO EM VÍDEO


🎯 Estado Atual do Projeto

PROJETO COMPLETO - 10 DIAS TOTALMENTE FINALIZADOS

O Sistema Guardião foi completamente desenvolvido durante os 10 dias planejados, com todas as especificações, arquiteturas e funcionalidades implementadas:

🚀 MVP SACI - TOTALMENTE FUNCIONAL E TESTADO

O subsistema SACI (Sistema de Prevenção de Incêndios) está 100% operacional com os seguintes componentes validados:

  • 🤖 Modelo de Machine Learning: Treinado e funcionando com Regressão Logística
  • 📊 Pipeline de Dados: Completo desde sensores até predições
  • 🔌 Integração ESP32: Pronto para hardware real
  • 🚨 Sistema de Alertas: Implementado com logging estruturado
  • 🐳 Docker: Configurado e testado
  • 📋 Testes Automatizados: Executados com sucesso

🏗️ ARQUITETURA COMPLETA ESPECIFICADA

  • 🖥️ Dashboard Executivo: Layout detalhado, componentes interativos, visualizações especializadas
  • 🧠 MetaLearningEngine: Sistema de meta-aprendizado para evolução contínua
  • 🕸️ ThreatCorrelationEngine: Motor de correlação multi-dimensional
  • ⚡ Sinergia Sistêmica: Propriedades emergentes e auto-organização
  • 🔗 Todos os 5 Subsistemas: CURUPIRA, IARA, SACI, BOITATÁ, ANHANGÁ completamente documentados

📚 DOCUMENTAÇÃO ABRANGENTE

Especificações completas desenvolvidas incluindo:

  • docs/DASHBOARD_SPECIFICATIONS.md - Especificações completas de interface
  • docs/ADVANCED_AI_SPECIFICATIONS.md - Motores de IA avançada
  • docs/API_SPECIFICATION.md - Endpoints e integrações
  • MASTER_DOCUMENTATION.md - Documentação central com 1100+ linhas

🏆 Testes Realizados com Sucesso (Junho 2025)

✅ Fase 1: Ambiente e Modelo de ML

  • Ambiente Virtual: Criado e configurado
  • Dependências: Todas instaladas (pandas, numpy, joblib, pyserial, scikit-learn)
  • Modelo ML: Treinado com dataset sintético (F1-score: 1.0000)
  • Arquivo do Modelo: models/saci_fire_risk_model.joblib criado com sucesso

✅ Fase 2: Aplicação de Integração

  • Carregamento do Modelo: ✅ Sucesso total
  • Logging Estruturado: ✅ Formatação profissional com timestamps
  • Tratamento de Erros: ✅ Gracioso para porta serial e modelo inexistente
  • Configuração de Paths: ✅ Imports funcionando corretamente

✅ Fase 3: Configuração Docker

  • docker-compose.yml: ✅ Verificado e configurado
  • Variável ML_MODEL_PATH: ✅ /app/models/saci_fire_risk_model.joblib
  • Volume Mount: ✅ ./models:/app/models configurado corretamente

✅ Fase 4: Documentação

  • Especificação MVP: ✅ Clara distinção entre MVP (DHT22, MQ-135) e especificação completa
  • README SACI: ✅ Documentação detalhada dos sensores atuais
  • Docstrings: ✅ Especificações detalhadas de argumentos/retornos
  • MASTER_DOCUMENTATION: ✅ ThreatEvent com origin_sensor_id documentado

✅ Fase 5: Estrutura de Arquivos

  • .gitignore: ✅ Exclui models/*.joblib e models/*.pkl
  • Diretório models/: ✅ Criado com modelo funcional

🚀 Guia de Instalação e Execução do MVP SACI (Simulado e Hardware Real)

Esta seção fornece instruções para configurar e executar o MVP do subsistema SACI. Para um guia mais abrangente cobrindo todos os aspectos do projeto, incluindo setup de ambiente, treinamento de modelo, testes Docker e visualização de diagramas C4, por favor, consulte a seção "Guia de Instalação e Teste Completo" mais abaixo neste documento ou a MASTER_DOCUMENTATION.md.

Executando o MVP SACI (Simulação de Dados Seriais)

Este modo permite testar a aplicação de integração do SACI sem a necessidade do hardware ESP32 físico. Ele simula o recebimento de dados via porta serial.

  1. Clone o repositório e configure o ambiente Python (siga os passos 1 do "Guia de Instalação e Teste Completo" abaixo, se ainda não o fez).

  2. Treine o modelo de Machine Learning (siga o passo 2 do "Guia de Instalação e Teste Completo" abaixo, se ainda não o fez).

  3. Execute a aplicação de integração SACI em modo simulado:

    python src/applications/saci_mvp_integration_app.py --port COM999

    (Substitua COM999 por uma porta serial virtual ou qualquer nome de porta que não esteja em uso, se necessário. A aplicação irá reportar um erro de conexão, o que é esperado neste modo, mas carregará o modelo e estará pronta para lógica de simulação futura, se implementada).

    Saída Esperada (Demonstração de Carregamento de Modelo e Falha Controlada de Porta Serial):

    Model loaded from models/saci_fire_risk_model.joblib
    2025-06-01 18:02:32,114 - INFO - Successfully loaded ML model from: models/saci_fire_risk_model.joblib
    2025-06-01 18:02:32,116 - ERROR - Failed to connect to serial port COM999. Please check the connection, port settings, and permissions.
    

Executando o MVP SACI (Com Hardware ESP32 Real)

Este modo utiliza um ESP32 físico com os sensores DHT22 e MQ-135/MQ-2 para enviar dados reais para a aplicação.

  1. Hardware Necessário:

    • ESP32-WROOM-32 ou similar
    • DHT22 (sensor de temperatura e umidade)
    • MQ-135 ou MQ-2 (sensor de gases/fumaça)
    • Protoboard, jumpers e cabo USB
  2. Conexões do Hardware:

    ESP32     | DHT22        ESP32     | MQ-135/MQ-2
    ----------|--------      ----------|--------
    3.3V      | VCC          3.3V      | VCC
    GND       | GND          GND       | GND
    GPIO 4    | DATA         GPIO 34   | AOUT (Pino Analógico)
    

    Consulte MASTER_DOCUMENTATION.md para diagramas de conexão detalhados, se necessário.

  3. Programação do ESP32:

    • Carregue o firmware src/hardware/esp32/saci_sensor_node.py no seu ESP32.
      • Ambiente Recomendado: Thonny IDE para MicroPython.
      • Certifique-se que o ESP32 está enviando dados no formato esperado pela saci_mvp_integration_app.py.
      • A porta serial correta (serial_port_name) pode precisar ser ajustada no saci_sensor_node.py se você estiver usando uma configuração específica ou depurando via UART diferente.
  4. Execute a Aplicação de Integração SACI:

    • Certifique-se que o ambiente Python está configurado e o modelo treinado (passos 1 e 2 do "Guia de Instalação e Teste Completo").
    • Execute o script, substituindo COM3 (Windows) ou /dev/ttyUSB0 (Linux) pela porta serial correta do seu ESP32:
      python src/applications/saci_mvp_integration_app.py --port COM3

    Saída Esperada com Hardware Real (Exemplo):

    Model loaded from models/saci_fire_risk_model.joblib
    2025-06-01 18:02:32 - INFO - Successfully loaded ML model
    2025-06-01 18:02:33 - INFO - Connected to ESP32 on COM3
    2025-06-01 18:02:34 - INFO - Timestamp: 2025-06-01 18:02:34 | Live Data: Temp=25.3°C, Hum=60.2%, Smoke ADC=420 -> Predicted Risk: No Fire Detected, P(Fire): 0.15
    

🚀 Guia de Instalação e Teste Completo (Geral)

Pré-requisitos

  • Python 3.9+
  • Git
  • Navegador Web (para visualizar diagramas C4)

1. Clone e Configure o Ambiente

# Clone o repositório
git clone https://github.com/YanCotta/global_solution_1_fiap.git
cd global_solution_1_fiap

# Crie o ambiente virtual
python -m venv venv

# Ative o ambiente virtual
# Windows:
venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate

# Instale as dependências
pip install -r requirements.txt

2. Treine e Teste o Modelo de ML

# Execute o script de treinamento do modelo
python src/ml_models/saci_fire_predictor.py

Saída Esperada:

--- Iniciating Data Loading and Preprocessing ---
Data loaded successfully from data/synthetic/fire_risk_dataset.csv
Preprocessing complete.
--- Data Loading and Preprocessing Completed ---

--- Splitting Data into Training and Test Sets ---
Training set size: 8 samples
Test set size: 2 samples
--- Data Splitting Completed ---

--- Training Logistic Regression Model ---
Logistic Regression model trained successfully.
Model saved to models/saci_fire_risk_model.joblib
--- Logistic Regression Model Training and Saving Completed ---

--- Live Prediction Example ---
Input: Temp=30.5°C, Hum=55.2%, Smoke ADC=350
Predicted Label: 1 (Fire Detected)
Prediction Probabilities: [P(No Fire)=0.0000, P(Fire)=1.0000]

3. Teste a Aplicação de Integração

# Teste com porta serial simulada (sem ESP32 físico)
python src/applications/saci_mvp_integration_app.py --port COM999

Saída Esperada:

Model loaded from models/saci_fire_risk_model.joblib
2025-06-01 18:02:32,114 - INFO - Successfully loaded ML model from: models/saci_fire_risk_model.joblib
2025-06-01 18:02:32,116 - ERROR - Failed to connect to serial port COM999. Please check the connection, port settings, and permissions.

4. Teste com Modelo Inexistente (Verificação de Erro)

# Teste tratamento de erro para modelo inexistente
python src/applications/saci_mvp_integration_app.py --port COM999 --model_path modelo_inexistente.joblib

Saída Esperada:

2025-06-01 18:02:45,058 - ERROR - Model file not found at 'modelo_inexistente.joblib'. Please check the path and ensure the file exists.

5. Visualize os Diagramas C4

# Abra o arquivo HTML dos diagramas C4
# Windows:
start sistema_guardiao_c4_diagrams.html
# Linux:
xdg-open sistema_guardiao_c4_diagrams.html
# macOS:
open sistema_guardiao_c4_diagrams.html

6. Execute com Docker (Opcional)

# Inicie todos os serviços
docker-compose up -d

# Verifique se todos os serviços estão rodando
docker-compose ps

# Veja os logs da API SACI
docker-compose logs saci_api

📁 Estrutura do Projeto

📁 global_solution_1_fiap/
├── 📄 README.md                                    # Este documento (português)
├── 📄 MASTER_DOCUMENTATION.md                      # Documentação técnica completa
├── 📄 sistema_guardiao_c4_diagrams.html           # 🎨 Diagramas C4 Interativos
├── 📁 src/                                        # Código fonte principal
│   ├── 📁 ml_models/
│   │   └── 📄 saci_fire_predictor.py              # ✅ Modelo ML treinado e funcionando
│   ├── 📁 applications/
│   │   └── 📄 saci_mvp_integration_app.py         # ✅ App integração testado
│   ├── 📁 hardware/esp32/
│   │   └── 📄 saci_sensor_node.py                 # Firmware ESP32 pronto
│   ├── 📁 data_collection/
│   │   └── 📄 saci_serial_reader.py               # Leitor serial configurado
│   └── 📁 core_logic/
│       └── 📄 guardian_orchestrator.py            # Orquestrador central
├── 📁 models/                                     # ✅ Modelos ML salvos
│   └── 📄 saci_fire_risk_model.joblib            # Modelo treinado e validado
├── 📁 data/synthetic/
│   └── 📄 fire_risk_dataset.csv                  # Dataset para treinamento
├── 📁 docs/                                      # Documentação detalhada
│   ├── 📄 DATA_MODELS.md                # Esquemas de banco de dados
│   ├── 📄 SACI_MVP_SPECIFICATION.md     # Especificação detalhada do MVP
│   ├── 📄 DATA_FLOWS.md                # Fluxos de dados entre subsistemas
│   ├── 📄 TECH_DEPENDENCIES.md         # Matriz de dependências tecnológicas
│   ├── 📄 API_SPECIFICATION.md          # Especificação da API
│   ├── 📄 IOT_PROTOCOLS.md             # Protocolos de comunicação IoT
│   ├── 📄 DASHBOARD_SPECIFICATIONS.md   # ✅ Especificações completas de dashboards
│   ├── 📄 ADVANCED_AI_SPECIFICATIONS.md # ✅ Motores de IA avançada
│   └── 📄 DAY_6_COMPLETION_SUMMARY.md   # ✅ Resumo do Dia 6
├── 📁 docker/                                    # Configurações Docker
├── 📁 kubernetes/                                # Configurações Kubernetes  
├── 📄 docker-compose.yml                         # ✅ Orquestração configurada
├── 📄 requirements.txt                           # ✅ Dependências validadas
└── 📄 .gitignore                                 # ✅ Configurado para modelos ML

🛡️ Os Cinco Guardiões Digitais

O Sistema Guardião é composto por cinco subsistemas inteligentes, cada um inspirado em uma figura do folclore brasileiro e especializado em um domínio crítico. As descrições abaixo estão alinhadas com a MASTER_DOCUMENTATION.md.

  • 🦶 CURUPIRA (Centro Unificado de Resposta e Proteção de Infraestruturas Críticas):

    • Missão: Proteção híbrida físico-digital de infraestruturas críticas.
    • Especialização: Correlação de ameaças cibernéticas com sensores físicos.
    • IA: Detector híbrido com redes neurais ensemble.
    • Plano de Implementação MVP: Conceito detalhado em Plano de Implementação dos Outros Subsistemas.
  • 🏥 IARA (Inteligência Artificial para Resposta e Alerta Epidemiológico):

    • Missão: Predição precoce de surtos através de monitoramento ambiental.
    • Especialização: Modelos epidemiológicos adaptativos (SEIR + RL).
    • IA: Análise biométrica distribuída e correlação comportamental.
    • Plano de Implementação MVP: Conceito detalhado em Plano de Implementação dos Outros Subsistemas.
  • 🔥 SACI (Sistema de Alerta e Combate a Incêndios Florestais):

    • Missão: Detecção ultra-precoce e coordenação autônoma de resposta.
    • Especialização: Inteligência de enxame (swarm intelligence).
    • IA: Algoritmos inspirados em colônia de formigas para coordenação distribuída.
    • Status: MVP Implementado e Testado.
  • BOITATÁ (Bloco Operacional Integrado para Tratamento de Anomalias Urbanas):

    • Missão: Prevenção de efeitos cascata em sistemas urbanos interdependentes.
    • Especialização: Digital twin urbano e análise de dependências.
    • IA: Modelagem de sistemas complexos e predição de falhas em cascata.
    • Plano de Implementação MVP: Conceito detalhado em Plano de Implementação dos Outros Subsistemas.
  • 📡 ANHANGÁ (Aliança Nacional Híbrida para Garantia de Atividades de Comunicação):

    • Missão: Comunicações resilientes durante colapso de infraestrutura.
    • Especialização: Redes mesh auto-organizáveis.
    • IA: Roteamento inteligente e priorização de mensagens por NLP.
    • Plano de Implementação MVP: Conceito detalhado em Plano de Implementação dos Outros Subsistemas.

🎯 Diferenciais do Sistema Guardião

🧠 Inteligência Artificial Agêntica

  • Orquestrador Central: GuardianCentralOrchestrator
  • Agentes Especializados: Cada subsistema com IA própria
  • Aprendizado Contínuo: Modelos que evoluem com novos dados
  • Tomada de Decisão Distribuída: Sem ponto único de falha

🌐 Arquitetura Escalável Nacional

  • Multi-Region: Preparado para os 26 estados brasileiros
  • Edge Computing: Processamento próximo aos sensores
  • Cloud Hybrid: Combinação de nuvem pública e privada
  • Microserviços: Componentes independentes e escaláveis

🔄 Integração Cultural Brasileira

  • Naming Convention: Inspirado no folclore brasileiro
  • Confiança Pública: Identidade cultural familiar
  • Comunicação: Linguagem acessível e regional

💻 Stack Tecnológico Principal

O Sistema Guardião emprega uma arquitetura moderna e robusta, utilizando tecnologias como Python para o desenvolvimento do backend e dos modelos de Inteligência Artificial, Kubernetes para orquestração de contêineres, e Apache Kafka para o streaming de eventos em tempo real. A persistência de dados é realizada através de uma abordagem multi-modal, incluindo PostgreSQL com TimescaleDB para séries temporais, Neo4j para grafos de dependências, InfluxDB para métricas de IoT, e Pinecone como banco vetorial para IA. A computação de borda (Edge Computing) utiliza microcontroladores ESP32 e dispositivos como Raspberry Pi 4.

Para um detalhamento completo da stack tecnológica, incluindo justificativas para cada escolha e as bibliotecas específicas utilizadas, consulte a seção 'TECH STACK CONSOLIDADO' em MASTER_DOCUMENTATION.md.


🔬 Detalhes dos Testes Realizados

Teste 1: Ambiente e Dependências

# Comando executado:
pip install -r requirements.txt

# Pacotes validados:
✅ pandas 2.2.3
✅ numpy 2.2.6  
✅ joblib 1.5.1
✅ pyserial 3.5
✅ scikit-learn 1.6.1

Teste 2: Treinamento do Modelo ML

# Comando executado:
python src/ml_models/saci_fire_predictor.py

# Resultados obtidos:
✅ Dataset carregado: data/synthetic/fire_risk_dataset.csv
✅ Modelo treinado: Regressão Logística
✅ Acurácia: 100% (dados sintéticos)
✅ Modelo salvo: models/saci_fire_risk_model.joblib
✅ Predição demonstrada: Input simulado → Output "Fire Detected"

Teste 3: Aplicação de Integração

# Comando executado:
python src/applications/saci_mvp_integration_app.py --port COM999

# Comportamento validado:
✅ Carregamento do modelo ML
✅ Logging estruturado com timestamps
✅ Tratamento gracioso de erro de porta serial
✅ Mensagens informativas para usuário

Teste 4: Configuração Docker

# Validado em docker-compose.yml:
✅ Serviço saci_api configurado
✅ ML_MODEL_PATH: /app/models/saci_fire_risk_model.joblib
✅ Volume mount: ./models:/app/models
✅ Dependências de serviços configuradas

🎨 Como Visualizar os Diagramas C4

Os diagramas de arquitetura estão disponíveis em formato HTML interativo:

Método 1: Abertura Direta

# Windows
start sistema_guardiao_c4_diagrams.html

# Linux  
xdg-open sistema_guardiao_c4_diagrams.html

# macOS
open sistema_guardiao_c4_diagrams.html

Método 2: Servidor Local

# Python
python -m http.server 8080

# Acesse: http://localhost:8080/sistema_guardiao_c4_diagrams.html

Conteúdo dos Diagramas:

  • C1 - Context: Visão geral do sistema
  • C2 - Container: Componentes principais
  • C3 - Component: Detalhes dos subsistemas
  • C4 - Code: Estruturas de classes e funções

🚀 Como Testar com ESP32 Real

Hardware Necessário (Detalhado na seção MVP SACI acima):

  • ESP32-WROOM-32 ou similar
  • DHT22
  • MQ-135 ou MQ-2
  • Protoboard, jumpers, cabo USB

Conexões (Detalhado na seção MVP SACI acima):

Consulte a seção "Executando o MVP SACI (Com Hardware ESP32 Real)" para o diagrama de conexões.

Programação (Detalhado na seção MVP SACI acima):

Consulte a seção "Executando o MVP SACI (Com Hardware ESP32 Real)" para as instruções de programação do ESP32 e execução da aplicação.

Saída Esperada com Hardware Real (Exemplo):

Consulte a seção "Executando o MVP SACI (Com Hardware ESP32 Real)" para um exemplo da saída esperada.


📚 Documentação Adicional

Documentos Principais:

Documentos Técnicos:

Diagramas e Visualizações:


🏆 Conquistas e Estado Atual

Implementado e Testado

  • MVP SACI completo e funcional
  • Pipeline de ML end-to-end
  • Integração ESP32 preparada
  • Sistema de logging profissional
  • Configuração Docker validada
  • Documentação técnica completa

⚠️ Limitações do MVP e Roadmap de Evolução

Demonstrando Maturidade Técnica: Conhecimento das Limitações e Plano de Evolução

O MVP atual do SACI foi projetado para validação de conceito e demonstração funcional. Como toda implementação MVP, possui limitações intencionais que serão endereçadas na evolução para produção:

🔒 Principais Limitações (Intencionais no MVP)

  • Segurança Simplificada: Configurações expostas em docker-compose.yml, comunicação serial sem criptografia
  • Escalabilidade Limitada: Comunicação ponto-a-ponto via porta serial, processamento síncrono centralizado
  • Persistência Básica: Modelo ML estático sem retreinamento, armazenamento apenas em memória/logs locais

Roadmap de Migração MVP → Produção

FASE 1 (MVP ATUAL) ✅ ────────► FASE 2 (BETA) ────────► FASE 3 (PRODUÇÃO)
                                                                        
📡 Serial/USB                  📡 MQTT + WiFi/LoRa     📡 MQTT + Kafka + gRPC
🧠 Joblib Local                🧠 Model API + Versioning 🧠 MLOps + AutoML + Drift Detection  
🔐 Docker Compose              🔐 Kubernetes Secrets   🔐 Vault + mTLS + Zero Trust
📊 Logs Locais                 📊 PostgreSQL + Monitoring 📊 Data Lake + Analytics Pipeline
🏗️ Monolítico                  🏗️ Microserviços       🏗️ Arquitetura Distribuída

📚 Para análise detalhada das limitações, estratégias de migração e especificações de arquitetura de produção, consulte: MASTER_DOCUMENTATION.md

💡 Por Que Essas Limitações São Intencionais

  1. Validação Rápida: Permitiu demonstrar o valor do sistema em 10 dias
  2. Complexidade Incremental: Evitou over-engineering na fase de conceito
  3. Aprendizado Iterativo: Cada limitação identificada informa o design de produção
  4. Apresentação Clara: Avaliadores podem focar no valor do negócio, não na infraestrutura

🎯 Resultado: MVP que demonstra viabilidade técnica completa enquanto mantém simplicidade operacional para avaliação e teste.

🔄 Próximos Passos

  • Implementação dos MVPs de outros subsistemas: Com base nos planos conceituais detalhados em IMPLEMENTACAO_OUTROS_SUBSISTEMAS.md, iniciar o desenvolvimento dos MVPs para CURUPIRA, IARA, BOITATÁ e ANHANGÁ.
  • Teste com hardware ESP32 real
  • Dashboard web responsivo
  • API REST completa
  • Testes de integração automatizados
  • Deployment em produção

🤝 Como Contribuir

Para Desenvolvedores:

  1. Faça fork do repositório
  2. Clone sua fork localmente
  3. Siga o guia de instalação acima
  4. Execute os testes para verificar funcionamento
  5. Implemente melhorias
  6. Submeta pull request

Para Testadores:

  1. Clone o repositório
  2. Execute todos os comandos de teste acima
  3. Reporte bugs via GitHub Issues
  4. Sugira melhorias na documentação

Para Pesquisadores:

  1. Revise a documentação técnica
  2. Analise os diagramas C4
  3. Proponha extensões dos algoritmos ML
  4. Contribua com datasets reais

Arquitetura Multi-Camadas

O sistema utiliza uma arquitetura multi-camadas robusta e escalável. Para uma visão geral detalhada da arquitetura, incluindo os diagramas C4, por favor, consulte a seção 'ARQUITETURA SISTÊMICA CONSOLIDADA' em MASTER_DOCUMENTATION.md.


🚀 MVP Focus: SACI Fire Prevention

Objetivo do MVP: Demonstrar capacidades completas do subsistema SACI com hardware ESP32 + sensores + modelo ML para predição de risco de incêndio.

Componentes do MVP:

  • ESP32 com sensores de temperatura, umidade e fumaça
  • Modelo de Machine Learning para predição de risco
  • Dashboard em tempo real
  • Coordenação com outros subsistemas (simulado)

📈 Roadmap 10 Dias (Resumido)

✅ Dias 1-2: Fundação Arquitetural

  • Documentação técnica consolidada
  • Diagramas C4 completos
  • Modelo de dados unificado

✅ Dias 3-4: Protótipos Core

  • Detectores híbridos funcionais
  • Firmware ESP32 multi-sensor
  • Modelos ML básicos

✅ Dias 5-6: Integração

  • Dashboard unificado
  • API Gateway central
  • Testes de comunicação

✅ Dias 7-8: IA e Analytics

  • Pipeline ML end-to-end
  • Sistema de alertas inteligentes
  • Métricas de performance

✅ Dias 9-10: Finalização

  • Vídeo demonstrativo
  • Documentação final
  • Preparação para entrega

🏛️ Estado Piloto: Minas Gerais

Justificativa:

  • Diversidade geográfica (cerrado, mata atlântica, urbano)
  • Histórico de eventos extremos (Brumadinho, secas, incêndios)
  • Hub tecnológico (Belo Horizonte)
  • Parcerias acadêmicas (UFMG, PUC Minas)

🎯 Valores Únicos de Proposta

  • Inteligência Preventiva: Alerta 72h antes de 85% dos eventos críticos
  • Coordenação Emergente: IA agêntica sem ponto único de falha
  • Integração Cultural: Folclore brasileiro para confiança pública
  • Escalabilidade Nacional: Arquitetura para 200M+ cidadãos

📚 Estrutura do Repositório

A estrutura do projeto está organizada da seguinte forma:

📁 global_solution_1_fiap/
├── 📄 README.md                                    # Este documento (português)
├── 📄 MASTER_DOCUMENTATION.md                      # Documentação técnica completa e centralizada
├── 📄 sistema_guardiao_c4_diagrams.html           # 🎨 Diagramas C4 Interativos da arquitetura
├──  src/                                        # Código fonte principal
│   ├── 📁 ml_models/                             # Scripts para treinamento e predição de modelos de IA/ML
│   │   └── 📄 saci_fire_predictor.py              # Ex: Modelo de predição de incêndio do SACI
│   ├── 📁 applications/                           # Aplicações de integração e serviços principais
│   │   └── 📄 saci_mvp_integration_app.py         # Ex: Aplicação de integração do MVP SACI
│   ├── 📁 hardware/esp32/                       # Firmware para dispositivos ESP32
│   │   └── 📄 saci_sensor_node.py                 # Ex: Nó sensor do SACI para ESP32
│   ├── 📁 data_collection/                      # Scripts para coleta e leitura de dados de sensores
│   │   └── 📄 saci_serial_reader.py               # Ex: Leitor serial para dados do SACI
│   └── 📁 core_logic/                           # Lógica central e orquestração do sistema
│       └── 📄 guardian_orchestrator.py            # Componente GuardianCentralOrchestrator
├── 📁 models/                                     # Modelos de Machine Learning treinados e serializados
│   └── 📄 saci_fire_risk_model.joblib            # Ex: Modelo SACI salvo
├── 📁 data/                                       # Dados utilizados pelo projeto
│   └── 📁 synthetic/                             # Dados sintéticos para desenvolvimento e testes
│       └── 📄 fire_risk_dataset.csv              # Ex: Dataset sintético para o SACI
├── 📁 docs/                                      # Documentação técnica detalhada e complementar
│   ├── 📄 DATA_MODELS.md                         # Modelos de dados, esquemas de BD
│   ├── 📄 SACI_MVP_SPECIFICATION.md              # Especificações detalhadas do MVP SACI
│   ├── 📄 DATA_FLOWS.md                         # Diagramas e descrição de fluxos de dados
│   ├── 📄 TECH_DEPENDENCIES.md                  # Matriz de dependências tecnológicas
│   ├── 📄 API_SPECIFICATION.md                   # Especificação das APIs do sistema
│   ├── 📄 IOT_PROTOCOLS.md                      # Protocolos de comunicação IoT utilizados
│   ├── 📄 DASHBOARD_SPECIFICATIONS.md            # Especificações para os dashboards visuais
│   ├── 📄 ADVANCED_AI_SPECIFICATIONS.md          # Detalhamento dos motores de IA avançada
│   └── 📄 DAY_6_COMPLETION_SUMMARY.md            # Resumo das entregas do Dia 6
├── 📁 docker/                                    # Arquivos de configuração Docker específicos por serviço
├── 📁 kubernetes/                                # Manifestos e configurações para deployment em Kubernetes
├── 📄 docker-compose.yml                         # Arquivo Docker Compose para orquestração local
├── 📄 requirements.txt                           # Dependências Python do projeto
├── 📁 assets/                                    # Recursos como imagens, apresentações (não código)
├── 📁 .github/workflows/                         # Workflows para CI/CD com GitHub Actions
└── 📄 .gitignore                                 # Especifica arquivos e diretórios ignorados pelo Git

Uma descrição mais detalhada da arquitetura e dos componentes pode ser encontrada em MASTER_DOCUMENTATION.md.


"Assim como as lendas brasileiras protegiam nossas terras, o Sistema Guardião protegerá nosso futuro."


🤝 Como Contribuir

  1. Clone o repositório
  2. Revise a documentação principal
  3. Explore os diagramas C4
  4. Acompanhe o progresso via Issues e Projects

💫 Inspiração Cultural

"Assim como as lendas brasileiras protegiam nossas terras, o Sistema Guardião protegerá nosso futuro."

About

Winner of FIAP'S Global Solution 2025.1 Challenge. This repository contains the architecture for a multi-agent system where five autonomous "Guardians" work in synergy to predict, manage, and respond to complex events like wildfires, epidemics, and infrastructure failures.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •