Consideraciones iniciales #
La plataforma Wokwi permite simular diferentes microcontroladores, entre ellos, el Esp32. El proceso de trabajo con esta aplicación, lo describimos de forma básica en este enlace.
Ahora vamos a realizar un ejemplo para mostrar cómo establecer una auténtica comunicación MQTT con un servidor externo, desde el propio simulador.
Lo primero que mencionar es que tiene un modo gratuito, con ciertas limitaciones, pero totalmente funcional. Si te haces miembro, tienes acceso a ciertas mejoras en el servicio. Toda la documentación sobre esta forma de trabajo la puedes encontrar aquí.
Además, también es importante destacar que no se crea una nueva conexión a un rúter, ya que el PC con el que estás trabajando ya está conectado. Por eso, se conecta a una red virtual que suministran desde la plataforma. Para la versión gratuita, esta red tiene el nombre de «Wokwi-GUEST» y no tiene clave. El resto del proceso es igual que si trabajáramos con una placa física.
Librerías en Wokwi #
Si creas un proyecto nuevo, debes tener en cuenta que hay que incluir las librerías usadas para la comunicación, así como para otros dispositivos que puedas. Las dos librerías principales utilizadas en microLSB para realizar una comunicación MQTT sin cifrado en io.adafruit (servidor elegido para el ejemplo), son:
- WiFi.h
- PubSubClient.h
Las librerías se cargan en:
Como decimos, el enlace anterior ya contiene las librerías, así como la del sensor de temperatura y humedad DHT22, que usaremos de ejemplo.
Ejemplo #
Se va a enviar cada 4 segundos la temperatura leída por un sensor DHT22 conectado al GPIO 22, y se va a controlar el estado de el GPIO 15 como salida. En el ejemplo se ha conectado un Led.
Puedes acceder al programa ya cableado y con las librerías incluidas, aquí.
Proponemos enviar el dato de temperatura en el tema «temp», y recibir la orden de activación del GPIO 15 en el tema «led».
Solución: