Este repositório contém dois projetos distintos para um sistema IoT que monitora e exibe dados de temperatura e umidade usando um ESP32 e um aplicativo Flutter.
O repositório está dividido em duas pastas principais:
esp32/
: Contém o código MicroPython para o ESP32, que coleta dados de um sensor DHT11 e os disponibiliza via HTTP.flutter/
: Contém o aplicativo Flutter que consome os dados do ESP32 e apresenta gráficos de temperatura e umidade.
-
Conexão Wi-Fi:
- O código MicroPython do ESP32 se conecta à rede Wi-Fi especificada pelas variáveis
ssid
epassword
.
- O código MicroPython do ESP32 se conecta à rede Wi-Fi especificada pelas variáveis
-
Leitura do Sensor:
- O código lê dados de um sensor DHT11 conectado ao pino 4 do ESP32 e usa um LED integrado para indicar a atividade.
-
Servidor Web:
- Um servidor HTTP é configurado para ouvir na porta 8080 e fornecer dados JSON com a temperatura e a umidade lidas.
O código do ESP32 pode ser encontrado em esp32/main.py
. Certifique-se de ajustar as configurações de rede conforme necessário.
-
Dependências:
- O projeto Flutter usa pacotes para geolocalização, gráficos e solicitação HTTP. As dependências estão listadas no arquivo
pubspec.yaml
.
- O projeto Flutter usa pacotes para geolocalização, gráficos e solicitação HTTP. As dependências estão listadas no arquivo
-
Permissões:
- Certifique-se de adicionar as permissões necessárias para acesso à localização e à internet no arquivo
AndroidManifest.xml
eInfo.plist
para Android e iOS, respectivamente.
- Certifique-se de adicionar as permissões necessárias para acesso à localização e à internet no arquivo
-
Atualização de Dados:
- O aplicativo consome dados do ESP32 a cada 30 segundos e os exibe em gráficos de temperatura e umidade.
- Instale as Dependências:
flutter pub get
- Execute o Aplicativo:
flutter run
- Configuração do Emulador:
- Certifique-se de que o emulador Android/IOS esteja configurado corretamento para visualizar o aplicativo.
Este projeto está licenciado sob a MIT License.
Contribuições são bem-vindas! Por favor, abra um issue
ou envie um pull request
se tiver sugestões ou correções.