使用Wi-Fi接入网络的设备可以主动将网络状态信息和网络错误数据,通过指定Topic上报至云端。下面介绍设备上报网络状态的Topic、数据格式和网络错误数据说明。
说明 如果设备使用AliOS Things 3.0版及以上系统,会自动检测和上报网络状态数据。
设备主动上报网络状态
数据上行。
请求Topic: /sys/${productKey}/${deviceName}/_thing/diag/post
响应Topic:/sys/${productKey}/${deviceName}/_thing/diag/post_reply
Alink请求数据格式如下:
- 当前数据:设备采集后立即上报的数据。
以下两种情况下,设备立即上报网络状态数据:
- 当网络出现异常时,设备采集到异常指标,会立即上报数据到云端。
- 您设置了定时采集,设备会在指定时间采集数据,并立即上报数据。
假设当前时间是2019-08-22 08:10:29,设备检测到网络问题,立即上报数据。网络异常的数据格式:
{ "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" } }
说明 定时检测上报的网络正常数据中,err_stats为空。 - 历史数据:非立即上报的数据。设备在日常诊断中,采集到网络正常的指标数据可以延迟上报。设备可以批量上报历史数据。
数据格式:
{ "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" } }
说明 如果网络无报错,err_stats为空。
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
params | Object | 请求入参。 |
wifi | Object | 设备的连网方式为Wi-Fi,该参数值由网络状态的四个指标组成。 |
rssi | integer | 无线信号接收强度。 |
snr | integer | 无线信号信噪比。 |
per | integer | 数据丢包率。 |
err_stats | String | 错误信息。仅当设备检测到网络异常后,上报数据包含该参数。
格式: 参数说明:
具体错误请参见表err_stats。 |
_time | Long | 时间戳。
说明 时间戳可以为空。为空时,控制台上设备网络状态不展示采集时间。
|
model | String | 消息体模式。包含:
|
错误类型 | 含义 | 错误原因 |
---|---|---|
0x00 | 无线环境参数。 |
|
0x10 | 设备与云端建立连接失败。 |
|
0x20 | 设备与云端的网络异常 |
|
0x30 | 设备运行异常。 |
|
0x40 | 设备内存动态监控。 |
|
0x50 | BLE异常。 | BLE异常 |
Alink响应数据格式:
{
"id": "123",
"version": "1.0",
"code": 200,
"data": {}
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
code | Integer | 返回结果,200代表成功。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
data | Object | 值为空。 |