Soldinamic WIKI / DOCS v1.0
Soldinamic Documentación Perfiles de Equipos

Perfiles de Equipos

NOTE

En LoRaWAN, un Device Profile (Perfil de Equipo) es una plantilla maestra que define las capacidades de hardware, las frecuencias de operación y la versión de protocolo de un lote de sensores. En lugar de configurar cada dispositivo individualmente, creas un Perfil y asocias cientos de sensores a él.

Inventario de Perfiles

Esta vista muestra todos los perfiles de red disponibles.

Vista Principal de Perfiles

Elementos de la Interfaz

  1. Barra Superior: Contiene el botón + Nuevo Perfil y el buscador general interactivo.
  2. Columna Nombre: Muestra el nombre asignado al perfil y un distintivo si está basado en una plantilla predefinida de un fabricante (Vendor).
  3. Columna Configuración Base: Indica parámetros críticos como la Versión MAC (ej. LORAWAN_1_0_3) y la Región (ej. US915).
  4. Columna Tenant: Muestra a qué Distribuidor (Tenant) pertenece este perfil. Si el perfil es "Global", aparecerá marcado como tal, indicando que es utilizable por todos los inquilinos.
  5. Columna de Acciones:
    • 📋 Copiar UUID: Copia el ID del perfil al portapapeles de manera instantánea.
    • ✏️ Editar: Abre el modal de configuración para modificar parámetros.
    • 📋 Clonar: Abre el modal de clonación para crear una copia exacta del perfil bajo otro nombre o en otro tenant.
    • 🗑️ Eliminar: Borra el perfil de la base de datos (Nota: Solo se puede eliminar si ningún dispositivo lo está utilizando).

Creación y Edición de Perfil

Modal de Edición

Al presionar Nuevo Perfil o Editar, se despliega el núcleo de configuración LoRaWAN estructurado en 9 pestañas de alta complejidad técnica. (El modal de edición es estructuralmente idéntico al de creación, permitiendo modificar los valores previamente establecidos). Es imperativo configurar estos valores exactamente como indica el fabricante de tu hardware, ya que un parámetro erróneo impedirá que los dispositivos se unan a la red.

1. Info General

Tab Info General

Esta es la configuración de identidad y comportamiento base de la radiofrecuencia:

  • Perfil Global (isGlobal): Toggle Switch. [Opción exclusiva para SuperAdmins].
    • Si se marca en True: El perfil se vuelve transversal y podrá ser utilizado por cualquier Distribuidor (Tenant) de la plataforma. Ideal para crear plantillas genéricas de sensores comunes.
    • Si se marca en False: El perfil será privado y exigirá que selecciones obligatoriamente un Distribuidor (Tenant) en el campo que aparecerá debajo. Solo los usuarios de ese distribuidor podrán ver y usar este perfil.
  • Distribuidor (Tenant): Select condicional. Solo visible si "Perfil Global" está apagado. Asigna la propiedad del perfil a un Inquilino.
  • Fabricante (Vendor): Select opcional. Al conectarse con el servidor LNS, despliega todas las marcas oficiales de hardware (ej. Dragino, Milesight, RAKWireless).
  • Dispositivo (Device): Select opcional. Si seleccionaste un fabricante, aquí aparecerán los modelos exactos de sus sensores.
  • Plantilla de Perfil (Template): Select opcional. Si elegiste un dispositivo, aquí te aparecerán sus plantillas (ej. Firmware v1, Firmware v2). ¡Súper Poder!: Si seleccionas una plantilla, Lumiot autocompletará absolutamente todos los inputs complejos (Versión MAC, Región, Códec JS, etc.) con los valores oficiales, ahorrándote configuración manual.
  • Nombre *: Nombre del perfil, para que tú y tus clientes lo identifiquen fácilmente (ej. "Sensor de Temperatura Milesight US915").
  • Descripción: Área de texto para detallar el caso de uso.
  • Región *: Select. Banda de frecuencia en la que opera el hardware (ej. EU868, US915, AU915, CN470, etc.).
  • Versión MAC *: Select. La versión del protocolo LoRaWAN del firmware (1.0.0 hasta 1.1.0). Si no coincide con el hardware, el Join fallará por error de encriptación (MIC Mismatch).
  • Parámetros Regionales *: Select. La versión de revisión de los parámetros regionales (A, B, RP002-1.0.0, etc.).
  • Algoritmo ADR: Select. Qué algoritmo de Adaptive Data Rate utilizará el LNS (Predeterminado, LR-FHSS, o LoRa LR-FHSS).
  • Purgar Cola al Activar: Toggle Switch. Si está activado, LoRaWAN Network Server borrará cualquier mensaje downlink encolado si el dispositivo vuelve a unirse a la red (Join).
  • Intervalo de Uplink: Input Numérico. Intervalo (en segundos) esperado entre mensajes del sensor. LoRaWAN Network Server usa esto para monitorear si el sensor está "vivo" o inactivo. Un valor 0 desactiva este monitoreo.
  • Intervalo Req. de Estado: Input Numérico. Frecuencia (en segundos) con la que LoRaWAN Network Server le enviará un comando MAC al nodo preguntando su nivel de batería y margen de señal.

