Este projeto implementa um sistema de irrigação automática utilizando um ESP32 para monitorar a umidade do solo e controlar um relé, além de exibir os dados coletados em um dashboard desenvolvido com Flask.
- Introdução
- Componentes Utilizados
- Configuração do ESP32
- Configuração do Dashboard Flask
- Execução do Projeto
- Estrutura de Arquivos
- Equipe
- Licença
O projeto visa criar um sistema de irrigação automática que otimiza o uso da água na agricultura. Utilizando um ESP32, sensores de umidade do solo e umidade do ar, e um relé para controlar a bomba de irrigação, o sistema coleta dados em tempo real e os exibe em um dashboard web.
- ESP32
- Sensor DHT22 (umidade e temperatura)
- Sensor de umidade do solo
- Módulo relé
- Resistor de 10kΩ
- Jumpers e protoboard
O código do ESP32 está configurado para:
- Ler a umidade e temperatura do ar: Utilizando o sensor DHT22, o ESP32 coleta dados de umidade e temperatura do ambiente.
- Ler a umidade do solo: Utilizando um sensor de umidade do solo, o ESP32 monitora a umidade da terra.
- Controlar um relé: Com base na leitura da umidade do solo, o ESP32 ativa ou desativa um relé para controlar a irrigação.
- Expor uma API HTTP: O ESP32 possui um servidor web embutido que fornece os dados dos sensores em formato JSON, acessível através de uma rota específica.
O dashboard Flask exibe os dados coletados pelo ESP32 em uma interface web. Ele inclui várias rotas para renderizar páginas HTML e fornecer dados JSON.
- Rota Inicial: Exibe a página principal do dashboard.
- Rota de Dados: Fornece os dados dos sensores em formato JSON, obtendo-os do servidor web do ESP32.
- Rotas de Informação: Inclui páginas sobre o projeto e a equipe.
app.py
: Código principal do servidor Flask, contendo as rotas e lógica para se comunicar com o ESP32.templates/
: Contém os arquivos HTML para renderizar as páginas web.index.html
: Página principal do dashboard, exibe os dados dos sensores.sobre.html
: Página com informações sobre o projeto.equipe.html
: Página com informações sobre a equipe.
static/
: Contém os arquivos estáticos como CSS e JavaScript.style.css
: Estilos para o dashboard.sobre.css
: Estilos para a página sobre.equipe.css
: Estilos para a página da equipe.script.js
: Script para atualizar os dados dos sensores em tempo real.
- Carregue o código do ESP32 usando o Arduino IDE.
- Certifique-se de que o ESP32 está conectado à rede WiFi correta.
- O ESP32 iniciará um servidor web local para fornecer os dados dos sensores.
- Instale as dependências necessárias:
pip install flask flask-cors requests
- Execute o servidor Flask:
python app.py
- Acesse o dashboard no navegador:
http://127.0.0.1:5000
app.py
: Código principal do servidor Flask.templates/
index.html
: Página principal do dashboard.sobre.html
: Página de informações sobre o projeto.equipe.html
: Página com informações sobre a equipe.
static/
style.css
: Estilos para o dashboard.sobre.css
: Estilos para a página sobre.equipe.css
: Estilos para a página da equipe.script.js
: Script para atualizar os dados dos sensores.
- Felipe Jovino Dos Santos
- Gilberto Bispo Dos Santos Neto
- Luiz Eduardo Andrade De Oliveira
- Paulo Arthur Pereira Neri
- Stephanie Kamarry Alves de Sousa
- Fábio Luiz de Sá Prudente
- Catuxe Varjão De Oliveira
- Phillipe Cardoso Santos
Este projeto é licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.