Todos los productos
Search
Centro de documentos

IoT Platform:Envío de un script para analizar sintácticamente datos TSL

Última actualización: Sep 11, 2026

Este tema describe cómo escribir un script para analizar sintácticamente los datos de Thing Specification Language (TSL) en productos cuyo parámetro Data Type está configurado como Custom. También explica cómo enviar dicho script e incluye ejemplos que sirven para analizar sintácticamente los datos de propiedades ascendentes y descendentes.

Requisitos previos

Al crear el producto, configure el parámetro Data Type con el valor Custom. Para obtener más información, consulte Create a product.

Contexto

Si el parámetro Data Type se configura como ICA Standard Data Format (Alink JSON), los dispositivos generan datos en formato Alink JSON y los reportan a IoT Platform. Para conocer más detalles sobre este formato, consulte Device properties, events, and services.

Si el parámetro Data Type se configura como Custom, IoT Platform utiliza los scripts de análisis de datos que usted envió. Con ellos convierte los datos TSL ascendentes al formato Alink JSON y transforma los datos TSL descendentes al formato personalizado del dispositivo durante la comunicación.

Nota

En este ejemplo se utilizan las propiedades del módulo predeterminado. Si usa un módulo personalizado, especifique cada identificador con el siguiente formato: ${Module identifier}:${Property identifier}. Por ejemplo: model1:prop_int16.

Paso 1: Escribir un script

  1. Create a product. En la consola de IoT Platform, cree un producto y establezca el parámetro Data Type como Custom.

  2. Add a TSL feature: defina un modelo TSL para el producto.

    En este ejemplo se definen tres propiedades. A continuación se describen sus características.

    Identificador

    Tipo de datos

    Valor válido

    Tipo de lectura y escritura

    prop_float

    FLOAT

    -100~100

    Lectura y escritura

    prop_int16

    INT32

    -100~100

    Lectura y escritura

    prop_bool

    BOOLEAN

    0: habilitado y 1: deshabilitado

    Lectura y escritura

    El script se escribe para analizar sintácticamente los datos TSL ascendentes y descendentes según el modelo TSL.

    Además, se especifica la longitud de los valores de los parámetros utilizados en la comunicación de datos. La siguiente tabla detalla dichas longitudes.

    • Solicitudes que envían los dispositivos para reportar datos

      Parámetro

      Número de bytes

      Frame Type

      1 byte

      The ID of the request

      4 bytes

      prop_int16

      2 bytes

      prop_bool

      1 byte

      prop_float

      4 bytes

    • Respuestas a las solicitudes de reporte de datos

      Parámetro

      Número de bytes

      Frame Type

      1 byte

      The ID of the request

      4 bytes

      Result code

      1 byte

    • Solicitudes para configurar propiedades

      Parámetro

      Número de bytes

      Frame Type

      1 byte

      The ID of the request

      4 bytes

      prop_int16

      2 bytes

      prop_bool

      1 byte

      prop_float

      4 bytes

    • Respuestas a las solicitudes de configuración de propiedades

      Parámetro

      Número de bytes

      Frame Type

      1 byte

      The ID of the request

      4 bytes

      Result code

      1 byte

  3. Escriba el script.

    1. En la página Products, busque el producto que desea gestionar y haga clic en View dentro de la columna Actions.

    2. En la página product details, haga clic en Message Analysis.

    3. Seleccione un lenguaje de programación y escriba el script en el campo Edit Script.

      Lenguaje de scripting compatible

      Función que convierte los datos ascendentes de formato personalizado a Alink JSON:

      Función que convierte los datos en formato Alink JSON a datos descendentes de formato personalizado:

      Código de ejemplo

      JavaScript (ECMAScript 5)

      rawDataToProtocol

      protocolToRawData

      Sample JavaScript script

      Python 2.7

      raw_data_to_protocol

      protocol_to_raw_data

      Python sample script

      PHP 7.2

      rawDataToProtocol

      protocolToRawData

      PHP sample script

      Nota

      Debe escribir un script que permita analizar sintácticamente los datos enviados a temas personalizados. Para conocer el procedimiento, consulte Submit a message parsing script.

      Si necesita ejemplos completos de scripts para analizar sintácticamente datos enviados a temas personalizados y datos TSL, consulte Sample JavaScript code used to parse custom data, Complete sample code for parsing pass-through or custom data in Python y Sample PHP code used to parse custom data.

Paso 2: Probar el script en línea

Importante

La cadena hexadecimal y los datos en formato JSON que se especifican y devuelven en este ejemplo sirven únicamente para pruebas. No los utilice para depurar escenarios reales.

