Este projeto inclui um dashboard interativo desenvolvido com Streamlit para visualização e análise dos dados de irrigação. O dashboard permite:
- 📊 Visualização de níveis de umidade do solo
- 🧪 Monitoramento de pH
- 🌿 Análise de nutrientes (NPK - Nitrogênio, Fósforo e Potássio)
- 💦 Status de irrigação em tempo real
- 🌤️ Sugestões inteligentes de irrigação baseadas em clima e condições do solo
- Docker instalado (Download Docker)
- Docker Compose instalado (geralmente incluído no Docker Desktop)
- Arquivo
data/irrigation_dataset.csvcom os dados dos sensores
dashboard-python-streamlit/
├── app.py # Aplicação Streamlit
├── requirements.txt # Dependências Python
├── Dockerfile # Configuração do container Docker
├── docker-compose.yml # Orquestração dos containers
├── .dockerignore # Arquivos ignorados no build
├── data/
│ └── irrigation_dataset.csv # Dados dos sensores
├── README.md # Documentação
└── LICENSE.md
-
Clone o repositório ou navegue até o diretório do projeto:
cd /Users/henriquesilvadev/Projects/FIAP/Fase3/dashboard-python-streamlit -
Build e inicie o container:
docker-compose up --build
-
Acesse o dashboard:
Abra seu navegador e acesse: http://localhost:8501
-
Para parar o container:
docker-compose down
-
Build da imagem:
docker build -t irrigation-dashboard . -
Execute o container:
docker run -p 8501:8501 \ -v $(pwd)/data:/app/data:ro \ --name irrigation-dashboard \ irrigation-dashboard -
Acesse o dashboard:
Abra seu navegador e acesse: http://localhost:8501
-
Para parar o container:
docker stop irrigation-dashboard docker rm irrigation-dashboard
# Ver logs do container
docker-compose logs -f
# Rebuild após mudanças no código
docker-compose up --build
# Executar em background (modo detached)
docker-compose up -d
# Verificar status dos containers
docker-compose ps
# Parar e remover containers, redes e volumes
docker-compose down -v-
Métricas Principais:
- Umidade média do solo (%)
- pH médio
- Níveis médios de Fósforo (P) e Potássio (K)
-
Visualizações Interativas:
- Gráficos de linha para evolução temporal dos dados
- Gauge para status de umidade atual
- Gráficos de nutrientes NPK
-
Sistema de Sugestões:
- Análise inteligente das condições atuais
- Recomendações de irrigação baseadas em múltiplos fatores
- Alertas de níveis críticos
-
Filtros e Exportação:
- Filtro por período de tempo
- Visualização de dados brutos
- Export para CSV
Se preferir executar sem Docker:
-
Crie um ambiente virtual:
python -m venv venv source venv/bin/activate # No Windows: venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Execute o Streamlit:
streamlit run app.py
O dashboard utiliza as seguintes variáveis de ambiente (já configuradas no docker-compose.yml):
STREAMLIT_SERVER_PORT=8501
STREAMLIT_SERVER_ADDRESS=0.0.0.0
STREAMLIT_SERVER_HEADLESS=true
STREAMLIT_BROWSER_GATHER_USAGE_STATS=falseProblema: Container não inicia
# Verifique os logs
docker-compose logs
# Reconstrua sem cache
docker-compose build --no-cacheProblema: Porta 8501 já está em uso
# Altere a porta no docker-compose.yml
ports:
- "8502:8501" # Use 8502 ao invés de 8501Problema: Dados não aparecem
- Verifique se o arquivo
data/irrigation_dataset.csvexiste - Verifique as permissões do arquivo
- Confirme que o volume está montado corretamente
Link para o vídeo de demonstração: Ver VIDEO_LINK.txt
Este projeto está licenciado sob a Licença Creative Commons Atribuição 4.0 Internacional. Para mais detalhes, consulte o arquivo LICENSE.