使用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 | 值為空。 |