#import para acceso a red
import network
#Para usar protocolo MQTT
from umqtt.simple import MQTTClient
from machine import Pin
from time import sleep
#Propiedades para conectar a un cliente MQTT
MQTT_BROKER = "broker.emqx.io"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_CLIENT_ID = ""
MQTT_TOPIC = "cbr/led"
MQTT_PORT = 1883
#Función para conectar a WiFi
def conectar_wifi():
print("Conectando...", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('INFINITUM5B5A', '4DbxQ7eGDG')
while not sta_if.isconnected():
print(".", end="")
sleep(0.3)
print("WiFi Conectada!")
#Funcion encargada de encender un led cuando un mensaje se lo diga
def llegada_mensaje(topic, msg):
print("Mensaje:", msg)
if msg == b'1':
led.value(1)
if msg == b'0':
led.value(0)
if msg == b'3':
led2.value(1)
if msg == b'2':
led2.value(0)
#Funcion para subscribir al broker, topic
def subscribir():
client = MQTTClient(MQTT_CLIENT_ID,
MQTT_BROKER, port=MQTT_PORT,
user=MQTT_USER,
password=MQTT_PASSWORD,
keepalive=0)
client.set_callback(llegada_mensaje)
client.connect()
client.subscribe(MQTT_TOPIC)
print("Conectado a %s, en el topico %s"%(MQTT_BROKER, MQTT_TOPIC))
return client
#Declaro el pin led
led = Pin(4, Pin.OUT)
led.value(0)
led2 = Pin(15, Pin.OUT)
led.value(0)
#Conectar a wifi
conectar_wifi()
#Subscripción a un broker mqtt
client = subscribir()
#Ciclo infinito
while True:
client.wait_msg()