Todos los productos
Search
Centro de documentos

IoT Platform:Conectar un dispositivo GB/T 32960 mediante Cloud Gateway (TLS unidireccional)

Última actualización: Sep 04, 2026

Conecte un dispositivo vehicular compatible con GB/T 32960 a IoT Platform a través de un cloud gateway con verificación TLS del lado del servidor, mediante un cliente de código abierto de GitHub.

Requisitos previos

  • Debe contar con una instancia Exclusive Enterprise Edition disponible. Este ejemplo utiliza la región China (Shanghai).

    Purchase an Enterprise Edition instance.

  • Tener listos los certificados personalizados.

    Archivos obligatorios: certificado raíz (root-ca.crt), clave privada del servidor (server.key) y certificado del servidor (server.crt).

    Genérelos con OpenSSL. Generate a custom certificate.

Contexto

El cloud gateway de IoT Platform admite conexiones GB/T 32960 mediante TCP o TLS. Se recomienda usar TLS, ya que permite la verificación unidireccional del lado del servidor, OCSP del lado del dispositivo y TLS mutuo.

Este ejemplo utiliza TLS con verificación unidireccional del lado del servidor.

Para obtener más información sobre el protocolo, consulte GB/T 32960 protocol cloud gateway overview.

El cliente de código abierto para GB/T 32960 está disponible en GitHub.

Preparar el entorno

  • Git y Patch deben estar instalados en su sistema operativo.

  • Configure un entorno de desarrollo Java:

Descargar el código fuente

Clone la demostración y aplique un archivo de parche:

  1. Ejecute los siguientes comandos para clonar el repositorio de demostración tsp.

    git clone https://github.com/zhengyishan/tsp.git
    cd tsp
    git checkout 5ef2907b7160f74cf4948b641d75fccd50c5dd6a -b demo_branch
  2. Descargue el archivo de parche gb32960.patch en el directorio tsp.

  3. Ejecute el siguiente comando para aplicar el parche al archivo de demostración tsp.

    patch -p1 < gb32960.patch

Crear un cloud gateway y dispositivos

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

  2. En la esquina superior izquierda de la consola, seleccione la región donde se encuentra su instancia de IoT Platform.

  3. En la página Instance Details, haga clic en la instancia Exclusive Enterprise Edition deseada.

  4. En el panel de navegación izquierdo, vaya a Devices > Cloud Gateway y haga clic en Add Cloud Gateway.

  5. En el cuadro de diálogo que aparece, establezca Server Certificate Private Key con el contenido del archivo server.key y configure Server Certificate con el contenido del archivo server.crt.

    Para obtener detalles sobre los parámetros, consulte Add a cloud gateway.

    Establezca Cloud Gateway Name como GBtest, Protocol como GB/T 32960 y Custom Port Number como 8999. Seleccione server-side one-way verification para Authentication Type y TLS para Transport Protocol. Elija No en Enable Device X.509 Certificate Authentication y Disable en Enable OCSP.

  6. Haga clic en OK.

  7. Una vez creado el cloud gateway, localícelo en la lista de gateways y copie la Gateway URL.

    El formato de la Gateway URL es xxx.igw.iothub.aliyuncs.com(Port number: 8999). Guarde la URL completa.

Agregar dispositivos

  1. En el panel de navegación izquierdo, vaya a Devices>Products. Busque el producto correspondiente al cloud gateway que creó y haga clic en Manage Devices en la columna Actions.

  2. En la página Devices, haga clic en Batch Add.

  3. En el cuadro de diálogo Batch Add Devices, haga clic en Download .csv Template.

    En el cuadro de diálogo, el campo Product ya muestra seleccionado su cloud gateway. Asimismo, encontrará el campo Batch Upload File y el botón Upload File.

  4. En la plantilla, introduzca un VIN, por ejemplo device10000000001. Luego guarde el archivo con extensión .csv.

    Importante

    El VIN es el número de identificación vehicular. Puede tener hasta 17 caracteres y contener letras y dígitos.

  5. Regrese al cuadro de diálogo Batch Add Devices. Haga clic en Upload File para cargar el archivo que acaba de guardar y luego haga clic en OK.

    Tras cargar el archivo, aparecerá el mensaje Parsing complete junto con el recuento Total devices. Compruebe el resultado del análisis y haga clic en OK.

    Al importar las identidades de los dispositivos, IoT Platform crea los dispositivos correspondientes y utiliza los valores VIN cargados como DeviceName de cada uno. Los dispositivos creados aparecerán en la lista de dispositivos.

    El estado de un dispositivo nuevo es inactive.

Desarrollar el cliente del dispositivo

