print("Inicia el proceso")
from funciones import *
import time
class mdbMQTT:
from umqtt.simple import MQTTClient
# ---- HiveMQ ----
CLIENT_ID = b"ESP32_Escritorio"
MQTT_SERVER = b"ce8c66f8369340a68d67bd9634f441c4.s2.eu.hivemq.cloud"
MQTT_PORT = 8883
MQTT_USER = b"mdbEsp32"
MQTT_PASS = b"#Felipe2025"
client = MQTTClient(client_id = CLIENT_ID,
server = MQTT_SERVER,
port = MQTT_PORT,
user = MQTT_USER,
password = MQTT_PASS,
keepalive = 60,
ssl = True,
ssl_params={'server_hostname':MQTT_SERVER}
)
# conecta al broker
def conecta(self):
self.client.connect()
print('mdbMQTT> Conectado al broker')
# suscribe tema
def suscribe(self, suscribe):
self.client.set_callback(self.mensaje_entrante)
self.client.subscribe(suscribe, qos = 2)
print('mdbMQTT> Suscrito al tema.....:', suscribe)
# publica un mensaje
def publica(self, topic, msg, retain=False, qos = 0):
self.client.publish(topic, msg, retain, qos)
# revisa si hay mensajes
def revisa_mensaje(self):
self.client.check_msg()
# procesamiento de mensaje entrantes
def mensaje_entrante(self, topic, msg):
print('mdbMQTT> Tema entrante........:', topic)
print('mdbMQTT> Mensaje entrante.....:', msg)
conWiFi()
mqtt = mdbMQTT() #crea instancia de mdbMQTT
mqtt.conecta() #conecta al broker
mqtt.suscribe("casa/interior/switch01")