Todos los productos
Search
Centro de documentos

IoT Platform:Comunicación M2M mediante Message Forwarding

Última actualización: Sep 05, 2026

Este tema explica cómo usar la función Data Forwarding de IoT Platform para habilitar la comunicación M2M entre una aplicación móvil y una lámpara inteligente.

Contexto

En la figura que aparece a continuación se muestra el proceso para controlar una lámpara inteligente con una aplicación móvil.

M2M设备间通信

Cree productos y dispositivos

  1. En la consola de IoT Platform, cree un producto y un dispositivo para la aplicación móvil en su instancia. Para obtener más información, consulte Create a product y Create a device.

    En este ejemplo, establezca los parámetros que se indican a continuación para crear el producto: establezca Product Name en MobileApp, node type en directly connected device. Utilice los valores predeterminados para los demás parámetros.

    Establezca el DeviceName del dispositivo en ControlApp.

    El ProductKey del producto MobileApp en este ejemplo es al987654321.

    Después de crear el producto y el dispositivo para la aplicación móvil, puede conectar la aplicación a IoT Platform.

    Cuando un usuario de la aplicación móvil se registra e inicia sesión, su servidor envía la información del dispositivo a la aplicación móvil, lo que permite que la aplicación se conecte a IoT Platform como un dispositivo.

  2. Agregue un tema personalizado con permisos de publicación para enviar comandos de control.

    Para este ejemplo, agregue el tema que se indica a continuación: /al987654321/ControlApp/user/command. Para obtener más detalles, consulte Use custom topics for communication.

  3. Desarrolle la aplicación móvil.

    En este caso, la aplicación móvil usa HTTPS para comunicarse con IoT Platform.

    El código que aparece a continuación muestra el formato de los datos de la carga útil de un comando de control que la aplicación móvil envía a la lámpara inteligente a través del tema personalizado:

    {
        "TargetDevice": "light", 
        "Switch": 0, 
        "Timestamp": 1557750407000
    }

    Para obtener detalles sobre el desarrollo del SDK en el lado del dispositivo, consulte Connect devices by using Link SDK.

  4. En la consola de IoT Platform, en su instancia, cree un producto y un dispositivo para la lámpara inteligente y defina sus funciones. Para obtener información adicional, consulte Create a product, Create multiple devices at a time y Add a Thing Specification Language (TSL) feature.

    En este ejemplo, establezca los parámetros que se indican a continuación para crear el producto: establezca Product Name en SmartLamp, node type en directly connected device. Utilice los valores predeterminados para los demás parámetros.

    Para el dispositivo que cree, establezca DeviceName en light.

    El ProductKey del producto SmartLamp en este ejemplo es al123456789.

    Puede agregar funciones de Thing Specification Language (TSL) según sus requisitos empresariales. Por ejemplo, agregue una propiedad de TSL denominada Switch. Establezca el tipo de datos en Boolean (0 para apagado y 1 para encendido) para controlar el interruptor de la lámpara inteligente.

  5. Agregue un tema personalizado con permisos de suscripción para recibir comandos de control de la aplicación móvil.

    En esta muestra, agregue el tema que se indica a continuación: /al123456789/light/user/set. Para obtener más detalles, consulte Use custom topics for communication.

  6. Desarrolle el dispositivo de la lámpara inteligente para conectarlo a IoT Platform e implemente la lógica para recibir y ejecutar comandos.

    En este caso, el dispositivo usa MQTT para comunicarse con IoT Platform. El dispositivo de la lámpara inteligente debe suscribirse al tema /al123456789/light/user/set para recibir comandos. Después de que el dispositivo reciba un comando, debe desarrollar la lógica para ejecutarlo.

    Para obtener detalles sobre el desarrollo del SDK en el lado del dispositivo, consulte Connect devices by using Link SDK.

Configure el analizador de Message Forwarding

Configure un analizador de Message Forwarding para reenviar los comandos que publica la aplicación móvil al tema de la lámpara inteligente.

  1. Inicie sesión en la consola de IoT Platform.

  2. En la página Overview, haga clic en All environment. En la pestaña All environment, busque la instancia que desea gestionar y haga clic en el ID o el nombre de la instancia.

  3. En el panel de navegación izquierdo, elija Message Forwarding > Data Forwarding.

Agregue un origen de datos

Para obtener más información sobre los parámetros de los pasos que se indican a continuación, consulte Add a data source to be forwarded.

  1. Haga clic en la pestaña Data Source y siga los pasos que se indican a continuación para agregar un origen de datos.

    Importante

    Si se muestra la página de la versión anterior, haga clic en Go to New Version en la esquina superior derecha. En la nueva página, haga clic en la pestaña Data Source.

    1. Haga clic en Create Data Source.

    2. En el cuadro de diálogo Create Data Source, introduzca un nombre para el origen de datos, como AppData.

    3. Haga clic en OK.

  2. En la página AppData, haga clic en Add Topic.

  3. En el cuadro de diálogo Add Topic, seleccione el tema que se procesará y haga clic en OK.

    En esta muestra, seleccione el tema /al987654321/ControlApp/user/command del dispositivo de la aplicación móvil ControlApp. Esto le permite recuperar los valores de los campos TargetDevice, Timestamp y Switch del mensaje.

