Este projeto simula um sistema de monitoramento da temperatura da água com ESP32, sensor DHT22 e controle por servo motor. A comunicação é realizada via protocolo MQTT, com visualização e controle por dashboard em Node-RED. Para detalhes do desenvolvimento e resultados, acesse o artigo do projeto.
Você pode testar o funcionamento deste projeto diretamente no simulador Wokwi:
- ESP32 DevKit v1 (simulado no Wokwi)
- Sensor de temperatura DHT22
- Servo motor SG90
- Plataforma de simulação: Wokwi
- Dashboard de visualização: Node-RED
- Broker MQTT:
broker.hivemq.com
- O DHT22 mede a temperatura da água.
- A ESP32 publica esse dado no tópico
ods6_iot/agua/temperatura. - Caso ultrapasse o limite (ajustável), um alerta é publicado e o servo é acionado.
- O status é exibido em tempo real no dashboard Node-RED.
O limite de temperatura pode ser alterado dinamicamente via MQTT através do tópico ods6_iot/agua/config/limite.
Veja o arquivo mqtt-topics.md com a descrição completa.
| Descrição | Imagem |
|---|---|
| Diagrama do circuito | ![]() |
| Dashboard | ![]() |
| Fluxo do Node-RED | ![]() |
| Fluxograma de Funcionamento |
|
Este projeto utiliza comunicação via protocolo MQTT (Message Queuing Telemetry Transport), com os seguintes detalhes:
- Broker:
broker.hivemq.com - Porta: 1883
- Comunicação TCP/IP
- Publicações e assinaturas:
ods6_iot/agua/temperatura– publicação de temperaturaods6_iot/agua/status– status textualods6_iot/agua/alerta– controle de LEDods6_iot/agua/config/limite– configuração remota do limite
A troca de mensagens é gerenciada via biblioteca PubSubClient e visualizada com o Node-RED.
- Acesse o projeto no Wokwi
- Rode a simulação e acompanhe o monitor serial com os dados MQTT sendo publicados.
Pré-requisitos:
- Node.js instalado
- Node-RED instalado:
npm install -g --unsafe-perm node-red - Plugin:
node-red-contrib-ui-ledinstalado pelo Gerenciar Paleta
Passos:
- Rode o Node-RED:
node-red - Acesse http://localhost:1880
- Importe o arquivo
fluxo-node-red.json - Acesse o dashboard: http://localhost:1880/ui
├── imagens/ # Imagens do circuito, dashboard e fluxograma
│ ├── circuito-wokwi.png
│ ├── dashboard-nodered.png
│ ├── node-red-fluxo-final.png
│ └── fluxograma-funcionamento.png
├── sketch.ino # Código principal do ESP32
├── fluxo-node-red.json # Fluxo do Node-RED exportado
├── diagram.json # Diagrama de montagem (Wokwi)
├── libraries.txt # Bibliotecas utilizadas no Wokwi
├── mqtt-topics.md # Descrição dos tópicos MQTT utilizados
├── temperatura_aquatica_iot.pdf # Artigo sobre o projeto
├── README.md # Este arquivo


