# Nodo Punto final de salida

## Visión técnica general y capacidades

{% columns %}
{% column %}
**Nodo de punto final de salida** sirve como el componente de transmisión de datos dentro de los flujos de IoT Logic, definiendo a dónde se envían los datos procesados de los dispositivos. Su función principal es estandarizar los datos heterogéneos de los dispositivos en un formato consistente antes de transmitirlos a sistemas o servicios externos. Todos los datos se transfieren en un formato unificado, habilitado por [Navixy Generic Protocol](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-generic-protocol).
{% endcolumn %}

{% column %}
![](https://3876955220-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-0b3ea6ffe765ce38608efc88165ae9259f46b1ac%2Fimage-20250407-210332.png?alt=media)
{% endcolumn %}
{% endcolumns %}

Para obtener detalles sobre el formato en el que se transmiten los datos, consulte [Formato de datos de salida](#output-data-format).

### Integración en la arquitectura del flujo

<figure><img src="https://3876955220-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-fe8bda4e4cdb0f76b8d19178b4e8bc3386960916%2FOutput-endpoint-in-flow.webp?alt=media" alt="Output Endpoint node in the flow workspace"><figcaption></figcaption></figure>

Un único flujo de IoT Logic puede contener múltiples nodos de salida, cada uno con configuraciones independientes. Esta arquitectura permite:

* Transmisión de datos a múltiples destinos hacia diferentes sistemas externos simultáneamente
* Manejo de múltiples fuentes de datos con diferentes formatos de datos entrantes
* Enrutamiento selectivo de datos que permite escenarios flexibles de flujo de datos

{% hint style="info" %}
Cada flujo incluye un nodo de punto final Navixy predeterminado. Se recomienda mantener las conexiones entre sus **Fuente de datos** nodos y esta salida. La conexión asegura que los datos de los dispositivos se envíen a la plataforma, habilitando capacidades de monitoreo mediante las herramientas de Navixy. Si se elimina la salida Navixy, los datos de los dispositivos involucrados en el flujo dejarán de llegar a la plataforma.
{% endhint %}

### Capacidades del nodo

El **Punto de salida** nodo por sí solo ofrece:

* **Transmisión segura**: Implementa cifrado SSL y mecanismos de autenticación para la protección de datos durante el tránsito
* **Garantía de entrega configurable**: Proporciona selección del nivel QoS de MQTT para equilibrar entre garantías de entrega y sobrecarga de red
* **Reutilización de configuración**: Soporta la creación de perfiles de punto final que pueden reutilizarse en múltiples flujos, asegurando la consistencia de la configuración
* **Procesamiento concurrente**: Acepta entradas de múltiples fuentes de datos dentro de un flujo, permitiendo la transmisión de datos consolidada
* **Selección de versión del protocolo de transporte**: Soporta tanto MQTT 3.1.1 como 5.0 para acomodar diversas implementaciones de brokers

## Opciones de configuración

Configuración de un **Nodo de punto final de salida** determina cómo y dónde se entregarán los datos desde un flujo en particular. Cada opción de configuración cumple un propósito específico para establecer una transmisión de datos fiable.

<figure><img src="https://3876955220-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-4a4f707732705995a6bb2683eae5c68ebf6b3ce5%2Fimage-20250403-160749.png?alt=media" alt="Output Endpoint node configuration panel in its default appearance" width="375"><figcaption></figcaption></figure>

Veamos qué elementos usa este nodo y qué puede configurar al trabajar con él:

### Pasos de configuración

{% stepper %}
{% step %}
Seleccione el tipo de punto final

Elija qué tipo de transmisión usar para este punto final

* **punto final predeterminado** - configuración estándar para enviar los datos del flujo a la plataforma Navixy que no puede editarse
* **punto final MQTT** - configuración personalizada que utiliza MQTT como transporte para enviar datos del flujo a sistemas de terceros.
  {% endstep %}

{% step %}
Seleccione un **Preajuste** (opcional)

Abra el **Preajuste** desplegable y seleccione una plantilla que se ajuste a sus necesidades. Varias configuraciones listas están disponibles para destinos comunes, como los servidores de Navixy.

{% hint style="info" %}
Después de que se guarde un punto final, puede usarse como preajuste para crear nuevas salidas.
{% endhint %}
{% endstep %}

{% step %}
**Especifique el nombre del punto final**

Introduzca un nombre único y descriptivo para esta configuración de punto final

* Use un nombre que le ayude a identificar el destino al que se envían los datos
* Este nombre se mostrará en el diagrama del flujo para una fácil identificación
  {% endstep %}

{% step %}
**Seleccione protocolos**

Elija un protocolo para la transmisión de datos a servicios de terceros desde una lista desplegable. Actualmente, solo se admite el **Navixy Generic Protocol (JSON)** En el futuro, se pueden considerar otros formatos como opciones adicionales para la transmisión de datos.
{% endstep %}

{% step %}
**Configure los parámetros de conexión**

* Introduzca el **IP/Dominio** en el formato: *123.123.123.123* o *example.example.com*.
* Especifique el **Puerto** número. Por defecto, *1883* se utiliza para MQTT estándar, *8883* – para SSL).
* Alternar **Habilitar SSL** para conexiones seguras. Esta acción establece automáticamente el puerto a *8883* si no se cambió manualmente.
  {% endstep %}

{% step %}
**Configure parámetros MQTT**

* Introduzca **ID de cliente**. El lado receptor tiene una lista fija de clientes. En este campo debe especificarse el valor correcto para que los datos no sean rechazados.
* Seleccione **Versión MQTT**: 3.1.1 o 5.0.
* Especifique **Temas** en forma de etiquetas que se usarán para la transmisión de datos.
* Elija **QoS** nivel que determina la lógica de la transmisión de datos:
  * **QoS 0** – sin confirmación de entrega.
  * **QoS 1** – entrega garantizada con posible duplicación.
  * **QoS 2** – entrega garantizada sin duplicación.
    {% endstep %}

{% step %}
**Configure la autenticación MQTT** (opcional)

* Alternar **Autenticación MQTT** activada.
* Introduzca **Inicio de sesión MQTT** y **Contraseña MQTT** para la parte receptora en los campos que aparecieron.
  {% endstep %}

{% step %}
**Guarde** su configuración.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Asegúrese de conectar los nodos de datos relevantes a su nueva salida; de lo contrario, no recibirá ningún dato.
{% endhint %}

## Formato de datos de salida

La capacidad principal del nodo es la estandarización del formato de datos a través de [Navixy Generic Protocol](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-generic-protocol). Esta estandarización resuelve un desafío fundamental en las implementaciones de IoT: la diversidad de protocolos específicos de los dispositivos que requieren trabajo de integración personalizado.

Por lo general, cada tipo de dispositivo utiliza su propio formato de datos, requiriendo controladores de protocolo dedicados en los sistemas receptores. Este enfoque incrementa exponencialmente la carga de desarrollo y mantenimiento a medida que las flotas de dispositivos se expanden. IoT Logic aborda esto normalizando todos los datos de los dispositivos en una estructura JSON estandarizada, independientemente del fabricante o protocolo original.

El [Navixy Generic Protocol](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-generic-protocol) la especificación incluye campos estandarizados para la identificación del dispositivo, datos de ubicación, valores de telemetría y metadatos. Este formato soporta comunicación bidireccional, permitiendo tanto la transmisión de datos desde IoT Logic a sistemas externos como la ingestión de datos desde fuentes externas hacia la plataforma.

Al implementar un único protocolo, el **Punto de salida** nodo permite:

* Un único patrón de integración para los sistemas receptores en lugar de múltiples controladores específicos por dispositivo
* Estructura de datos consistente que se mantiene uniforme en todos los dispositivos conectados
* Reducción de la sobrecarga de procesamiento del lado del servidor mediante la normalización del protocolo
* Escalado simplificado al agregar nuevos tipos de dispositivos a implementaciones existentes
* Capacidades de intercambio de datos bidireccional con sistemas externos

El nodo implementa MQTT como protocolo de transporte para esta carga útil JSON estandarizada, proporcionando un mecanismo de transmisión fiable y liviano adecuado para implementaciones IoT.

## Preguntas frecuentes

#### ¿Puedo conectar múltiples fuentes de datos a un único nodo de punto final de salida?

Sí. El **Punto de salida** nodo acepta entradas de múltiples **Fuente de datos** nodos simultáneamente. Todos los datos procesados, incluidas las coordenadas de ubicación, identificadores de dispositivos, parámetros de telemetría y atributos calculados, se serializan de acuerdo con la especificación [Navixy Generic Protocol](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-generic-protocol) antes de la transmisión.

<figure><img src="https://3876955220-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-07bade815dc90fd9a80ba35426f74376a6f30b23%2Fimage-20250404-105858.png?alt=media" alt="Example flow showing multiple Data Sources connected to a single Output Endpoint"><figcaption></figcaption></figure>

#### ¿Qué sucede si modifico un punto final que se utiliza en múltiples flujos?

Las configuraciones de puntos finales se almacenan como recursos reutilizables en toda la cuenta del cliente. Las modificaciones a una configuración de punto final existente afectarán a todos los nodos que hagan referencia a ese punto final en todos los flujos. Este comportamiento facilita la estandarización de la configuración pero requiere una gestión cuidadosa de los cambios al actualizar los parámetros del punto final.

#### ¿Qué prácticas de seguridad se recomiendan para implementaciones en producción?

Para implementaciones que requieren altos estándares de seguridad (sanidad, financiero, etc.), habilite SSL e implemente autenticación MQTT. Aunque esto aumenta ligeramente la sobrecarga del protocolo, proporciona la protección de datos necesaria durante la transmisión. Las implementaciones estándar deben usar como mínimo el nivel QoS 1 para garantizar la confirmación de entrega.