Configure un destino de datos

Para consultar información sobre los parámetros de los pasos que se indican a continuación, consulte Add a data destination.

  1. Regrese a la página Data Forwarding y haga clic en la pestaña Data Destination.

  2. Haga clic en Create Data Destination.

  3. En el cuadro de diálogo, introduzca un nombre para el destino de datos, como OtherTopic, y seleccione el producto SmartLamp.

    Para Select Action, seleccione republish to another topic.

  4. Haga clic en OK.

Configure e inicie el analizador

Para obtener detalles sobre los parámetros de los pasos que se indican a continuación, consulte Configure a parser.

  1. Haga clic en la pestaña Parser y siga los pasos que se indican a continuación para agregar un analizador.

    1. Haga clic en Create Parser.

    2. En el cuadro de diálogo, introduzca un nombre para el analizador, como DataParser.

    3. Haga clic en OK.

  2. En la página DataParser, asocie un origen de datos.

    1. En el paso Data Source del asistente de configuración, haga clic en Associate Data Source.

    2. En el cuadro de diálogo, seleccione AppData en la lista desplegable Data Source.

    3. Haga clic en OK.

  3. En la página DataParser, haga clic en Data Destination en el asistente de configuración para asociar un destino de datos.

    1. En la esquina superior derecha de la lista Data Destination, haga clic en Associate Data Destination.

    2. En el cuadro de diálogo que aparece, seleccione OtherTopic en la lista desplegable Data Destination.

    3. Haga clic en OK.

    4. En la lista de destinos de datos, consulte y guarde el data destination ID. En este ejemplo, el ID es 1000.

      Debe usar este data destination ID en el script del analizador.

  4. En la página DataParser, haga clic en Parser Script en el asistente de configuración para configurar el script.

    1. En el editor de scripts, introduzca un script del analizador. Establezca el tema de destino en /al123456789/light/user/set, que el dispositivo de la lámpara inteligente usa para recibir comandos.

      Para obtener más información sobre la sintaxis de los scripts, consulte Script syntax. Para obtener más información sobre las funciones de Data Forwarding, consulte writeIotTopic() function.

      // Use the payload() function to get the message content reported by the device and parse it as JSON.
      var data = payload("json");
      // Get the device name. In this example, the value of TargetDevice is the smart lamp device, light.
      var dn = data.TargetDevice;
      // Define the destination topic that the smart lamp subscribes to.
      var topic_set = "/al123456789/"+dn+"/user/set";
      // Call writeIotTopic() to forward the original payload to the destination topic (ID 1000).
      writeIotTopic(1000, topic_set, data)
    2. Debajo del editor de scripts, haga clic en Save.

    3. Haga clic en Debugging. En el panel que aparece a la derecha, seleccione un producto y un dispositivo, e introduzca un tema y una carga útil para probar el script.

      Para Product, seleccione MobileApp. Para Device, seleccione ControlApp. Para Topic, introduzca /productKey/ControlApp/user/command. Para Payload Data, introduzca {"TargetDevice": "light", "Switch": 0, "Timestamp": 1557750407000}.

      Una prueba correcta produce el resultado que se muestra a continuación.

      action: 
          transmit to republish[destinationId=1000], data:{"Switch":0,"Timestamp":1557750407000,"TargetDevice":"light"}
      variables: 
          data : {"Switch":0,"Timestamp":1557750407000,"TargetDevice":"light"}
          topic_set : /al123456789/light/user/set
          dn : light
    4. En la esquina inferior izquierda del panel, haga clic en Close.

    5. Debajo del editor de scripts, haga clic en Publish.

  5. Regrese a la pestaña Parser de la página Data Forwarding. En la columna Actions del analizador DataParser, haga clic en Start.

  6. Haga clic en OK para iniciar el analizador.

Comunicación entre dispositivos

  1. El usuario de la aplicación móvil escanea un código QR para vincular la aplicación con la lámpara inteligente.

    Cuando la aplicación envía una solicitud de vinculación a su servidor, el servidor devuelve el DeviceName de la lámpara inteligente vinculada correctamente. En este ejemplo, el nombre del dispositivo es light.

  2. El usuario envía un comando de control desde la aplicación móvil.

    1. La aplicación móvil envía un comando a través de un tema personalizado. En este ejemplo, el tema es /al987654321/ControlApp/user/command.

    2. IoT Platform usa el analizador de Message Forwarding para reenviar el comando al tema de la lámpara inteligente. En este ejemplo, el tema es /al123456789/light/user/set.

    3. Después de que la lámpara inteligente recibe el comando, ejecuta la acción correspondiente.

    Nota

    Después de quitar la vinculación, la aplicación ya no puede controlar la lámpara inteligente.