全部產品
Search
文件中心

IoT Platform:裝置網路狀態

更新時間:Jun 30, 2024

使用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為空白。
表 1. 請求參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0
paramsObject請求入參。
wifiObject裝置的連網方式為Wi-Fi,該參數值由網路狀態的四個指標組成。
rssiinteger無線訊號接收強度。
snrinteger無線訊號信噪比。
perinteger資料丟包率。
err_statsString錯誤資訊。僅當裝置檢測到網路異常後,上報資料包含該參數。

格式:"type,code,count;type,code,count",如"10,02,01;10,05,01"

參數說明:

  • type:錯誤類型
  • code:錯誤原因
  • count:錯誤數量

具體錯誤請參見表err_stats

_timeLong時間戳記。
說明 時間戳記可以為空白。為空白時,控制台上裝置網路狀態不展示採集時間。
modelString訊息體模式。包含:
  • format:資料格式。僅支援simple ,表示資料為精簡格式。
  • quantity:數量。取值:
    • single:表示上報單條資料。
    • batch:表示上報多條資料,僅用於上報歷史資料。
  • time:時間。取值:
    • now:表示上報當前資料。
    • history:表示上報歷史資料。
表 2. err_stats
錯誤類型含義錯誤原因
0x00無線環境參數。
  • 訊號強度(RSSI):0x01
  • 信噪比(SNR):0x02
  • 丟包率(drop ratio):0x03
0x10裝置與雲端建立串連失敗。
  • 路由器串連失敗(Wi-Fi fail):0x01
  • DHCP失敗,擷取IP地址失敗(DHCP fail):0x02
  • DNS失敗,解析雲端的網域名稱失敗(DNS fail):0x03
  • TCP握手失敗(TCP fail):0x04
  • TLS握手失敗(TLS fail):0x05
0x20裝置與雲端的網路異常
  • 雲端主動斷開與裝置的串連(CLOUD_REJECT):0x01
  • 裝置資料上下行失敗(RW_EXCEPTION):0x02
  • 裝置與雲端的PING操作異常(PING_EXCEPTION):0x03
0x30裝置運行異常。
  • 看門狗複位重啟(WD_RST): 0x01
  • 裝置儲存異常重啟(PANIC_ERR):0x02
  • 裝置掉電上電重啟(RE-POWER):0x03
  • 裝置運行異常重啟(FATAL_ERR):0x04
0x40裝置記憶體動態監控。
  • 記憶體總量(type of total size):0x01
  • 空閑記憶體總量(type of free size):0x02
0x50BLE異常。BLE異常

Alink響應資料格式:

{
  "id": "123",
  "version": "1.0",
  "code": 200,
  "data": {}
}
表 3. 響應參數說明
參數類型說明
idString訊息ID。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
codeInteger返回結果,200代表成功。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0
dataObject值為空白。