from network import WLAN, STA_IF
from machine import Pin, PWM
from umqtt.simple import MQTTClient
from time import sleep_ms
barulhoINSUPORTAVEL = PWM(Pin(23))
barulhoINSUPORTAVEL.duty_u16(0)
def informa(topic, msg):
mensagem = msg.decode()
print("Mensagem recebida:", mensagem)
if mensagem == "Acorda!":
print("Se possível, acordar meu senhorio. Não dá de adiar 5 minutos aqui...")
for i in range(10):
barulhoINSUPORTAVEL.freq(440)
barulhoINSUPORTAVEL.duty_u16(32767)
sleep_ms(500)
barulhoINSUPORTAVEL.freq(880)
sleep_ms(500)
barulhoINSUPORTAVEL.duty_u16(0)
rede = WLAN(STA_IF)
rede.active(True)
if not rede.isconnected():
rede.connect("Wokwi-GUEST", "")
tentativas = 0
while not rede.isconnected() and tentativas < 20:
sleep_ms(200)
tentativas += 1
if rede.isconnected():
print("Conectado ao WiFi")
else:
print("Falha ao conectar no WiFi")
broker = "broker.hivemq.com"
PORT = 1883
CLIENT_ID = "esp32_Rafael"
TOPIC = b"buzzer/doRafael"
client = MQTTClient(CLIENT_ID, broker, port=PORT)
client.set_callback(informa)
client.connect()
client.subscribe(TOPIC)
print("Conectado ao MQTT, aguardando mensagens...")
while True:
client.check_msg()
sleep_ms(100)