2. Activación (ABP / OTAA)

Tab Activación

  • Soporta OTAA: Toggle Switch. El método estándar industrial. Si está encendido (True), el dispositivo enviará peticiones de Join (Join-Request) para negociar claves de forma segura y dinámica. Si está apagado (False), el sistema espera que el dispositivo opere en modo ABP (Claves fijadas de fábrica).
  • Parámetros de Activación ABP: (Solo visibles si OTAA está apagado). Requiere introducir parámetros de RF exactos:
    • Retardo RX1 (RX1 Delay): Segundos antes de abrir la primera ventana de escucha.
    • Offset de RX1 (RX1 DR Offset): Desplazamiento del Data Rate.
    • Data-Rate RX2 (RX2 DR): Velocidad de transmisión para la segunda ventana de recepción.
    • Frecuencia RX2 (RX2 Freq): Frecuencia en Hz para la segunda ventana.

3. Clase B (Beaconing & Ping Slots)

Tab Clase B

  • Soporta Clase B: Toggle Switch. Los dispositivos Clase B abren ventanas extra de recepción sincronizadas por un "faro" (beacon) emitido por el Gateway, permitiendo latencias predecibles para recibir downlinks sin agotar la batería como la Clase C.
  • Timeout Clase B: Input Numérico. Segundos que el LNS esperará asumiendo que el dispositivo escucha en este modo.
  • Periodicidad de Ping-Slot: Select. Cada cuánto tiempo (ej. cada 1s, cada 32s) el dispositivo abre una ventana (ping slot).
  • Data-Rate del Ping-Slot: Input Numérico. Índice de velocidad de transmisión (0-15).
  • Frecuencia de Ping-Slot: Input Numérico. Frecuencia exacta en Hz. (Deja en 0 para usar la frecuencia por defecto de la Región).

4. Clase C (Siempre Escuchando)

Tab Clase C

  • Soporta Clase C: Toggle Switch. Dispositivos que casi siempre tienen la ventana de recepción RX2 abierta. Crucial para actuadores en tiempo real (ej. cortar la luz, apagar una válvula) ya que reciben el downlink inmediatamente. Esto agota rápidamente baterías, por lo que suelen estar conectados a la red eléctrica.
  • Timeout Clase C: Input Numérico. Límite de tiempo en segundos.

5. Payload Codec

Tab Codec

Esta es la inteligencia decodificadora del LNS. Los sensores envían bytes ininteligibles, este tab los convierte a JSON.

  • Runtime de Payload Codec: Select.
    • Ninguno: El payload pasará a la base de datos como base64 puro.
    • CayenneLPP: Si tu sensor soporta el estándar Cayenne, LoRaWAN Network Server lo decodificará automáticamente sin código.
    • JS: Habilita la codificación personalizada con JavaScript.
  • Editor de Código (Script): Panel de código dinámico. Si seleccionaste JS, se abrirá un entorno tipo IDE para que programes las funciones decodeUplink(input) y encodeDownlink(input) que transformarán la trama del sensor. (Si copiaste una plantilla de Vendor, este código ya vendrá escrito perfectamente por el fabricante).

6. Relay (TS011)

Tab Relay

