from wifi_lib import conecta
from umqttsimple import MQTTClient
import broker
from machine import Pin, ADC
import time
ldr_pin = ADC(Pin(34))
ldr_pin.atten(ADC.ATTN_11DB)
relay_pin = Pin(22, Pin.OUT)
def check_light():
ldr_value = ldr_pin.read()
print("Valor LDR:", ldr_value)
if ldr_value < 1000:
relay_pin.on()
print("Relé ligado")
else:
relay_pin.off()
print("Relé desligado")
return ldr_value
print("Conectando ao Wi-Fi...")
station = conecta("Wokwi-GUEST", "")
if not station.isconnected():
print("Falha na conexão Wi-Fi")
else:
print("Conectado ao Wi-Fi")
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:
ldr_value = check_light()
client.publish("cidade/monitoramento/iluminacao", str(ldr_value))
except OSError as e:
print("Falha na leitura do sensor ou publicação MQTT:", e)
time.sleep(2)
client.disconnect()
station.disconnect()