IoT Platform permite que los dispositivos reporten registros locales a la nube. Puede consultar los registros de los dispositivos y solucionar problemas from la consola.
-
Los dispositivos que utilizan los siguientes Link SDK pueden reportar registros locales a IoT Platform. También puede desarrollar su propio sdk para habilitar la función de reporte de registros locales.
Para reportar los registros de un dispositivo, vaya a la página Device Details del dispositivo y active el interruptor Device local log reporting.
Para obtener más información sobre cómo consultar los registros locales de los dispositivos, consulte On-premises device logs.
Los dispositivos solicitan configuraciones de registro a IoT Platform
Se utilizan los siguientes topics cuando un dispositivo envía solicitudes a IoT Platform y esta responde al dispositivo:
Topic de solicitud:
/sys/${productKey}/${deviceName}/thing/config/log/getTopic de respuesta:
/sys/${productKey}/${deviceName}/thing/config/log/get_reply
Ejemplo de solicitud en formato Alink JSON:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : {
"configScope":"device",
"getType":"content"
},
"method":"thing.config.log.get"
}
Tabla 1. Parámetros de la solicitud
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
| version | String | La versión del protocolo. Valor válido: 1.0. |
sys | Object | Parámetros de funciones extendidas. Nota
Si utiliza un sdk del lado del dispositivo sin configurar funciones extendidas, este parámetro se omite y se aplican los valores predeterminados. |
ack | Integer | Indica si la nube devuelve una respuesta. Es un campo dentro de sys.
Importante
Thing Specification Language model usage examples. Si no se configura, este parámetro se omite y se devuelve una respuesta de forma predeterminada. |
| configScope | String | El alcance de la configuración de registros. IoT Platform solo admite configuraciones de registro de dispositivo. Valor predeterminado: device. |
| getType | String | El formato en el que se devuelven las configuraciones. Valor predeterminado: content. De forma predeterminada, el contenido de las configuraciones de registro es pequeño y se devuelve directamente en formato de texto. |
| method | String | El método de la solicitud. Valor válido: thing.config.log.get. |
Ejemplo de respuesta en formato Alink JSON:
{
"id":"123",
"version":"1.0",
"code":200,
"data" :{
"getType":"content",
"content":{
"mode":0
}
}
}
Tabla 2. Parámetros de la respuesta
|
Parámetro |
Tipo |
Descripción |
|
id |
String |
El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
|
version |
String |
La versión del protocolo. Valor válido: 1.0. |
|
code |
Integer |
El código de estado HTTP en la respuesta. Si se devuelve 200, la solicitud fue exitosa. Si se devuelven otros códigos de estado, la solicitud tuvo errores. Para obtener más información sobre los códigos de estado HTTP 6717 y 6718, consulte la siguiente tabla. Para obtener más información sobre otros códigos de estado HTTP, consulte Common codes on devices. |
|
data |
Object |
Los datos que devuelve IoT Platform. |
|
getType |
String |
El formato en el que se devuelven las configuraciones. Valor predeterminado: content. De forma predeterminada, el contenido de las configuraciones de registro es pequeño y se devuelve directamente en formato de texto. |
|
content |
String |
El contenido de las configuraciones de registro en formato de texto. |
|
mode |
Integer |
El modo utilizado para reportar los registros del dispositivo. Un valor de 0 indica que no se utiliza el sdk del dispositivo para reportar registros. Un valor de 1 indica que se utiliza el sdk del dispositivo para reportar registros. |
Tabla 3. Códigos de error
| Código de estado HTTP | Causa | Solución de problemas |
| 6717 | El parámetro de solicitud getType no es válido. Para reportar registros del dispositivo, establezca este parámetro en content. | Inicie sesión en la consola de IoT Platform. En el panel de navegación izquierdo, elija . En la pestaña Device local log, compruebe el valor del parámetro getType. Alternativamente, compruebe el valor del parámetro en los registros locales del dispositivo. |
| 6718 | El parámetro de solicitud configScope no es válido. Para reportar registros del dispositivo, establezca este parámetro en device. | Inicie sesión en la consola de IoT Platform. En el panel de navegación izquierdo, elija . En la pestaña Device local log, compruebe el valor del parámetro configScope. Alternativamente, compruebe el valor del parámetro en los registros locales del dispositivo. |
Los dispositivos reciben configuraciones de registro de IoT Platform
Se utiliza el siguiente topic cuando IoT Platform envía solicitudes a un dispositivo y este responde a IoT Platform:
Topic: /sys/${productKey}/${deviceName}/thing/config/log/push.
Datos de configuración enviados en formato Alink JSON:
{
"id":"123",
"version":"1.0",
"params" :{
"getType":"content",
"content":{
"mode":0
}
}
}
Tabla 4. Descripción de parámetros
|
Parámetro |
Tipo |
Descripción |
|
id |
String |
El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
|
version |
String |
La versión del protocolo. Valor válido: 1.0. |
|
getType |
String |
El formato en el que se devuelven las configuraciones. Valor predeterminado: content. De forma predeterminada, el contenido de las configuraciones de registro es pequeño y se devuelve directamente en formato de texto. |
|
content |
String |
El contenido de las configuraciones de registro en formato de texto. |
|
mode |
Integer |
El modo utilizado para reportar los registros del dispositivo. Un valor de 0 indica que no se utiliza el sdk del dispositivo para reportar registros. Un valor de 1 indica que se utiliza el sdk del dispositivo para reportar registros. |
Los dispositivos reportan registros
Se utilizan los siguientes topics cuando un dispositivo envía solicitudes a IoT Platform y esta responde al dispositivo:
Topic de solicitud:
/sys/${productKey}/${deviceName}/thing/log/postTopic de respuesta:
/sys/${productKey}/${deviceName}/thing/log/post_reply
Ejemplo de solicitud en formato Alink JSON:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" :[{
"utcTime": "2020-03-06T15:15:27.464+0800",
"logLevel": "ERROR",
"module": "ModuleA",
"code" :"4103",
"traceContext": "123456",
"logContent" : "some log content"
}],
"method" : "thing.log.post"
}
Tabla 5. Parámetros de la solicitud
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
| version | String | La versión del protocolo. Valor válido: 1.0. |
sys | Object | Parámetros de funciones extendidas. Nota
Si utiliza un sdk del lado del dispositivo sin configurar funciones extendidas, este parámetro se omite y se aplican los valores predeterminados. |
ack | Integer | Indica si la nube devuelve una respuesta. Es un campo dentro de sys.
Importante
Thing Specification Language model usage examples. Si no se configura, este parámetro se omite y se devuelve una respuesta de forma predeterminada. |
| params | List | Los parámetros de la solicitud. El parámetro params puede contener hasta 40 elementos en una matriz. |
| utcTime | String | La hora en que el dispositivo recopila el registro. La hora está en formato UTC e incluye la zona horaria. Unidad: milisegundos. Formato de datos: yyyy-MM-dd'T'HH:mm:ss.SSSZ. Puede utilizar otros formatos de datos; sin embargo, se recomienda usar este formato para facilitar la solución de problemas. |
| logLevel | String | El nivel de registro. Puede utilizar un nivel de registro predeterminado o personalizar uno. A continuación se enumeran los niveles de registro predeterminados por gravedad, de mayor a menor:
|
| module | String | El nombre del módulo.
|
| code | String | El código de estado HTTP en la respuesta. El código de estado HTTP puede ser generado por el sdk del dispositivo o personalizado por el usuario. Para obtener más información sobre los códigos de estado que pueden devolverse si el dispositivo utiliza el sdk para Android, consulte Error codes. Para obtener más información sobre los códigos de estado que pueden devolverse si el dispositivo utiliza el sdk para C, consulte Common error codes. |
| traceContext | String | Opcional. El contenido que se va a rastrear en el contexto. Para los dispositivos, establezca este parámetro en el valor del parámetro id en los mensajes Alink. Para las aplicaciones, establezca este parámetro en el valor del parámetro TraceId. |
| logContent | String | El contenido del registro. |
| method | String | El método de la solicitud. Valor válido: thing.log.post. |
Ejemplo de respuesta en formato Alink JSON:
{
"id" : "123",
"code":200,
"data" : {}
}
Tabla 6. Parámetros de la respuesta
|
Parámetro |
Tipo |
Descripción |
|
id |
String |
El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
|
code |
Integer |
El código de estado HTTP en la respuesta. Si se devuelve 200, la solicitud fue exitosa. Si se devuelven otros códigos de estado, la solicitud tuvo errores. Para obtener más información, consulte Common codes on devices. |
|
data |
Object |
Los datos que devuelve IoT Platform. En la respuesta a una solicitud de reporte de registros, no se devuelven datos. |