Los dispositivos no pueden suscribirse ni publicar mensajes en topics de otros dispositivos. Data Forwarding procesa los mensajes del topic de un dispositivo mediante una sentencia SQL y reenvía los resultados al topic de otro dispositivo, lo que permite la comunicación M2M.
Funcionamiento
Data Forwarding enruta los datos del Topic 1 al Topic 2. La siguiente figura muestra el flujo de datos.
Data Forwarding enruta los mensajes del Topic 1 del Dispositivo 1 al Topic 2 del Dispositivo 2. El Dispositivo 2 debe tener permiso de suscripción en el Topic 2 para recibir los mensajes reenviados.
En la figura:
Topic de origen 1: Los tipos de mensaje que admite el Topic 1 se describen en Data formats.
-
Sentencia SQL: Escriba una sentencia SQL para analizar y procesar los datos JSON reportados por el dispositivo. Para consultar la sintaxis SQL, consulte SQL statements.
NotaLos datos en formato binario no se analizan y se reenvían tal cual.
-
Destino de datos: El Topic 2, que recibe los mensajes del Topic 1. Tipos de topic compatibles:
Topics personalizados y topics de datos descendentes de Thing Specification Language (TSL):
/sys/${productKey}/${deviceName}/thing/service/property/set.
Casos de uso
-
Topic personalizado:
Comunicación entre dispositivos del mismo producto.
Comunicación entre dispositivos de distintos productos.
-
Topic de datos TSL descendente:
/sys/${productKey}/${deviceName}/thing/service/property/set.El dispositivo recibe los datos reenviados desde este topic y establece los valores de las propiedades según el payload del mensaje.
Limitaciones
El topic de destino debe contar con permiso de suscripción y el dispositivo de destino debe estar suscrito a dicho topic. De lo contrario, no podrá recibir los mensajes reenviados.
Data Forwarding (Previous Version) no es compatible con productos ni dispositivos de Cloud Gateway o instancias basadas en MQTT. Utilice Data Forwarding (New Version) en su lugar.
Requisitos previos
Debe haber configurado una regla de reenvío de datos con una sentencia SQL. Configure a data forwarding rule.
Agregar un destino de datos
Inicie sesión en la consola de IoT Platform.
En la página Overview, localice la instancia que desea gestionar y haga clic en el ID o nombre de la instancia.
En el panel de navegación izquierdo, seleccione .
-
Haga clic en View junto a la regla objetivo. Aparecerá la página Data Forwarding Rule.
ImportanteSi se muestra la página Data Forwarding (New Version), haga clic en Back to Previous Version en la esquina superior derecha y luego haga clic en View junto a la regla objetivo.
En la sección Forward Data, haga clic en Add Operation.
-
En el cuadro de diálogo Add Operation, seleccione Publish Data to Another Topic en la lista desplegable Operation, configure los parámetros y haga clic en OK.
Parámetro
Descripción
Seleccionar operación
Seleccione Publish Data to Another Topic.
Topic
Seleccione el topic de destino.
Valores válidos:
-
Custom: Un topic personalizado. El permiso de operación del dispositivo debe establecerse en Subscribe para que los dispositivos puedan recibir los mensajes reenviados.
-
Send Downstream TSL Data: El topic para establecer valores de propiedades del dispositivo:
thing/service/property/set. Los dispositivos reciben los datos reenviados y establecen los valores de las propiedades en consecuencia.
Después de seleccionar un tipo de topic, elija un producto, un dispositivo y un topic.
ImportanteSi un dispositivo no se suscribe al topic de destino, no podrá recibir los mensajes reenviados.
Por ejemplo, si el Dispositivo A se conecta a IoT Platform mediante MQTT.fx, no se suscribe automáticamente a los topics del dispositivo. Si el Dispositivo B reenvía datos al topic
thing/service/property/setdel Dispositivo A sin que este último esté suscrito, el Dispositivo A no podrá recibir el mensaje.Para consultar información sobre suscripciones automáticas a topics, consulte Auto-subscribed topics.
-
En la página Data Forwarding, localice la regla y haga clic en Start en la columna Actions.