IoT Platform reenvía y se suscribe a datos según los formatos de los topics. Los formatos de topics personalizados son definidos por el usuario. Los formatos de comunicación básica y de topics TSL se convierten durante el reenvío de mensajes. Este tema documenta cada formato convertido.
Reenvío de mensajes y topics de comunicación del dispositivo
Las definiciones y clasificaciones de los topics de comunicación se tratan en What is a topic?.
Especifique el formato de datos sin procesar durante el desarrollo del dispositivo:
-
Los datos de comunicación básica y de topics TSL deben cumplir con el protocolo Alink, como se describe en the related documents in the Alink protocol directory.
Después del reenvío, el formato de los datos se convierte. Cada formato convertido se describe a continuación.
-
Usted define el formato de datos para los topics personalizados.
Tras el reenvío, los datos de los topics personalizados permanecen sin cambios.
La siguiente tabla asigna los topics de reenvío a sus correspondientes topics de comunicación del dispositivo.
Tabla 1. Descripciones de topics
Topic | Descripción | Referencias |
Custom | Un topic para reenviar mensajes en un formato de datos personalizado sigue el mismo formato que un topic personalizado: ${TopicShortName} especifica una categoría de topic personalizado, la cual es el sufijo del topic personalizado. El valor puede contener caracteres comodín, incluidos signos más (+) y almohadillas (#).
| |
Device Status Change Notification | El topic que se utiliza para reenviar notificaciones cuando el estado de un dispositivo cambia entre en línea y desconectado. Formato: /as/mqtt/status/${productKey}/${deviceName}. | |
TSL Data Reporting | Incluye:
| |
Los siguientes topics se utilizan para enviar datos sin procesar del dispositivo:
| ||
Device Changes Throughout Lifecycle | El topic que se utiliza para reenviar mensajes cuando se crea, elimina, deshabilita o habilita un dispositivo. Formato: | |
Sub-Device Data Report Detected by Gateway | El topic | |
Device Topological Relation Changes | El topic que se utiliza para reenviar notificaciones cuando se crean o eliminan relaciones topológicas entre subdispositivos y el gateway. Este topic es específico para gateways. Formato: /${productKey}/${deviceName}/thing/topo/lifecycle. | |
Un dispositivo usa el topic | ||
Device tag change | El topic para reenviar actualizaciones de etiquetas del dispositivo es | |
Un dispositivo usa el siguiente topic para reportar datos sin procesar: | ||
TSL Historical Data Reporting | Incluye:
| |
| How to report historical data for a Thing Specification Language model | |
Device Status Notification for OTA Updates | Incluye:
| |
Un dispositivo reporta su progreso de actualización al siguiente topic: | ||
Submit a module version number | El topic para reportar una versión actualizada del módulo Over-the-Air (OTA): | |
Un dispositivo usa el siguiente topic para reportar su versión de módulo OTA: | ||
Batch status notification | IoT Platform publica notificaciones de cambio de estado para un lote de actualización OTA en el siguiente topic: | |
Job Event | Incluye los siguientes topics:
|
Estado en línea y desconectado del dispositivo
Topic: /as/mqtt/status/${productKey}/${deviceName}
Reporta el estado en línea o desconectado de un dispositivo.
Formato en línea:
{
"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 desconectado:
{
"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"
}
Descripciones de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
status |
String |
El estado del dispositivo.
|
|
iotId |
String |
El identificador único del dispositivo en IoT Platform. |
|
offlineReasonCode |
Integer |
El código de error cuando el dispositivo se desconecta. Device behavior error codes. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
lastTime |
String |
Obsoleto. Ya no se utiliza. |
|
utcLastTime |
String |
|
|
time |
String |
La hora en que el dispositivo pasó a estar en línea o desconectado. Los mensajes no están ordenados por hora de conexión/desconexión. Ordénelos por el valor de time. Por ejemplo, si recibe los siguientes tres mensajes en secuencia:
Estos tres mensajes muestran que el dispositivo se desconectó, luego se conectó y finalmente se desconectó de nuevo. |
|
utcTime |
String |
La hora UTC en que el dispositivo pasó a estar en línea o desconectado. |
|
clientIp |
String |
La dirección IP pública del dispositivo. |
Envío de propiedades del dispositivo
Topic: /${productKey}/${deviceName}/thing/event/property/post
Reporta las propiedades enviadas por un dispositivo.
Formato de datos:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
Descripciones de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
iotId |
String |
El identificador único del dispositivo en IoT Platform. |
|
requestId |
String |
El Id del mensaje original del dispositivo. Una cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
gmtCreate |
Long |
La hora en que se generó el mensaje de reenvío de datos. |
|
deviceType |
String |
La categoría del dispositivo. Se establece al crear un producto (Create a product o CreateProduct). |
|
items |
Object |
Los datos del dispositivo. |
|
Power |
String |
El identificador de la propiedad. Para los nombres de propiedades, consulte la descripción TSL del producto. Si la propiedad es una propiedad de módulo personalizado, el identificador de propiedad tiene el formato
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
Los datos que no superan la validación de datos del modelo TSL. |
|
value |
Definido por TSL |
El valor de la propiedad. |
|
time |
Long |
La hora en que se reportó la propiedad. Si el dispositivo no la reporta, toma como valor predeterminado la hora en que IoT Platform genera los datos. |
|
code |
Integer |
El código de error para fallos de validación TSL. Error codes for devices. |
|
message |
String |
El mensaje de error devuelto cuando los datos fallan la validación del modelo TSL, incluida la causa del fallo y los parámetros no válidos. |
Envío de eventos del dispositivo
Topic: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post
Reporta eventos enviados por un dispositivo.
Formato de datos:
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"X5eCzh6****",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"gmtCreate":1510799670074,
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
Descripciones de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
identifier |
String |
El identificador del evento. Si el evento es un evento de módulo personalizado, el identificador del evento tiene el formato
|
|
name |
String |
El nombre del evento. |
|
type |
String |
El tipo de evento. Para tipos de eventos, consulte la descripción TSL del producto. |
|
iotId |
String |
El identificador único del dispositivo en IoT Platform. |
|
requestId |
String |
El Id del mensaje original del dispositivo. Una cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
gmtCreate |
Long |
La hora en que se generó el mensaje de reenvío de datos. |
|
value |
Object |
La información de parámetros de salida del evento. El ejemplo muestra información sobre los dos parámetros Power y Position.
Importante
|
|
checkFailedData |
Object |
Los datos que no superan la validación de datos del modelo TSL. Si los parámetros de salida del evento fallan la validación, el parámetro checkFailedData es:
Donde:
|
|
time |
Long |
La hora en que se reportó el evento. Si el dispositivo no la reporta, toma como valor predeterminado la hora en que IoT Platform genera los datos. |
Envío de propiedades del dispositivo por lotes
Topic: /${productKey}/${deviceName}/thing/property/batch/post
Reporta las propiedades enviadas por un dispositivo en lotes.
Formato de datos:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"Power": [
{
"value": "on",
"time": 1524448722000
},
{
"value": "off",
"time": 1524448722001
}
],
"WF": [
{
"value": 3,
"time": 1524448722000
},
{
"value": 4,
"time": 1524448722009
}
]
}
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
instanceId |
String |
ID de la instancia a la que pertenece el dispositivo. |
|
requestId |
String |
El campo Id del mensaje original del dispositivo. Cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
items |
Object |
Datos del dispositivo. |
|
Power |
String |
Identificador de la propiedad. Para consultar los nombres de las propiedades, revise la descripción TSL del producto. Si la propiedad pertenece a un módulo personalizado, el identificador sigue el formato
|
|
WF |
||
|
value |
Definido por TSL |
Valor de la propiedad. |
|
time |
Long |
Hora en que se reportó la propiedad. Si el dispositivo no la reporta, se usa de forma predeterminada la hora en que IoT Platform genera los datos. |
Envío de eventos del dispositivo por lotes
Topic: /${productKey}/${deviceName}/thing/event/batch/post
Reporta los eventos enviados por un dispositivo en lotes.
Formato de datos:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"alarmEvent": [
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448723000
}
]
}
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
instanceId |
String |
ID de la instancia a la que pertenece el dispositivo. |
|
requestId |
String |
El campo Id del mensaje original del dispositivo. Cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
items |
Object |
Datos del dispositivo. |
|
alarmEvent |
List |
Identificador del evento. |
|
value |
Object |
Parámetros del evento. En el ejemplo anterior, Power y WF son los nombres de los parámetros del evento. |
|
time |
Long |
Hora en que se reportó el evento. Si el dispositivo no lo reporta, se usa de forma predeterminada la hora en que IoT Platform genera los datos. |
Cambios en el ciclo de vida del dispositivo
Topic: /${productKey}/${deviceName}/thing/lifecycle
Reporta eventos de creación, eliminación, habilitación y deshabilitación de dispositivos.
Formato de datos:
{
"action": "create|delete|enable|disable",
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "al5eCzh****",
"deviceName": "5gJtxDVeGAkaEztpisjX",
"deviceSecret": "wsde***",
"messageCreateTime": 1510292739881
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
action |
String |
|
|
iotId |
String |
Identificador único del dispositivo en IoT Platform. |
|
productKey |
String |
Identificador único del producto. |
|
deviceName |
String |
Nombre del dispositivo. |
|
deviceSecret |
String |
Secreto del dispositivo. Este parámetro solo se incluye si el parámetro action está establecido en |
|
messageCreateTime |
Integer |
Marca de tiempo de generación del mensaje. Unidad: milisegundo. |
Cambios en la topología del dispositivo
Topic: /${productKey}/${deviceName}/thing/topo/lifecycle
Reporta cambios de topología entre un subdispositivo y una puerta de enlace.
Formato de datos:
{
"action" : "create|delete|enable|disable",
"gwIotId": "dfaejVQHk6VSLmmBJfrf00107e****",
"gwProductKey": "al5eCzh****",
"gwDeviceName": "deviceName1234",
"devices": [
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "ala4Czh****",
"deviceName": "deviceName1234"
}
],
"messageCreateTime": 1510292739881
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
action |
String |
|
|
gwIotId |
String |
Identificador único del dispositivo de puerta de enlace en IoT Platform. |
|
gwProductKey |
String |
Identificador único del producto de la puerta de enlace. |
|
gwDeviceName |
String |
Nombre del dispositivo de puerta de enlace. |
|
devices |
Object |
Lista de subdispositivos modificados. |
|
iotId |
String |
Identificador único del subdispositivo en IoT Platform. |
|
productKey |
String |
Identificador único del producto del subdispositivo. |
|
deviceName |
String |
Nombre del subdispositivo. |
|
messageCreateTime |
Integer |
Marca de tiempo de generación del mensaje. Unidad: milisegundo. |
Descubrimiento de subdispositivos por la puerta de enlace
Topic: /${productKey}/${deviceName}/thing/list/found
Reporta información de subdispositivos detectados por una puerta de enlace.
Formato de datos:
{
"gwIotId":"dfaew9VQHk6VSLmmBJfrf00107e****",
"gwProductKey":"al12345****",
"gwDeviceName":"deviceName1234",
"devices":[
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"alr56g9****",
"deviceName":"deviceName1234"
}
]
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
gwIotId |
String |
Identificador único del dispositivo de puerta de enlace en IoT Platform. |
|
gwProductKey |
String |
Identificador único del producto de la puerta de enlace. |
|
gwDeviceName |
String |
Nombre del dispositivo de puerta de enlace. |
|
devices |
Object |
Lista de subdispositivos descubiertos. |
|
iotId |
String |
Identificador único del subdispositivo en IoT Platform. |
|
productKey |
String |
Identificador único del producto al que pertenece el subdispositivo. |
|
deviceName |
String |
Nombre del subdispositivo. |
Resultados de comandos descendentes
Topic: /${productKey}/${deviceName}/thing/downlink/reply/message
Reporta los resultados de comandos asíncronos de configuración de propiedades e invocación de servicios procesados por un dispositivo. También devuelve mensajes de error para comandos con errores.
Formato de datos:
{
"gmtCreate":1510292739881,
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12355****",
"deviceName":"deviceName1234",
"requestId":"2",
"code":200,
"message":"success",
"topic":"/sys/al12355****/deviceName1234/thing/service/property/set",
"data":{},
"checkFailedData":{
"value": {
"PicID": "15194139"
},
"code":6304,
"message":"tsl parse: params not exist -> PicID"
}
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
gmtCreate |
Long |
Marca de tiempo UTC. |
|
iotId |
String |
Identificador único del dispositivo en IoT Platform. |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
requestId |
String |
El campo Id del mensaje original del dispositivo. Cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
code |
Integer |
Código de resultado del dispositivo. Los valores se listan en la tabla Result codes. |
|
message |
String |
Información del código de resultado que devuelve el dispositivo. |
|
topic |
String |
Información sobre el topic utilizado para enviar el comando al dispositivo. |
|
data |
Object |
Resultado devuelto por el dispositivo. Para datos en formato Alink, se devuelve directamente el resultado del procesamiento del dispositivo. Para datos en formato transparente, los datos deben transformarse mediante un script. |
|
checkFailedData |
Object |
Datos que no superaron la validación del modelo TSL. |
|
value |
Definido por TSL |
Valor de propiedad o parámetro de servicio que no superó la validación del modelo TSL. En el ejemplo anterior, PicID es el nombre del parámetro que falló en la validación. |
|
code |
Integer |
Código de error para fallos de validación TSL. Error codes for devices. |
|
message |
String |
Mensaje de error devuelto cuando los datos no superan la validación del modelo TSL; incluye la causa del fallo y los parámetros no válidos. |
|
code |
message |
Descripción |
|
200 |
success |
La solicitud fue exitosa. |
|
400 |
request error |
Ocurrió un error interno del servicio durante el procesamiento. |
|
460 |
request parameter error |
Parámetro de solicitud no válido. El dispositivo no pudo validar el parámetro de entrada. |
|
429 |
too many requests |
Demasiadas solicitudes. |
|
9200 |
device not actived |
El dispositivo no está activado. |
|
9201 |
device offline |
El dispositivo está sin conexión. |
|
403 |
request forbidden |
La solicitud está prohibida debido a un pago vencido. |
Resuelva estos errores mediante la referencia Error codes for devices.
Envío de propiedades históricas
Topic: /${productKey}/${deviceName}/thing/event/property/history/post
Reporta datos históricos de propiedades TSL enviados por un dispositivo.
Formato de datos:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
iotId |
String |
Identificador único del dispositivo en IoT Platform. |
|
requestId |
String |
El campo Id del mensaje original del dispositivo. Cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
gmtCreate |
Long |
Hora en que se generó el mensaje de reenvío de datos. |
|
deviceType |
String |
Categoría del dispositivo. Se establece al crear un producto (Create a product o CreateProduct). |
|
items |
Object |
Datos del dispositivo. |
|
Power |
String |
Identificador de la propiedad. Para consultar los nombres de las propiedades, revise la descripción TSL del producto. Si la propiedad pertenece a un módulo personalizado, el identificador sigue el formato
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
Datos que no superaron la validación del modelo TSL. |
|
value |
Definido por TSL |
Valor de la propiedad. |
|
time |
Long |
Hora en que se reportó la propiedad. Si el dispositivo no la reporta, se usa de forma predeterminada la hora en que IoT Platform genera los datos. |
|
code |
Integer |
Código de error para fallos de validación TSL. Error codes for devices. |
|
message |
String |
Mensaje de error devuelto cuando los datos no superan la validación del modelo TSL; incluye la causa del fallo y los parámetros no válidos. |
Envío de eventos históricos
Topic: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post
Reporta datos históricos de eventos enviados por un dispositivo.
Formato de datos:
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e***",
"requestId":"2",
"productKey":"X5eCzh6***",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
identifier |
String |
Identificador del evento. Si el evento pertenece a un módulo personalizado, el identificador sigue el formato
|
|
name |
String |
Nombre del evento. |
|
type |
String |
Tipo de evento. Para consultar los tipos de eventos, revise la descripción TSL del producto. |
|
iotId |
String |
Identificador único del dispositivo en IoT Platform. |
|
requestId |
String |
El campo Id del mensaje original del dispositivo. Cadena numérica en el rango de 0 a 4294967295. Debe ser única por dispositivo. |
|
productKey |
String |
Identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
Nombre del dispositivo. |
|
gmtCreate |
Long |
Hora en que se generó el mensaje de reenvío de datos. |
|
value |
Object |
Información de los parámetros de salida del evento. El ejemplo muestra información sobre los dos parámetros Power y Position.
Importante
|
|
checkFailedData |
Object |
Datos que no superaron la validación del modelo TSL. Si los parámetros de salida del evento no superan la validación, el parámetro checkFailedData es:
Donde:
|
|
time |
Long |
Hora en que se reportó el evento. Si el dispositivo no lo reporta, se usa de forma predeterminada la hora en que IoT Platform genera los datos. |
Notificaciones de estado de actualización OTA
Topic: /${productKey}/${deviceName}/ota/upgrade
Reporta los resultados de la actualización OTA (éxito, error o cancelación).
Si un dispositivo tiene una tarea de actualización sin finalizar e inicia una actualización por lotes, esta última fallará. En este caso, IoT Platform no reenvía el mensaje de error.
Formato de datos:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName": "default",
"status": "SUCCEEDED|FAILED|CANCELED",
"messageCreateTime": 1571323748000,
"srcVersion": "1.0.1",
"destVersion": "1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
iotId |
String |
El identificador único del dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
moduleName |
String |
El nombre del módulo OTA. |
|
status |
String |
El estado de la actualización.
|
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
|
srcVersion |
String |
La versión anterior a la actualización. |
|
destVersion |
String |
La versión de destino de la actualización. |
|
desc |
String |
La descripción del estado de la actualización. |
|
jobId |
String |
El ID del lote de actualización. Identifica de forma única el lote de actualización. |
|
taskId |
String |
El identificador único del registro de actualización del dispositivo. |
Notificaciones de progreso de actualización OTA
Topic: /${productKey}/${deviceName}/ota/progress/post
Reporta el progreso de la actualización OTA.
Formato de datos:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName":"default",
"status":"IN_PROGRESS",
"step": "90",
"messageCreateTime": 1571323748000,
"srcVersion":"1.0.1",
"destVersion":"1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
iotId |
String |
El identificador único del dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
moduleName |
String |
El nombre del módulo OTA. |
|
status |
String |
El estado de la actualización. El valor es fijo: |
|
step |
Integer |
El progreso de la actualización reportado por el dispositivo. |
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
|
srcVersion |
String |
La versión anterior a la actualización. |
|
destVersion |
String |
La versión de destino de la actualización. |
|
desc |
String |
La descripción del estado de la actualización. |
|
jobId |
String |
El ID del lote de actualización. Identifica de forma única el lote de actualización. |
|
taskId |
String |
El identificador único del registro de actualización del dispositivo. |
Notificaciones de cambio de versión de módulo OTA
Topic: /${productKey}/${deviceName}/ota/version/post
Reporta los números de versión del módulo OTA cuando un dispositivo envía una nueva versión.
Formato de datos:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"deviceName": "deviceName1234",
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"moduleVersion": "1.0.3",
"messageCreateTime": 1571323748000
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
iotId |
String |
El identificador único del dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
moduleName |
String |
El nombre del módulo. |
|
moduleVersion |
String |
El número de versión del módulo. |
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
Notificaciones de estado de lote de actualización OTA
Topic: /${productKey}/${packageId}/${jobId}/ota/job/status
Reporta los cambios de estado del lote de actualización OTA.
Formato de datos:
{
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"packageId": "wahVIzGkCMuAUE2***",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"state": "IN_PROGRESS",
"messageCreateTime": 1571323748000
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
moduleName |
String |
El nombre del módulo. |
|
packageId |
String |
El ID del paquete de actualización. El valor de este parámetro coincide con el valor del parámetro FirmwareId que se devuelve al llamar a la operación CreateOTAFirmware para crear un paquete de actualización. |
|
jobId |
String |
El ID del lote de actualización. Identifica de forma única el lote de actualización. |
|
state |
String |
El estado del lote de actualización. Valores válidos:
|
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
Cambios en etiquetas de dispositivo
Topic: /${productKey}/${deviceName}/thing/deviceinfo/update
Reporta los cambios en las etiquetas del dispositivo.
Formato de datos:
{
"action": "UPDATE|DELETE|DELETEALL"
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"deletedAttrKeyList": ["abc", "def", "rng"],
"value": [
{
"attrKey": "tagKey",
"attrValue": "tagValue"
}
],
"messageCreateTime": 1510799670074
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
action |
String |
El tipo de cambio de etiqueta. Valores válidos:
|
|
iotId |
String |
El identificador único del dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
deletedAttrKeyList |
List |
La lista de claves de las etiquetas eliminadas. Este parámetro solo se muestra cuando el parámetro action está establecido en DELETE. |
|
value |
List |
Los datos de la etiqueta. |
|
attrKey |
String |
La clave de la etiqueta. |
|
attrValue |
String |
El valor de la etiqueta. |
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
Notificaciones de estado de tareas de dispositivo
Topic: /sys/uid/${uid}/job/${jobId}/lifecycle
Reporta los cambios de estado de las tareas del dispositivo, incluida la configuración de propiedades por lotes, la invocación de servicios por lotes y las tareas personalizadas.
En el topic, ${uid} es su ID de cuenta de Alibaba Cloud. Para consultar el ID, inicie sesión en la consola de IoT Platform, haga clic en su foto de perfil y vaya a la página de Twin Node Attribute Change.
Formato de datos:
{
"jobId": "4z819VQHk6VSLmm***ee200",
"jobType": "CUSTOM_JOB",
"status": "INITIALIZING",
"messageCreateTime": 1510292739881
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
jobId |
String |
El ID de la tarea. Identificador globalmente único de la tarea. |
|
jobType |
String |
El tipo de tarea.
|
|
status |
String |
El estado de la tarea. Valores válidos:
|
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
Notificaciones de estado de tareas de migración de instancias
Topic: /sys/uid/{uid}/distribution/{jobId}/lifecycle
Reporta los cambios de estado de las tareas de migración de instancias.
En el topic, ${uid} es su ID de cuenta de Alibaba Cloud. Para buscar su ID de cuenta, inicie sesión en la consola de IoT Platform, pase el puntero del mouse sobre su foto de perfil y consulte el Security Settings.
Formato de datos:
{
"jobId": "4z819VQHk6VSLmmxxxxxxxxxxee200",
"status": "GRAY_EXECUTING",
"messageCreateTime": 1510292739881,
"type":"INSTANCE_UPGRADE",
"sourceInstance":"iotx-oxssharez200",
"targetInstance":"iot-es5v4***",
"successDevices":[
{
"productKey":"al12***",
"deviceName":"deviceName1",
"iotId":"4z81frf00107e***"
}
]
}
Descripción de parámetros:
|
Parámetro |
Tipo |
Descripción |
|
jobId |
String |
El ID de la tarea. Identificador globalmente único de la tarea. |
|
status |
String |
El estado de la tarea. Valores válidos:
|
|
messageCreateTime |
Long |
La marca de tiempo en la que se generó el mensaje. Unidad: milisegundo. |
|
type |
String |
El tipo de tarea. El valor es fijo: |
|
sourceInstance |
String |
El ID de la instancia pública de origen para la migración de instancias. El ID de una instancia pública de versión anterior es Los detalles de las instancias se describen en Overview of instances. |
|
targetInstance |
String |
El ID de la instancia Enterprise de destino para la migración de instancias. |
|
successDevices |
List |
Información sobre los dispositivos que se migraron correctamente:
El parámetro successDevices puede estar vacío durante el proceso de migración. Esto indica que el estado de la tarea cambió y que la tarea comenzó, pero aún no se ha migrado ningún dispositivo. |
|
productKey |
String |
El identificador único del producto al que pertenece el dispositivo. |
|
deviceName |
String |
El nombre del dispositivo. |
|
iotId |
String |
El identificador único del dispositivo en IoT Platform. |