Para dispositivos de puerta de enlace en la nube GB/T 32960, puede reenviar mensajes de inicio de sesión y verificación del dispositivo, cancelación de registro y envío de datos a su servidor mediante la función de reenvío de datos. También puede enviar mensajes generados por el dispositivo a su servidor mediante suscripciones AMQP. Este tema describe los topics y formatos de datos que se usan en el reenvío de mensajes.
Notas de uso
Al configurar el reenvío de mensajes, considere lo siguiente:
Solo la nueva versión de la función de reenvío de datos es compatible con dispositivos de puerta de enlace en la nube. Para obtener más información, consulte Configure a data forwarding parser.
Los dispositivos de puerta de enlace en la nube GB/T 32960 no admiten la suscripción a topics. No es posible reenviar datos de un topic a otro para estos dispositivos.
Para reenviar mensajes desde dispositivos de puerta de enlace en la nube GB/T 32960, agregue uno de los siguientes tipos de topic como origen de datos: Custom, Device Status Change Notification y Device Changes Throughout Lifecycle. En un topic personalizado, especifique el Número de Identificación Vehicular (VIN) del vehículo en el nombre del topic. Para obtener más información, consulte Add a data source.
Las suscripciones del lado del servidor solo admiten los siguientes tipos de datos: Device Upstream Notification, Device Status Change Notification y Device Changes Throughout Lifecycle. Para obtener más información, consulte Configure AMQP server-side subscription.
Los parámetros de los mensajes del dispositivo deben cumplir con el protocolo GB/T 32960. Para obtener más información, consulte GB/T 32960-2016.
Inicio de sesión del dispositivo
Topic: /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 1,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"iccid": "12345678901234567890",
"month": 3,
"hour": 16,
"year": 23,
"subSystemNumber": 2,
"systemEncode": [
"12345678",
"87654321"
],
"systemEncodeLength": 8,
"day": 21,
"serialNo": 1,
"minute": 20,
"second": 12
}
}
|
Parámetro |
Tipo |
Descripción |
|
header |
Object |
Datos del encabezado del mensaje. |
|
command |
Integer |
ID del comando. |
|
responseFlag |
Integer |
ID de la respuesta. |
|
vin |
String |
VIN del vehículo. |
|
body |
Object |
Datos del cuerpo del mensaje. |
|
iccid |
String |
ICCID del vehículo. |
|
year |
Integer |
Año en que el vehículo inició sesión en el sistema. |
|
month |
Integer |
Mes en que el vehículo inició sesión en el sistema. |
|
day |
Integer |
Día en que el vehículo inició sesión en el sistema. |
|
hour |
Integer |
Hora en que el vehículo inició sesión en el sistema. |
|
minute |
Integer |
Minuto en que el vehículo inició sesión en el sistema. |
|
second |
Integer |
Segundo en que el vehículo inició sesión en el sistema. |
|
subSystemNumber |
Integer |
Número de subsistemas capaces de cargarse y almacenar electricidad. |
|
systemEncode |
List |
Códigos de los subsistemas. |
|
systemEncodeLength |
Integer |
Longitud del código. |
|
serialNo |
Integer |
Número de registro del inicio de sesión del vehículo. |
Envío del estado del dispositivo
Topic: /sys/${productKey}/${deviceName}/device/status/notify.
-
Formato de datos cuando un dispositivo se conecta:
{ "protocol": "gb32960", "status":"online", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "productKey":"al12345****", "deviceName":"deviceName1234", "time":"2018-08-31 15:32:28.205", "utcTime":"2018-08-31T07:32:28.205Z", "lastTime":"2018-08-31 15:32:28.195", "utcLastTime":"2018-08-31T07:32:28.195Z", "clientIp":"192.0.2.1" } -
Formato de datos cuando un dispositivo se desconecta:
{ "protocol": "gb32960", "status":"offline", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "offlineReasonCode":427, "productKey":"al12345****", "deviceName":"deviceName1234", "time":"2018-08-31 15:32:28.205", "utcTime":"2018-08-31T07:32:28.205Z", "lastTime":"2018-08-31 15:32:28.195", "utcLastTime":"2018-08-31T07:32:28.195Z", "clientIp":"192.0.2.1" }
Descripción de parámetros
|
Campo |
Categoría |
Descripción |
|
protocol |
String |
Para una puerta de enlace en la nube GB/T 32960, establezca este parámetro en |
|
status |
String |
Estado del dispositivo.
|
|
iotId |
String |
Identificador único del dispositivo en IoT Platform. |
|
offlineReasonCode |
Integer |
Código de error generado cuando el dispositivo se desconecta. Device behavior error codes. |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
lastTime |
String |
Obsoleto. Ya no se usa. |
|
utcLastTime |
String |
|
|
time |
String |
Hora en que el dispositivo se conectó o desconectó. Los mensajes no están ordenados por hora de conexión/desconexión. Ordénelos según el valor de time. Por ejemplo, si recibe los siguientes tres mensajes en secuencia:
Estos tres mensajes indican que el dispositivo se desconectó, luego se conectó y finalmente se volvió a desconectar. |
|
utcTime |
String |
Hora UTC en que el dispositivo se conectó o desconectó. |
|
clientIp |
String |
Dirección IP pública del dispositivo. |
Envío de datos del dispositivo
Topic: /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 123,
"responseFlag":1,
"vin":""
},
"body": {
"data":""
}
}
|
Nombre del parámetro |
Tipo de dato |
Descripción |
|
header |
Object |
Datos del encabezado del mensaje. |
|
command |
Integer |
ID del comando. |
|
responseFlag |
Integer |
ID de la respuesta. |
|
vin |
String |
VIN del vehículo. |
|
body |
Object |
Datos del cuerpo del mensaje. El campo data está codificado en Base64. |
Cancelación de registro del dispositivo
Topic: /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 4,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"month": 3,
"hour": 16,
"year": 23,
"day": 21,
"minute": 20,
"second": 12,
"serialNo": 1
}
}
|
Nombre del parámetro |
Tipo de dato |
Descripción |
|
header |
Object |
Datos del encabezado del mensaje. |
|
command |
Integer |
ID del comando. |
|
responseFlag |
Integer |
ID de la respuesta. |
|
vin |
String |
VIN del vehículo. |
|
body |
Object |
Datos del cuerpo del mensaje. |
|
year |
Integer |
Año en que se canceló el registro del vehículo. |
|
month |
Integer |
Mes en que se canceló el registro del vehículo. |
|
day |
Integer |
Día en que se canceló el registro del vehículo. |
|
hour |
Integer |
Hora en que se canceló el registro del vehículo. |
|
minute |
Integer |
Minuto en que se canceló el registro del vehículo. |
|
second |
Integer |
Segundo en que se canceló el registro del vehículo. |
|
serialNo |
Integer |
Número de registro de la cancelación de registro del vehículo. |