from wifi_lib import conecta
from umqttsimple import MQTTClient
import broker
import dht
import machine
import time
print("configurando componentes...")
dht_pin = machine.Pin(15)
sensor = dht.DHT22(dht_pin)
led_vermelho = machine.Pin(16, machine.Pin.OUT)
led_amarelo = machine.Pin(17, machine.Pin.OUT)
led_verde = machine.Pin(18, machine.Pin.OUT)
print("Conectando...")
station = conecta ("Wokwi-GUEST","")
if not station.isconnected():
print("Falha na conexão")
else:
print("Conectado")
print("Conectando ao HiveMQ...")
client = MQTTClient(broker.mqtt_client_id,
broker.mqtt_server,
broker.mqtt_port,
broker.mqtt_user,
broker.mqtt_password)
client.connect()
while True:
try:
sensor.measure()
temperatura = sensor.temperature()
umidade = sensor.humidity()
print("Medidas atuais:")
print("Temperatura: {:.2f}°C".format(temperatura))
print("Umidade: {:.2f}%".format(umidade))
client.publish("cidade/monitoramento/temperatura", str(temperatura))
client.publish("cidade/monitoramento/umidade", str(umidade))
if temperatura > 25 or umidade < 20:
led_vermelho.on()
led_amarelo.off()
led_verde.off()
elif 20 <= temperatura <= 30 or umidade <=40:
led_vermelho.off()
led_amarelo.on()
led_verde.off()
else:
led_vermelho.off()
led_amarelo.off()
led_verde.on()
except OSError as e:
print("Falha na leitura do sensor:", e)
time.sleep(2)
client.disconnect()
station.disconnect()