Ajustes del estándar LoRaWAN para repetidores inalámbricos (mesh-like routing).

  • Es Perfil de Repetidor (Relay): Toggle Switch. Marca este perfil si el hardware es un Relay que enrutará paquetes de otros sensores que no tienen línea de vista con un Gateway físico. Activar esto despliega opciones avanzadas de canal de escucha (CAD Periodicity, Frecuencias secundarias y Reload Rates para límites de Join y Notificaciones).
  • Es Nodo bajo Repetidor (Relay Ed): Toggle Switch. Marca este perfil si el sensor es la "víctima" que está lejos del Gateway y debe hablar obligatoriamente usando un Repetidor.
    • Activar esto abre ajustes como Modo de Activación ED, BackOff y límites de ancho de banda.

7. Capa de Aplicación

Tab Capa de Aplicación

Configuración de protocolos paralelos definidos por la LoRa Alliance para orquestación avanzada en red.

  • TS003 (Clock Sync): Select y Puerto. Permite sincronizar la hora real (RTC) del sensor con el servidor.
  • TS004 (Fragmented Data): Select y Puerto. Permite enviar grandes bloques de datos particionados, obligatorio para FUOTA (Actualizaciones de Firmware Vía Inalámbrica).
  • TS005 (Multicast Setup): Select y Puerto. Controla el agrupamiento remoto de dispositivos para enviar un mismo mensaje a miles de nodos simultáneamente.

8. Etiquetas / Metadata

Tab Etiquetas

  • Lista de Etiquetas (Tags): Entradas dinámicas Key/Value. Un botón "Añadir Etiqueta" permite inyectar metadatos fijos en este perfil.
  • Uso: Todos los payloads generados por dispositivos usando este perfil llevarán adosados estos Tags en su JSON (Ej. Key: proyecto, Value: Riego Inteligente). Esto permite filtrar masivamente el tráfico cuando llegue a plataformas de análisis como AWS IoT o ThingsBoard.

9. Métricas

Tab Métricas

Define la estructura de datos que el frontend y los dashboards esperan recibir del codec JS.

  • Inputs de Métrica:
    • Clave (Key): El nombre exacto de la variable que tu Codec JS devuelve (ej. batteryLevel).
    • Nombre (Name): El nombre amigable para humanos (ej. Nivel de Batería).
    • Tipo de Métrica (Kind): Select fundamental para dibujar la gráfica correcta:
      • Gauge (Medidor): Valores de estado constante que suben o bajan (Temperatura, Humedad).
      • Counter (Contador): Valores acumulativos (Consumo de agua en Litros, KWh).
      • Absolute (Absoluto): Para medir frecuencias exactas.
      • String (Texto): Cadenas de texto plano.
  • Al pulsar el botón Agregar Métrica, se listará en pantalla, enseñándole a la interfaz de Lumiot qué datos debe dibujar automáticamente en el panel de control del cliente sin programar una sola línea en el frontend.

Clonación de Perfiles

Modal de Clonación

Una función espectacular para todos los roles (SuperAdmins, Integradores y Clientes) que ahorra horas de trabajo técnico. Si ya invertiste tiempo programando un Codec JS complejo y cuadrando métricas para un sensor, y ahora necesitas crear un Perfil idéntico para un nuevo proyecto (o si eres SuperAdmin, para otro cliente distinto), no lo crees desde cero. Usa la clonación.

Explicación de Inputs del Modal de Clonación

Al pulsar el ícono de Clonar 📋, se presentará un pequeño modal con los siguientes campos obligatorios:

  1. Nuevo Nombre *: Input de texto. El sistema precarga automáticamente el nombre original agregándole el sufijo "(Clon)". Puedes modificarlo para adaptarlo al nuevo proyecto (ej. "Sensor de Temperatura - Cliente B").
  2. Distribuidor Destino (Tenant) *: Select. [Opción exclusiva para SuperAdmins].
    • Esta es la funcionalidad central de la clonación. Te permite extraer un perfil que pertenece al Cliente A y volcar una copia idéntica en el ecosistema cerrado del Cliente B.
    • Al seleccionar el nuevo Distribuidor, Lumiot copiará instantáneamente las 9 pestañas (incluyendo el código JavaScript de decodificación y las definiciones de métricas) de forma segura y atómica, vinculando el nuevo perfil de forma hermética al Tenant destino.
Busca temas, dispositivos, MQTT, gateways, API...
Vista ampliada