Desarrolle un cliente Java para conectar el dispositivo device10000000001 a IoT Platform.

  1. Abra IntelliJ IDEA e importe la demostración tsp que descargó.

  2. En el proyecto, importe el archivo de certificado raíz root-ca.crt al directorio /dyy-gateway-tcu/src/main/resources.

  3. Abra el archivo /dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/config/TcuProperties.java del proyecto y modifique los parámetros de conexión del dispositivo.

    Reemplace los siguientes parámetros con sus valores reales:

        // The domain name of the gateway. TODO: Replace this with the domain name of your cloud gateway instance.
        private String gatewayHost = "iot-*******.igw.iothub.aliyuncs.com";
        // The port of the gateway. TODO: Replace this with the port of your cloud gateway instance.
        private Integer gatewayPort = 8999;
        // Specifies whether to use TLS. TODO: If you use a direct TCP connection, set this to false.
        private boolean useSSL = Boolean.TRUE;
        // If you do not use TLS, ignore this. If you use TLS, set the path of the root certificate file root-ca.crt.
        private String CA_PATH = "dyy-gateway-tcu/src/main/resources/root-ca.crt";
        // The vehicle identification number. The value must be 17 bytes in length. TODO: Replace this with the VIN of your vehicle and use this VIN to create a device in the console.
        private String vin = "device10000000001";

    Parámetro

    Ejemplo

    Descripción

    gatewayHost

    iot-***.igw.iothub.aliyuncs.com

    Endpoint del cloud gateway para el protocolo GB/T 32960.

    Corresponde a la parte del nombre de dominio de la Gateway URL de su cloud gateway.

    gatewayPort

    8999

    Número de puerto personalizado para el endpoint del cloud gateway. Valor predeterminado: 8999.

    Corresponde a la parte del número de puerto de la Gateway URL de su cloud gateway.

    useSSL

    Boolean.TRUE

    Indica si se debe conectar mediante TLS. Valores válidos:

    • Boolean.TRUE (predeterminado): Usa TLS.

    • Boolean.FALSE: Usa TCP.

    CA_PATH

    dyy-gateway-tcu/src/main/resources/root-ca.crt

    Para conectarse mediante TLS, establezca este parámetro con la ruta absoluta del archivo root-ca.crt en su proyecto.

    vin

    device10000000001

    Número de identificación vehicular. Corresponde al VIN del dispositivo de cloud gateway que creó.

  4. El archivo /dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/handler/BusinessHandler.java gestiona el inicio de sesión del vehículo, los latidos, el reporte de datos en tiempo real y el cierre de sesión. Modifique este archivo para agregar funciones personalizadas.

Ejecutar el cliente del dispositivo

  1. En IntelliJ IDEA, vaya a File > Project Structure.

  2. Establezca Project SDK en la versión 1.8 y haga clic en Apply.

  3. Haga clic en OK.

  4. Ejecute el programa principal en el archivo TcuApplication.java.

    Una vez completada la verificación del lado del servidor, el dispositivo se conecta.

Consultar registros de ejecución

Registros de ejecución del dispositivo

El cliente del dispositivo imprime mensajes ascendentes y descendentes:

  • Mensaje de solicitud de inicio de sesión del vehículo. Los bytes tercero y cuarto, 01 fe, indican una solicitud de inicio de sesión vehicular.

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 01 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...|
    |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456|
    |00000030| 37 38 39 30 00 00 ee                            |7890...         |
    +--------+-------------------------------------------------+----------------+
  • Mensaje de respuesta del servidor ante la solicitud de inicio de sesión. Los bytes tercero y cuarto, 01 01, confirman que el inicio de sesión del vehículo fue exitoso.

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 01 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...|
    |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456|
    |00000030| 37 38 39 30 00 00 11                            |7890...         |
    +--------+-------------------------------------------------+----------------+
  • Mensaje de reporte de latido. Los bytes tercero y cuarto, 07 fe, indican que se trata de un latido ascendente.

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 00 36                      |00001...6       |
    +--------+-------------------------------------------------+----------------+
  • Mensaje de respuesta del servidor al latido. Los bytes tercero y cuarto, 07 01, indican que se trata de un latido descendente.

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 00 36                      |00001...6       |
    +--------+-------------------------------------------------+----------------+
  • Mensaje de reporte de datos en tiempo real. Los bytes tercero y cuarto, 02 fe, indican un reporte de datos en tiempo real.

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 02 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 14 17 05 06 10 23 23 08 01 |00001.......##..|
    |00000020| 01 00 05 00 06 00 04 00 07 01 00 0a df          |.............   |
    +--------+-------------------------------------------------+----------------+

Registros de ejecución en la nube

En la consola de IoT Platform, vaya a Maintenance > Device Log para consultar los datos reportados por el dispositivo.

View cloud-side run logs.

En la pestaña Cloud Run Log, filtre por DeviceName, TraceId o Content Keyword/MessageId. Haga clic en View en una entrada de registro para ver el tema del mensaje, la marca de tiempo y el contenido JSON.