Los dispositivos conectados por Wi-Fi pueden reportar su estado de red y los datos de error a la nube mediante un topic específico. Este tema describe el topic de reporte, el formato de los datos y los códigos de error de red.
Los dispositivos que ejecutan AliOS Things 3.0 o versiones posteriores detectan y reportan automáticamente los datos de estado de red.
Reportes de estado de red iniciados por el dispositivo
Los datos se envían del dispositivo a la nube (comunicación uplink).
Topic de solicitud: /sys/${productKey}/${deviceName}/_thing/diag/post
Topic de respuesta: /sys/${productKey}/${deviceName}/_thing/diag/post_reply
Formato de los datos de solicitud Alink:
-
Datos actuales: información que se reporta inmediatamente después de recopilarla.
Un dispositivo reporta los datos de estado de red de forma inmediata en estos casos:
Ocurre un error de red. El dispositivo recopila las métricas correspondientes y reporta los datos de inmediato.
Se configuró una recopilación programada. El dispositivo recopila y reporta los datos a la hora especificada.
Por ejemplo, si un dispositivo detecta un problema de red el 2019-08-22 08:10:29, reporta los datos de inmediato. A continuación se muestra el formato de los datos para un error de red:
{ "id": "123", "version": "1.0", "params": { "p": { "wifi": { "rssi": 75, "snr": 20, "per": 10, "err_stats":"10,02,01;10,05,01" }, "_time": 1566432629000 }, "model": "quantity=single|format=simple|time=now" } }NotaEn los reportes programados de datos de red normales, el parámetro
err_stats
está vacío.
-
Datos históricos: información que no se reporta de inmediato. Durante los diagnósticos de rutina, un dispositivo puede retrasar el reporte de las métricas de red normales y enviar los datos históricos en lotes.
Formato de los datos:
{ "id": "123", "version": "1.0", "params": { "p": [ { "wifi": { "rssi": 75, "snr": 20, "per": 10, "err_stats":"10,02,01;10,05,01" }, "_time": 1566432629000 } ], "model": "format=simple|quantity=batch|time=history" } }NotaSi no hay errores de red, el parámetro
err_stats
está vacío.
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Es un número de tipo cadena. El valor debe ser único para el dispositivo y estar entre 0 y 4294967295. |
| version | String | El número de versión del protocolo. El único valor válido es 1.0. |
| params | Object | Los parámetros de la solicitud. |
| wifi | Object | Los parámetros de estado de la red Wi-Fi. Este parámetro contiene cuatro métricas de estado de red. |
| rssi | integer | La intensidad de la señal recibida. |
| snr | integer | La relación señal-ruido. |
| per | integer | La tasa de pérdida de paquetes. |
| err_stats | String | Los datos de error. Se incluyen solo cuando el dispositivo detecta un error de red. Formato: Descripciones de los parámetros:
Para obtener más detalles sobre los errores, consulte Table err_stats. |
| _time | Long | La marca de tiempo. Nota La marca de tiempo puede estar vacía. Si lo está, la hora de recopilación no se muestra en la página Device Network Status de la consola. |
| model | String | El patrón del cuerpo del mensaje. Contiene los siguientes campos:
|
| Tipo de error | Significado | Causa |
| 0x00 | Parámetros del entorno inalámbrico. |
|
| 0x10 | El dispositivo no logró establecer una conexión con la nube. |
|
| 0x20 | Error de red entre el dispositivo y la nube. |
|
| 0x30 | Error de ejecución del dispositivo. |
|
| 0x40 | Monitoreo dinámico de la memoria del dispositivo. |
|
| 0x50 | Error de BLE. | Error de BLE |
Formato de los datos de respuesta Alink:
{
"id": "123",
"version": "1.0",
"code": 200,
"data": {}
}
|
Parámetro |
Tipo |
Descripción |
|
id |
String |
El ID del mensaje. Es un número de tipo cadena. El valor debe ser único para el dispositivo y estar entre 0 y 4294967295. |
|
code |
Integer |
El código de resultado. Un valor de 200 indica éxito. |
|
version |
String |
El número de versión del protocolo. El único valor válido es 1.0. |
|
data |
Object |
El valor está vacío. |