Arduino UNO R4 - MQTT
En este tutorial, aprenderemos a usar el Arduino UNO R4 para enviar y recibir datos a un broker MQTT utilizando el protocolo MQTT. Abordaremos los siguientes detalles:
- Cómo conectar Arduino UNO R4 con un broker MQTT
- Cómo programar Arduino UNO R4 para enviar datos a un broker MQTT publicando en un tema MQTT
- Cómo programar Arduino UNO R4 para recibir datos suscribiéndose a un tema MQTT

Analizaremos dos ejemplos diferentes:
- Usando Arduino UNO R4 con un broker MQTT en Internet.
- Usando Arduino UNO R4 con el broker MQTT instalado en tu ordenador.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de Arduino UNO R4 y MQTT
Aprenderemos a programar un Arduino UNO R4 para enviar y recibir datos a través de un broker MQTT (también llamado servidor MQTT). El broker MQTT puede ser:
- Broker MQTT en Internet, como Mosquitto o AWS IoT.
- Broker MQTT configurado en tu ordenador, como Mosquitto o HiveMQ.
- Broker MQTT ejecutándose en tu Raspberry Pi, por ejemplo, Mosquitto.
- Broker MQTT en la nube, como Mosquitto o HiveMQ en AWS EC2.
En esta guía, comenzaremos verificando si Arduino UNO R4 puede conectarse a un broker Mosquitto en línea. Arduino UNO R4 enviará y recibirá mensajes hacia y desde este broker a través de internet.
A continuación, instalaremos el broker Mosquitto en nuestra computadora. Después de eso, conectaremos el Arduino UNO R4 al broker MQTT en nuestra computadora. Lo usaremos para enviar y recibir datos a través de este broker local.
Conectar Arduino UNO R4 a un broker MQTT en línea
En esta sección, entenderemos cómo conectar Arduino UNO R4 con test.mosquitto.org, un servicio MQTT en línea proporcionado por Mosquitto. Recuerda que este servicio está destinado únicamente para pruebas.
Código de Arduino UNO R4
Este código de Arduino UNO R4 realiza las siguientes tareas:
- Conéctese al broker MQTT
- Suscríbase a un tema
- Envíe mensajes regularmente al mismo tema al que se suscribió
Pasos R\u00e1pidos
Sigue estas instrucciones paso a paso:
- Si es la primera vez que usas Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
- Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
- Inicia el IDE de Arduino en tu computadora.
- Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
- Haz clic en el icono de "Administrador de bibliotecas" que se encuentra en el lado izquierdo del IDE de Arduino para abrirlo.
- En el cuadro de búsqueda, escribe MQTT y busca la biblioteca MQTT de Joel Gaehwiler.
- Haz clic en el botón Instalar para añadir la biblioteca MQTT.

- Busca ArduinoJson en la caja de búsqueda y encuentra la biblioteca ArduinoJson de Benoit Blanchon. Luego, haz clic en el botón Instalar para instalar la biblioteca.

- Copia el código y ábrelo en el IDE de Arduino.
- Cambia los detalles de WiFi (SSID y contraseña) en el código por los tuyos.
- Encontrarás 'YOUR-NAME' tres veces en el código. Reemplázalo por tu nombre o por cualquier letra (sin espacios). Este cambio es importante para evitar conflictos entre múltiples usuarios que ejecuten el mismo código.
- Haz clic en el botón Upload en el IDE de Arduino para cargar el código a tu Arduino UNO R4.
- Abre el Monitor Serial.
- Comprueba los resultados en el Monitor Serial.
El Arduino UNO R4 envía mensajes al broker MQTT y luego recibe el mismo mensaje. Esto ocurre porque está configurado para recibir mensajes del mismo tema al que los envía. Si no quieres que el Arduino UNO R4 reciba sus propios mensajes, usa diferentes temas para enviar y recibir.
Conecta Arduino UNO R4 al broker MQTT instalado en tu PC
Instalación del broker MQTT de Mosquitto
- Descargar el Mosquitto MQTT Broker
- Instálalo en la unidad D:, no en la unidad C:. Esto ayuda a evitar posibles problemas.
Ejecutar el broker MQTT de Mosquitto
Ahora, vamos a ver si el broker MQTT está funcionando correctamente siguiendo estos pasos:
- Navega a la carpeta donde instalaste Mosquitto, por ejemplo D:\Draft\mosquitto. Crea un archivo llamado test.conf, pega los siguientes detalles en él y guarda el archivo en esta carpeta.
- Abre un símbolo del sistema como Administrador en tu computadora. Nómbralo como "Broker Window". Recuerda no cerrar esta ventana hasta que termines el tutorial.

- Ejecute los siguientes comandos de forma secuencial:
- Notará:
- Abra un nuevo símbolo del sistema como administrador en su ordenador.
- Para encontrar la dirección IP de su ordenador, ejecute este comando:
- Por favor, tome nota de la dirección IP para futuras referencias. En el ejemplo proporcionado: 192.168.0.11.
Probar si funciona el broker Mosquitto
- Abre otro Símbolo del sistema como Administrador en tu computadora. Nos referiremos a ella como "Ventana del Suscriptor."
- Para suscribirte a un tema, ingresa los siguientes comandos uno por uno, reemplazando "tu dirección IP" por tu dirección IP real:
- Abre una ventana adicional del Símbolo del sistema con privilegios de administrador en tu ordenador. Nómbrala Ventana del Publicador.
- Para publicar un mensaje en el mismo tema, ejecuta los siguientes comandos uno tras otro (sustitúyela por tu dirección IP):
- Notarás:
El mensaje se envía a la Ventana de Suscripción de esta forma:
Has instalado correctamente el broker MQTT de Mosquitto en tu PC. Por favor, no cierres tres ventanas: la Ventana del Broker, la Ventana del Suscriptor y la Ventana del Publicador. Las usaremos a continuación.
Código Arduino UNO R4
El siguiente código es para Arduino UNO R4 y hace lo siguiente:
- Conéctate al broker MQTT
- Suscríbete a un tema
- Envía mensajes regularmente a un tema diferente
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Cambia los datos de WiFi (SSID y contraseña) en el código por los tuyos.
- Cambia la dirección del broker MQTT en el código (ya sea nombre de dominio o dirección IP).
- Haz clic en el botón Subir en Arduino IDE para enviar el código a tu Arduino UNO R4.
Enviar mensaje desde Arduino UNO R4 a la PC mediante MQTT
El Arduino UNO R4 envía información al tema MQTT llamado arduino-uno-r4/send. En una computadora, la ventana de suscripción se suscribe a ese tema para recibir los datos.
- Abre el Monitor Serial para ver que el Arduino UNO R4 envía regularmente un mensaje a un tema.
- Mira la Ventana del Suscriptor y verás que muestra el mensaje enviado por el Arduino UNO R4 así:
Enviar mensaje desde la PC a Arduino UNO R4 vía MQTT
El Arduino UNO R4 está configurado para recibir mensajes del tema arduino-uno-r4/receive. La ventana del publicador en la PC envía mensajes a este tema para comunicarse con el Arduino UNO R4.
- Enviar un mensaje al tema al que Arduino UNO R4 está suscrito usando este comando en la Ventana del Publicador:
- Notarás que Arduino UNO R4 recibe este mensaje, como se muestra en el Monitor Serial:
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.