Skip to content

henriquesilvadev/cap1_fase4

Repository files navigation

FIAP - Faculdade de Informática e Administração Paulista

FIAP - Faculdade de Informática e Admnistração Paulista


FarmTech Solutions - Agricultura Inteligente com IA

Sistema de análise preditiva para agricultura utilizando Machine Learning e dados de sensores IoT.

📋 Sobre o Projeto

FarmTech Solutions é uma aplicação de Inteligência Artificial focada em agricultura de precisão. O sistema analisa dados de sensores agrícolas armazenados no banco de dados Oracle da FIAP para gerar previsões e recomendações sobre:

  • Umidade do solo
  • pH do solo
  • Produtividade das culturas
  • Necessidades de irrigação e fertilização

🎯 Objetivos

  • Aplicar Machine Learning supervisionado (regressão) em dados agrícolas
  • Conectar à tabela SENSORES do banco Oracle FIAP
  • Gerar previsões sobre condições do solo e produtividade
  • Fornecer recomendações automatizadas para manejo agrícola

🛠️ Tecnologias

  • Python 3.11+
  • Oracle Database (FIAP Cloud)
  • Scikit-Learn (Machine Learning)
  • Pandas & NumPy (Análise de dados)
  • Streamlit (Dashboard)
  • Plotly (Visualizações interativas)
  • Docker (Containerização)

📊 Banco de Dados

Conexão Oracle FIAP:

  • Hostname: oracle.fiap.com.br
  • Port: 1521
  • SID: ORCL
  • Username: RM567102
  • Password: 240582
  • Tabela: SENSORES

Warning

Aviso de Segurança: As credenciais acima são fornecidas exclusivamente para fins acadêmicos e de avaliação do projeto na FIAP. Em um ambiente de produção real, jamais exponha senhas ou chaves de acesso no código fonte ou em arquivos de configuração versionados. Consulte o arquivo LICENSE para mais informações.

🚀 Quick Start

Opção 1: Docker (Recomendado)

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

# Acessar dashboard
open http://localhost:8501

Opção 2: Local

# Instalar dependências
pip install -r requirements.txt

# Executar dashboard
streamlit run src/app.py

Opção 3: Streamlit Cloud

Acesse: FarmTech Solutions Cloud

📁 Estrutura do Projeto

cap1_atividade/
├── .streamlit/            # Configuração Streamlit Cloud
│   └── config.toml       # Tema e configurações
├── src/                   # Código fonte
│   ├── app.py            # Dashboard Streamlit
│   ├── config.py         # Configurações centralizadas
│   ├── database/         # Conexão com Oracle
│   │   ├── __init__.py
│   │   └── connection.py
│   ├── ml/               # Modelos de ML
│   │   ├── __init__.py
│   │   ├── models.py     # Modelos (Linear, Ridge, RandomForest)
│   │   └── trainer.py    # Pipeline de treinamento
│   └── utils/            # Utilitários
│       ├── __init__.py
│       ├── data_loader.py      # Carregamento de dados
│       ├── preprocessing.py    # Pré-processamento
│       └── recommendations.py  # Motor de recomendações
├── models/               # Modelos treinados
├── data/                 # Dados processados
├── logs/                 # Logs da aplicação
├── docker-compose.yml    # Orquestração Docker
├── Dockerfile           # Imagem Docker
├── packages.txt         # Dependências do sistema (Streamlit Cloud)
└── requirements.txt     # Dependências Python

🤖 Modelos de Machine Learning

  1. Previsão de Umidade do Solo

    • Algoritmo: Regressão Linear
    • Features: Temperatura, umidade ar, precipitação, hora do dia
    • Métricas: R² > 0.85, MAE < 5%
  2. Previsão de pH

    • Algoritmo: Ridge Regression (α=1.0)
    • Features: Umidade solo, temperatura, NPK
    • Métricas: R² > 0.80, MAE < 0.3
  3. Previsão de Produtividade

    • Algoritmo: Random Forest Regressor (100 árvores)
    • Features: Todos os sensores agregados
    • Métricas: R² > 0.90, MAE < 300 kg/ha

📈 Funcionalidades do Dashboard

🏠 Home

  • Status do sistema em tempo real
  • Métricas principais (umidade, pH, temperatura, produtividade)
  • Visão geral das funcionalidades

📊 Análise de Dados

  • Séries temporais interativas
  • Matriz de correlação
  • Estatísticas descritivas
  • Tabela de dados recentes

🤖 Previsões

  • Previsões individuais com sliders
  • Previsões em lote
  • Comparação: previsto vs real
  • Métricas de desempenho dos modelos

💡 Recomendações

  • Irrigação automatizada
  • Correção de pH e fertilização
  • Manejo de temperatura
  • Controle fitossanitário
  • Sistema de prioridades (Crítico, Alto, Médio, Baixo)

🎨 Design

  • Tema moderno com gradientes e glassmorphism
  • Tipografia: Inter (Google Fonts)
  • Cores: Verde (#2E7D32) como cor primária
  • Animações: Hover effects e transições suaves
  • Responsivo: Layout adaptável para diferentes telas

📝 Métricas de Avaliação

  • R² Score: Coeficiente de determinação
  • MAE: Mean Absolute Error
  • RMSE: Root Mean Squared Error
  • MAPE: Mean Absolute Percentage Error

🌐 Deploy na Cloud

Streamlit Cloud

  1. Fork este repositório
  2. Acesse share.streamlit.io
  3. Conecte seu repositório GitHub
  4. Configure:
    • Main file path: src/app.py
    • URL do Arquivo Principal (se solicitado): https://github.com/henriquesilvadev/cap1_fase4/blob/main/src/app.py
    • Python version: 3.11
  5. Deploy!

Variáveis de Ambiente

Configure no Streamlit Cloud:

DB_HOSTNAME=oracle.fiap.com.br
DB_PORT=1521
DB_SID=ORCL
DB_USERNAME=RM567102
DB_PASSWORD=240582

👥 Autor

  • RM567102 - Henrique Silva
  • FIAP - Fase 4 - Cap 1

📄 Licença

Projeto acadêmico - FIAP 2025 - LICENSE


🌾 FarmTech Solutions - Transformando dados em decisões inteligentes para a agricultura do futuro!

Time

@agodoi @SabrinaOtoni @henriquehsilva @manoellaweiser-gif @JoaoMDPaiva @Luiz-Frederico @younmariana-create


About

Cap 1 - Memorizando e Aprendendo com os Dados da Farm Tech Solutions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published