Actualizado: 9 junio 2022
Ahora que tenemos nuestro broker y publicador MQTT montado, vamos a suscribir a ellos y recibir mensajes utilizando una aplicación MQTT de código abierto. Esto es un uso típico de MQTT para la comunicación IoT.
En este ejemplo instalaremos Routix MQTT dash en android (que puedes intalar de forma segura y rápida desde Google Play Store). Existen otras apps para Android pero MQTT Dash es sin duda la más intuitiva y brinda las más opciones de configuración. Permite montar un proyecto IoT en cuestión de minutos.
Una vez que hayas instalado MQTT Dash, abre la app y sigue estas instrucciones (hay pantallazos más abajo):
| Paso | Campo | Valor |
|---|---|---|
| 2 | Name | Algún nombre sensato - cualquier cosa que quieras |
| 3 | Address | El URL exacto que consta en la configuración de tu broker |
| 4 | Port | 8883 |
| 5 | SSL/TLS encryption | habilitar |
| 6 | Self-signed certificates | habilitar |
| 7 | User name | El usuario exacto que introduciste cuando creaste tu broker |
| 8 | User password | La contraseña exacta que introduciste cuando creaste tu broker |
Text
en el menú emergente (ya que la carga
útilen inglés payload
de este topic será solo texto).
mqtt pub -h {URL} -p 8883 -s -u {tu usuario} -pw {tu contraseña} -t 'my/test/topic2' -m "Hello!"
De seguida deberías ver esto en tu móvil:
Para enviar una imagen simplemente repetimos el proceso anterior, solo que esta vez configuramos la aplicación MQTT Dash en el móvil para recibir una imagen y, en vez de publicar texto desde el terminal, enviaremos una imagen desde nuestro disco duro.
Image en el menú emergente
(porque esta vez la carga útil serán datos
de imagen).
-m:file:
mqtt pub -h {URL} -p 8883 -s -u {tu usuario} -pw {tu contraseña} -t 'my/test/images' -m:file "ruta/a/imagen.png"
De seguida deberías ver algo parecido a esto en tu móvil (tu imagen será diferente a ésta, evidentemente).
Ahora toca experimentar con la publicación desde sensores (en vez de publicar manualmente desde el terminal) y tal vez codificar nuestro propio suscriptor :)