Una vez escrito el script, configure el parámetro Simulation Type y especifique datos simulados en la pestaña Input Simulation para probarlo.

  • Pruebe el script con datos simulados de propiedades que un dispositivo reporta a IoT Platform.

    Establezca el parámetro Simulation Type como Upstreamed Device Data, introduzca los siguientes datos simulados y haga clic en Run.

    Nota

    Este ejemplo utiliza datos simulados de JavaScript. Para consultar más ejemplos de scripts en JavaScript, vea Sample JavaScript script.

    Si busca ejemplos en Python y PHP, consulte Python sample script y PHP sample script.

    Utilice una herramienta de conversión de cadenas a datos hexadecimales para transformar los datos en formato JSON. Por ejemplo, si el resultado convertido es 00002233441232013fa00000, especifique lo siguiente:

    0x00002233441232013fa00000

    El motor de análisis de datos convierte los datos de paso directo al formato JSON según las reglas definidas en el script.

    Haga clic en Parsing Results. La pestaña Parsing Results muestra los datos analizados sintácticamente.

    {
        "method": "thing.event.property.post", 
        "id": "2241348", 
        "params": {
            "prop_float": 1.25, 
            "prop_int16": 4658, 
            "prop_bool": 1
        }, 
        "version": "1.0"
    }
  • Pruebe el script con datos de resultados simulados que IoT Platform devuelve a un dispositivo.

    Establezca el parámetro Simulation Type como Received Device Data, introduzca los siguientes datos en formato JSON y haga clic en Run.

    {
      "id": "12345",
      "version": "1.0",
      "code": 200,
      "method": "thing.event.property.post",
      "data": {}
    }

    El motor de análisis de datos convierte la información en formato JSON a lo siguiente:

    0x0200003039c8
  • Pruebe el script con datos simulados que IoT Platform envía a un dispositivo para solicitarle que modifique propiedades.

    Establezca el parámetro Simulation Type como Received Device Data, introduzca los siguientes datos en formato JSON y haga clic en Run.

    {
        "method": "thing.service.property.set", 
        "id": "12345", 
        "version": "1.0", 
        "params": {
            "prop_float": 123.452, 
            "prop_int16": 333, 
            "prop_bool": 1
        }
    }

    El motor de análisis de datos convierte la información en formato JSON a lo siguiente:

    0x0100003039014d0142f6e76d
  • Pruebe el script con datos de resultados simulados que un dispositivo devuelve a IoT Platform después de modificar las propiedades.

    Establezca el parámetro Simulation Type como Upstreamed Device Data, introduzca los siguientes datos y haga clic en Run.

    0x0300223344c8

    El motor de análisis de datos convierte los datos de paso directo a los siguientes datos en formato JSON:

    {
      "code": "200",
      "data": {},
      "id": "2241348",
      "version": "1.0"
    }

Paso 3: Enviar el script

Importante

Para que IoT Platform ejecute los scripts, debe enviarlos primero a la plataforma. Los scripts en estado Draft no se pueden invocar.

Cuando compruebe que el script analiza sintácticamente los datos correctamente, haga clic en Submit para enviarlo a IoT Platform. De esta forma, la plataforma podrá utilizarlo para procesar los datos ascendentes y descendentes.

Paso 4: Depurar con un dispositivo físico

Antes de usar el script en su entorno de producción, comunique un dispositivo físico con IoT Platform. Así comprobará si la plataforma logra invocar el script y analizar sintácticamente los datos ascendentes y descendentes.

Utilice un Link SDK de IoT Platform para configurar el dispositivo y conectarlo a la plataforma. Para obtener más información, consulte Link SDK.

  • Compruebe que IoT Platform puede invocar el script para analizar sintácticamente los datos ascendentes de propiedades.

    1. Use el dispositivo para reportar datos de propiedades a IoT Platform, por ejemplo: 0x00002233441232013fa00000.

    2. En la consola de IoT Platform, seleccione Devices > Devices en el panel de navegación izquierdo.

    3. En la página Devices, busque el dispositivo y haga clic en View dentro de la columna Actions. Después, en la página Device Details, abra la pestaña TSL Data y luego la subpestaña Status. Compruebe si los datos de propiedades reportados están presentes.

  • Compruebe que IoT Platform puede invocar el script para analizar sintácticamente los datos descendentes de propiedades.

    1. Inicie sesión en la consola de IoT Platform. En el panel de navegación izquierdo, seleccione Maintenance > Online Debug.

    2. En la página Online Debug, seleccione el producto y el dispositivo que desea depurar, y luego elija Default Module. Seleccione el identificador de la propiedad que va a depurar, como prop_int16. Establezca el método como Set. Introduzca los siguientes datos y haga clic en Send Command.

      {
          "method": "thing.service.property.set", 
          "id": "12345", 
          "version": "1.0", 
          "params": {
              "prop_float": 123.452, 
              "prop_int16": 333, 
              "prop_bool": 1
          }
      }
    3. Compruebe si el dispositivo recibe el comando para configurar las propiedades.

    4. En la página Device Details, seleccione TSL Data > Status. En la pestaña que aparece, compruebe si el dispositivo reportó los datos actuales de la propiedad.

Opcional: Actualizar el script de análisis de mensajes

Después de enviar un script de análisis de mensajes, regrese a la pestaña Message Parsing para modificarlo o eliminarlo. Siga los pasos de la sección Procedimiento para probar y enviar los cambios. Estos surten efecto en aproximadamente un minuto. El script actualizado aplica a todos los dispositivos existentes y nuevos asociados al producto.

Aviso
  • Si modifica y vuelve a enviar el script, también debe actualizar la lógica de negocio relacionada con el servicio de análisis de mensajes. De lo contrario, sus servicios podrían interrumpirse.

  • Si elimina el script, el servicio de análisis de mensajes dejará de estar disponible para los dispositivos asociados al producto. Esto podría interrumpir sus servicios.

Proceda con precaución.

Referencias