Comunicación MQTT entre PYQT5 y ESP32 | Parte II
En la segunda parte de esta serie de artículos, continuaremos explorando cómo establecer una comunicación MQTT entre un programa PYQT5 y un ESP32.
Configuración del ESP32
En esta parte, nos enfocaremos en la configuración del ESP32 para que pueda conectarse al servidor MQTT y recibir mensajes del programa PYQT5. Para esto, es necesario tener instalado el IDE de Arduino y las librerías necesarias para el ESP32.
#include #include const char* ssid = "tu_red_wifi"; const char* password = "tu_contraseña_wifi"; const char* mqtt_server = "tu_servidor_MQTT"; const int mqtt_port = 1883; WiFiClient espClient; PubSubClient client(espClient); void setup() { // Conexión a la red WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } // Conexión al servidor MQTT client.setServer(mqtt_server, mqtt_port); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); } void reconnect() { while (!client.connected()) { if (client.connect("ESP32Client")) { client.subscribe("topic"); } } }
Programa PYQT5
En el programa PYQT5, debemos establecer la conexión con el servidor MQTT y enviar mensajes al ESP32. Para esto, necesitaremos la librería paho-mqtt.
import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): print("Conectado al servidor MQTT") client.subscribe("topic") def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect("tu_servidor_MQTT", 1883, 60) client.loop_forever()
Con estas configuraciones, podrás establecer una comunicación MQTT entre PYQT5 y ESP32 de manera sencilla y eficiente. En la próxima parte de esta serie, exploraremos cómo enviar y recibir mensajes entre ambos dispositivos de forma bidireccional.