from umqttsimple import MQTTClient
from machine import Pin
from time import sleep
import network
import random

ledBlue = Pin(2, Pin.OUT)

def callbackF(topic, payload):
    print(topic)
    if topic.decode() == 'topicName/led':
        if payload.decode() == 'on':
            ledBlue.value(1)

        if payload.decode() == 'off':
            ledBlue.value(0)

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('Wokwi-GUEST', '')
while not wlan.isconnected():
    sleep(0.1)

mqttc = MQTTClient(str(random.random()), 'broker.emqx.io', 1883, user='', password='',keepalive=60)
mqttc.connect()
mqttc.set_callback(callbackF)
mqttc.subscribe('topicName/led')

print ('Waiting for MQTT messages')

while True:
    mqttc.check_msg()
    sleep(0.05)