import network
import dht
import ujson
from time import sleep
from machine import Pin
from umqtt.simple import MQTTClient
MQTT_CLIENT_ID = "ESP32-DAVI"
MQTT_BROKER = "broker.hivemq.com"
MQTT_TOPIC = "senai/1devest"
sensor = dht.DHT22(Pin(15))
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
print("Conectando ao Wifi...")
wifi.connect("Wokwi-GUEST")
while not wifi.isconnected():
sleep(0.5)
print("Wifi Conectado!")
print("Conectando ao Broker MQTT")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER)
client.connect()
print("MQTT Conectado")
while True:
'''
Lógica principal da Aplicação:
1- Lê os dados do sensor
2- Formata os dados em JSON
3- Publica o JSON no Broker MQTT
'''
sensor.measure()
payload = ujson.dumps({
"temperatura":sensor.temperature(),
"umidad":sensor.humidity()
})
print("Publicando:", payload)
client.publish(MQTT_TOPIC, payload)
sleep(5)