MQTT es el protocolo de mensajería que el Index AMI usa para publicar lecturas de medidores y recibir comandos de configuración desde las Plataformas AMI. El Index AMI soporta MQTT sobre TCP (sin cifrado, puerto 1883) y MQTT sobre SSL/TLS (cifrado AES-256, puerto 8883). Para entornos de producción usa siempre SSL.
Dónde configurarlo
- App Android: App Android: Menú Principal → Configuración de Conectividad → habilitar casilla MQTT
- Herramienta de escritorio: Herramienta de escritorio: editor de plantillas → sección MQTT.
Habilitar MQTT
MQTT está deshabilitado por defecto.
- App Android: App Android: activa la casilla «Habilitar configuración MQTT» para que aparezcan todos los campos.
- Herramienta de escritorio: Herramienta de escritorio: la sección MQTT está siempre visible en el editor de plantillas.
Parámetros básicos
Estos campos son obligatorios independientemente del modo de transporte (TCP o SSL).
- Host MQTT (broker): Dirección del servidor MQTT. Puede ser hostname (broker.ejemplo.com) o IP (192.168.1.100). Máx. 128 caracteres.
- Puerto: 1883 para MQTT sobre TCP. 8883 para MQTT sobre SSL. Rango: 0–4 294 967 295.
- ID de cliente: Identificador único de este Index AMI en el broker. Debe ser único para cada dispositivo. Máx. 64 caracteres. Ejemplo: index-ami-001, device-MED-NORTE-001.
- Usuario (opcional): Credencial de acceso al broker. Déjalo vacío si el broker no requiere autenticación. Máx. 64 caracteres.
- Contraseña (opcional): Credencial de acceso al broker. Déjala vacía si el broker no requiere autenticación. Máx. 64 caracteres.
Tipo de transporte
El campo Transporte determina si la comunicación va cifrada o no. Este campo también controla qué campos adicionales aparecen en pantalla.
- MQTT sobre TCP (puerto 1883): Conexión sin cifrado. Los campos de certificados se ocultan automáticamente. Úsalo solo en redes internas controladas o para pruebas.
- MQTT sobre SSL (puerto 8883): Conexión cifrada con TLS. Los campos de certificados aparecen automáticamente. Recomendado para producción en campo.
Cambiar el tipo de transporte actualiza automáticamente el puerto sugerido. Si tu broker usa un puerto no estándar, cámbialo manualmente después de seleccionar el transporte.
Certificados TLS (solo en modo SSL)
En modo MQTT sobre SSL el Index AMI necesita tres archivos para autenticar la conexión. Solicítalos al administrador del broker MQTT.
- Certificado CA (.pem / .crt): Certificado de la autoridad certificadora que firmó el certificado del servidor. Sin este archivo el Index AMI no puede verificar la identidad del broker.
- Certificado cliente (.pem / .crt): Certificado que identifica este Index AMI ante el broker. Cada dispositivo debe tener su propio certificado cliente.
- Clave privada del cliente (.key / .pem): Clave privada correspondiente al certificado cliente. Mantenla segura — nunca la compartas en texto plano.
- Omitir verificación de CN: Si está habilitado, el Index AMI no verifica que el Common Name del certificado del broker coincida con el hostname configurado. Útil para certificados autofirmados o internos. Deshabilitado = máxima seguridad.
- Nombre común (CN): Common Name del certificado del servidor, solo necesario cuando se verifica el CN. Consúltalo con el administrador del broker.
Carga los certificados desde la app Android con el botón de búsqueda de cada campo. La app acepta archivos con sufijo de descarga (ej. ca.pem, ca.pem (1)). Desde la herramienta de escritorio, presiona el botón de búsqueda y selecciona el archivo. Los archivos se escriben primero al Index AMI y la configuración se aplica al presionar «Aplicar cambios».
Tópicos MQTT
El Index AMI publica y suscribe en los siguientes tópicos. El prefijo base lo definen las Plataformas AMI según la convención de tu instalación.
| Tópico | Función | Ejemplo |
|---|---|---|
| Ajuste de configuración | Las Plataformas AMI publican aquí para actualizar la configuración del Index AMI remotamente. | device/config/set |
| Obtener configuración | Las Plataformas AMI publican aquí para solicitar la configuración actual del Index AMI. | device/config/get |
| Información del dispositivo | El Index AMI publica aquí su estado: IMEI, señal, IP, uptime. | device/info |
| Actualización OTA | Las Plataformas AMI publican aquí el nuevo firmware para actualización remota. | device/ota/firmware |
| Estado OTA | El Index AMI publica aquí el progreso y resultado de la actualización. | device/ota/status |
Define los tópicos de acuerdo con la convención de tus Plataformas AMI. Usa una estructura que incluya el ID del dispositivo para facilitar el enrutamiento: device/{id}/info, device/{id}/config/set.
Pasos — MQTT sobre TCP
- Conecta el Index AMI por BLE y ve a Configuración de Conectividad.
- Activa la casilla «Habilitar configuración MQTT».
- Ingresa el Host MQTT (dirección del broker), puerto 1883, ID de cliente único, y usuario/contraseña si el broker lo requiere.
- Selecciona «MQTT sobre TCP» en el campo Transporte. Configura el Keepalive (60 s recomendado) y los tópicos.
- Presiona «← Atrás» y luego «Aplicar cambios en el dispositivo». El Index AMI se reiniciará y conectará al broker.
Pasos — MQTT sobre SSL
- Asegúrate de tener los tres archivos de certificado: CA (.pem), cliente (.pem) y clave privada (.key).
- Conecta el Index AMI por BLE y ve a Configuración de Conectividad.
- Activa «Habilitar configuración MQTT», ingresa el Host, puerto 8883, ID de cliente, usuario y contraseña.
- Selecciona «MQTT sobre SSL» en el campo Transporte — aparecerán los campos de certificados.
- Carga los tres archivos usando el botón de búsqueda de cada campo. Presiona el botón de carga para escribirlos al Index AMI.
- Configura los tópicos, el Keepalive y si necesitas omitir verificación de CN. Presiona «← Atrás» y «Aplicar cambios en el dispositivo».
Verificar la conexión MQTT
En la app Android ve a Descripción General → pestaña Estado de Conectividad → sección MQTT Details. Confirma que el campo «Estado» muestra «Conectado» y que «Última Conexión» tiene una fecha reciente. Si el estado es «Desconectado», revisa el hostname del broker, el puerto y las credenciales.
Si algo no funciona
| Síntoma | Causa probable | Acción |
|---|---|---|
| Estado siempre «Desconectado» tras aplicar configuración | Hostname del broker incorrecto, puerto bloqueado por firewall, o broker sin servicio | Verifica que el broker sea accesible desde una red 4G. Prueba con un cliente MQTT (app en teléfono con la misma SIM). |
| Fallo de certificados en modo SSL — handshake rechazado | Certificados expirados, CA incorrecta, o Common Name no coincide con el hostname | Verifica la fecha de expiración del CA. Si usas certificados autofirmados, activa «Omitir verificación de CN» en la configuración. |
| Estado «Conectado» pero las Plataformas AMI no reciben mensajes | Los tópicos del Index AMI no coinciden con los suscritos en las Plataformas AMI — error de prefijo o estructura | Compara los tópicos exactos. Usa mosquitto_sub en el broker para inspeccionar el tráfico en tiempo real. |
Documentos de apoyo
Próximos pasos
Con MQTT activo el Index AMI puede publicar telemetría a las Plataformas AMI. Configura las alertas para recibir notificaciones de eventos críticos. Consulta la guía de configuración de notificaciones para activar Last Gasp, alertas de temperatura e interruptor.