Saltar al contenido

Conceptos Clave

Los términos que el resto de la documentación da por conocidos.

Identidad y modelo de datos

Proyecto

Un espacio de trabajo que agrupa dispositivos, flujos de datos, dashboards y miembros. Cada dispositivo pertenece exactamente a un proyecto.

Dispositivo

Una pieza de hardware física (o lógica), con su propia credencial, que reporta una o más señales.

Credenciales MQTT del dispositivo

Cómo se conecta un dispositivo: un usuario (el id corto del dispositivo, que debe ser también el clientid de MQTT), una contraseña dvp_ y un topic_id corto y opaco que sirve de raíz a los topics del dispositivo. La contraseña sirve además como clave que firma con HMAC cada mensaje: un solo secreto, no dos. Se emite por dispositivo; regenerarla invalida de inmediato la contraseña anterior y su clave de firma. El topic_id se puede rotar por separado.

Clave de API del dispositivo

La credencial antigua por dispositivo (prefijo dvk_). Todavía se acepta como contraseña MQTT - y luego como clave de firma - para firmware que no se puede reconfigurar. Los dispositivos nuevos deberían usar la credencial MQTT de arriba en su lugar. Regenerarla invalida la clave anterior de inmediato.

Señal / Flujo de datos

Una señal es un valor con nombre que reporta un dispositivo (temperature, door_open). Un flujo de datos es la metadata de esa señal del lado del servidor: tipo, unidad, si es de lectura/escritura/observable, límites, umbral de obsolescencia.

Protocolo y datos

Telemetría

Un conjunto de valores de señal con marca de tiempo enviados en un mismo mensaje. Un valor puede ser un número decimal, un entero, un booleano o una cadena, cada uno con una unidad y un indicador de calidad opcionales. Formato en el cable: <a href="/docs/mqtt">referencia del protocolo MQTT</a>.

Sesión MQTT

El transporte de dispositivos: una conexión MQTT sobre TLS que lleva muchas señales en muchas mediciones, más un canal de comandos de vuelta. La autenticación ocurre dentro del CONNECT, y cada mensaje se firma con HMAC usando la contraseña de la conexión. Consulte <a href="/docs/mqtt">referencia del protocolo MQTT</a>.

Secuencia

Un entero por dispositivo que debe crecer estrictamente, para siempre: es la defensa contra reenvíos. El servidor recuerda el valor más alto que aceptó, así que todo lo menor o igual se descarta en silencio. Inicialícelo con el reloj del sistema, nunca en cero.

Marcas de tiempo

UTC, ISO-8601. Una medición lleva el momento en que fue observada en el dispositivo; el servidor registra cuándo fue recibida - así la telemetría en buffer igual llega con el momento correcto.

Unidades

Cada valor puede llevar una cadena de unidad (C, %). El flujo de datos puede definir una unidad canónica para gráficos y exportaciones consistentes.

Indicadores de calidad

Cada valor lleva un indicador de calidad:

validuna lectura normal y confiable (el valor por defecto)
stalemás antigua de lo esperado para esta señal; puede que el sensor no se haya actualizado recientemente
uncertainel propio dispositivo no está seguro (calentando, fuera del rango calibrado)
errorel dispositivo no pudo obtener una lectura real; no confíes en el valor

Control

Estado deseado vs. reportado

Deseado = lo que alguien quiere que un flujo de datos escribible llegue a ser ("enciende este relé"). Reportado = lo que el dispositivo dice que realmente hizo. Se registran por separado: establecer el estado deseado no significa que la acción física haya ocurrido.

Comandos

Una solicitud para cambiar el estado deseado de un flujo de datos escribible. Que se acepte significa que la solicitud fue almacenada - no que el dispositivo la haya recibido o aplicado.