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