INDUXA · Docs
ArquitecturaEntradas de datos

MQTT de equipos

Temas, autenticación, contrato del mensaje y qué hace INDUXA con cada lectura que llega por MQTT.

La forma principal de entrada para equipos, gateways y PCs.

Conexión

Servidormqtt.induxa.pe
Puerto8883, MQTT sobre TLS 1.2 o 1.3
Usuario y contraseñaLos del dispositivo, en su ficha › Conexión (se ven una sola vez al generarlos)
SesiónSe conserva 25 horas: un equipo que duerme recibe sus comandos al despertar
QoS recomendado1

INDUXA guarda solo el hash de la contraseña. Se rechaza la conexión si el equipo está desactivado, si la empresa no está activa o si no tiene contratado el producto del equipo.

Temas

{empresa} es el id de la empresa y {codigo} el código del dispositivo (por ejemplo BO-001).

TemaSentidoPara qué
induxa/{empresa}/{codigo}/lecturasel equipo publicaValores de sus tags
induxa/{empresa}/{codigo}/posicionel equipo publicaGPS
induxa/{empresa}/{codigo}/eventosel equipo publicaArranques, errores, cambios de estado
induxa/{empresa}/{codigo}/comandosel equipo se suscribeÓrdenes desde la consola
induxa/{empresa}/{codigo}/comandos/ackel equipo publicaRespuesta a cada orden

Un equipo solo puede usar sus propios temas; todo lo demás se niega. Un gateway también publica lecturas y eventos a nombre de sus nodos o fuentes PLC activos.

Contrato del mensaje (versión 1)

{
  "v": 1,
  "id": "01J8Z3K6W2Q4T7",
  "ts": "2026-10-25T20:15:00Z",
  "dispositivo": "BO-001",
  "datos": { "presion_descarga": 6.4, "caudal": 17.9, "en_marcha": true }
}
CampoObligatorioRegla
vsíSiempre 1
datossíDe 1 a 200 claves. Cada valor: número, verdadero/falso, texto de hasta 200 caracteres o null
idnoHasta 64 caracteres. Sirve para descartar reenvíos
tsnoFecha y hora ISO 8601 con zona
dispositivonoSi viene, debe ser el mismo código del tema
  • Cada clave de datos es un tag. Las claves se normalizan: minúsculas, sin tildes, solo a-z, 0-9 y _, hasta 60 caracteres.
  • Verdadero y falso se guardan como 1 y 0.
  • Tamaño máximo del mensaje: 256 KB.

Posición:

{ "v": 1, "ts": "2026-10-25T20:15:00Z", "lat": -5.1945, "lon": -80.6328, "velocidad": 12.5, "rumbo": 90, "precision": 8 }

lat y lon son obligatorios; la posición 0,0 se rechaza.

Qué hace INDUXA con cada mensaje

CasoQué pasa
Clave nuevaSe crea el tag como por confirmar y su dato se guarda desde ya. Hasta 300 tags por equipo
Tag descartadoSe ignora
Mismo id en 24 horasSe descarta (reenvío)
Sin ts, o con más de 1 día adelantadoSe usa la hora de llegada y la lectura se marca con calidad baja
Muy atrasadoIgual que el anterior. El límite depende del tipo de equipo: 1 día por defecto, hasta 400 días en registradores
Contrato inválido o equipo desconocidoVa a telemetria.errores para revisión
Equipo desactivadoSe ignora

Comandos

{ "v": 1, "id": "c4f1…", "dispositivo": "BO-001", "nombre": "pedir_telemetria", "params": {}, "expira": "2026-10-25T20:20:00Z" }

El equipo responde en …/comandos/ack:

{ "v": 1, "id": "c4f1…", "estado": "aplicado" }

estado puede ser aplicado, rechazado o fallido (con error). Si no hay respuesta, INDUXA reenvía la orden cada 5 minutos hasta que vence. Las órdenes a las PCs de Desk van firmadas y el agente rechaza las que no lo están.

On this page