Una Progressive Web App (PWA) sencilla y robusta para monitorear valores MQTT en tiempo real desde tu celular.
- Conexión a brokers MQTT públicos o privados
- Visualización en tiempo real del último valor recibido
- Publicación de mensajes al tópico
- Instalable como aplicación en el celular
- Funciona offline (una vez instalada)
- Diseño responsivo y moderno
- Guarda la configuración automáticamente
index.html- Página principal de la aplicaciónapp.js- Lógica de conexión MQTT y manejo de la interfazstyles.css- Estilos responsivosmanifest.json- Configuración de la PWAservice-worker.js- Service Worker para funcionalidad offlinecrear-iconos.html- Generador de iconos para la PWAicon-192.png- Icono de 192x192 (generar)icon-512.png- Icono de 512x512 (generar)
Abre el archivo crear-iconos.html en tu navegador y descarga ambos iconos:
- icon-192.png
- icon-512.png
Guárdalos en la misma carpeta que el resto de archivos.
Para que la PWA funcione correctamente, necesitas servir los archivos a través de HTTPS. Tienes varias opciones:
# Python 3
python -m http.server 8000
# Luego accede a: http://localhost:8000Puedes subir los archivos a:
- GitHub Pages (gratis, con HTTPS)
- Netlify (gratis, con HTTPS)
- Vercel (gratis, con HTTPS)
- Firebase Hosting (gratis, con HTTPS)
- Abre la aplicación en Chrome
- Espera a que aparezca el mensaje "Instalar App" o
- Toca el menú (⋮) > "Agregar a pantalla de inicio" o "Instalar aplicación"
- Confirma la instalación
- La app aparecerá con su icono en tu pantalla de inicio
- Abre la aplicación en Safari
- Toca el botón de compartir (⬆️)
- Selecciona "Agregar a pantalla de inicio"
- Confirma con "Agregar"
- La app aparecerá con su icono en tu pantalla de inicio
- Broker MQTT: Dirección del broker (ej:
broker.hivemq.com) - Puerto: Puerto WebSocket del broker (ej:
8000para HiveMQ) - Tópico: Tu tópico único (ej:
usuario/sensor/temperatura)
-
HiveMQ:
- Broker:
broker.hivemq.com - Puerto:
8000
- Broker:
-
Eclipse Mosquitto:
- Broker:
test.mosquitto.org - Puerto:
8080
- Broker:
-
EMQX:
- Broker:
broker.emqx.io - Puerto:
8083
- Broker:
- Ingresa la configuración del broker
- Pulsa "Conectar"
- Cuando el estado cambie a "Conectado", la app empezará a escuchar
- Cualquier mensaje publicado al tópico aparecerá en pantalla
- Asegúrate de estar conectado
- Escribe un mensaje en el campo "Mensaje"
- Pulsa "Publicar" o presiona Enter
- El mensaje se enviará al tópico configurado
Para probar la aplicación, puedes publicar mensajes desde:
mosquitto_pub -h broker.hivemq.com -p 1883 -t "mi/topico/unico" -m "Hola desde terminal"- Descarga MQTT Explorer
- Conecta al mismo broker y puerto (usa 1883 para conexiones TCP)
- Publica mensajes al mismo tópico
Abre la misma PWA en otro dispositivo o navegador y usa la función de publicar.
- Reconexión automática: Si se pierde la conexión, intenta reconectar automáticamente
- Persistencia: La configuración se guarda en localStorage
- Offline-ready: Una vez instalada, la interfaz funciona sin conexión
- Responsive: Se adapta a diferentes tamaños de pantalla
- Animaciones: Feedback visual cuando llegan nuevos valores
- Verifica que el broker y puerto sean correctos
- Asegúrate de usar el puerto WebSocket (no el puerto MQTT estándar)
- Algunos brokers requieren HTTPS para conexiones WSS
- Asegúrate de estar usando HTTPS (no http://)
- Verifica que los iconos estén en la carpeta correcta
- Recarga la página completamente
- Verifica que estés suscrito al tópico correcto
- Asegúrate de que otro dispositivo esté publicando al mismo tópico
- Revisa la consola del navegador para ver errores
Puedes personalizar fácilmente:
- Colores: Modifica las variables de color en
styles.css - Iconos: Edita
crear-iconos.htmlpara cambiar el diseño - Nombre de la app: Cambia el campo "name" en
manifest.json
Esta aplicación es para uso educativo y desarrollo. Para producción:
- Usa brokers MQTT con autenticación
- Implementa TLS/SSL (WSS en lugar de WS)
- No expongas credenciales en el código
- Valida y sanitiza todos los mensajes recibidos
Libre para uso personal y educativo.