API調試-網路調試助手

本頁目錄

1. 鑒權參數

2. 上報版本

3. 檢測任務

4. 下載固件

5. 上報狀態

OTA包括模組升級和MCU應用升級兩類,待升級設備通過HTTP協定RESTful標準格式與OneNET平台進行資料交互以完成升級。南向設備目前所需的RESTful

API一共有三類:檢測任務、拉取檔、上報狀態。

本部分內容主要介紹網路調試助手使用API測試拉取固件的過程,為研發人員組包測試提供參考。

1. 鑒權參數

鑒權參數說明請參考API鑒權

這裡採用Python來計算Authorization,實際使用時,更改產品id和accesskey即可。

Python代碼如圖1所示。

代碼下載地址:

JAVA代碼、Python代碼下載C代碼下載


圖 1 Python代碼示例

計算出來的鑒權參數:

version=2018-10-31&res=products%2F198290&et=7555917657&method=sha1&sign=ZUXNMUqvAbuH0uHs0S1pd%2BgflNE%3D

2. 上報版本

網路調試助手作為用戶端,連接IP:183.230.40.50,埠:50,如圖2所示。

POST http://ota.heclouds.com/ota/device/version?dev_id=522747162 HTTP/1.1
Content-Type: application/json
Authorization:version=2018-10-31&res=products%2F198290&et=7555917657&method=sha1&sign=ZUXNMUqvAbuH0uHs0S1pd%2BgflNE%3D
host:ota.heclouds.com
Content-Length:20

{"s_version":"V1.3"}

圖 2 上報版本

3. 檢測任務

manuf=102&model=10201這兩個參數的取值如下表所示。

dev_id=522747162需要修改為升級的設備id。其他參數不改變。

晶片平台晶片型號廠商編號晶片編號
nordicESP3210110101
樂鑫nrf5283210210201
兆易GD3210310301
其他其他10010001
GET /ota/south/check?dev_id=522747162&manuf=102&model=10201&type=2&version=V11&cdn=false HTTP/1.1
Authorization:version=2018-10-31&res=products%2F198290&et=7555917657&method=sha1&sign=ZUXNMUqvAbuH0uHs0S1pd%2BgflNE%3D
host:  ota.heclouds.com
//此處有個換行,使用時請刪除此行內容,保留分行符號
//此處有個換行,使用時請刪除此行內容,保留分行符號

圖 3 檢測任務

4. 下載固件

如圖4所示。

GET /ota/south/download/ota_JcWgqjwXigKAfRayjjUW HTTP/1.1
Range:bytes=0-5
host:  ota.heclouds.com
//此處有個換行,使用時請刪除此行內容,保留分行符號
//此處有個換行,使用時請刪除此行內容,保留分行符號

圖 4 下載固件

拉取部分檔時,修改頭部Range欄位。

Range: bytes={start}-{end},目前只支援如下幾種模式:

1、Range: bytes={start}-,獲取第{start}+1個位元組到最後的資料
  例如:Range: bytes=0-,獲取所有資料
  Range: bytes=2-,獲取第3個資料到最後1個資料
  注意:如果{start}>=檔總長度,則默認{start}=0

2、Range: bytes={start}-{end},獲取第{start}+1個位元組到第{end}+1個位元組
  例如:Range: bytes=0-99,獲取前100個位元組
  注意:若{end}>=文件總長度len,則默認end=len-1
  若{start}>{end},start被設置為0

3、Range: bytes=-{end},獲取最後end個位元組資料
  例如:Range: bytes=-100,獲取最後100個位元組資料

如果{end}大於檔總長度len,則默認end=len(獲取所有檔)。

狀態碼

分片返回的狀態碼:206

不分片返回的狀態碼:200

5. 上報狀態

POST /ota/south/device/download/ota_3lI1NIMLB6E4u260cLRd/progress?dev_id=522747162 HTTP/1.1
Authorization:version=2018-10-31&res=products%2F198290&et=7555917657&method=sha1&sign=ZUXNMUqvAbuH0uHs0S1pd%2BgflNE%3D
host:ota.heclouds.com
Content-Type: application/json
Content-Length:11

{"step":54}//上報下載進度為54%

圖 5 上報下載進度
POST /ota/south/device/download/ota_3lI1NIMLB6E4u260cLRd/progress?dev_id=522747162 HTTP/1.1
Authorization:version=2018-10-31&res=products%2F198290&et=7555917657&method=sha1&sign=ZUXNMUqvAbuH0uHs0S1pd%2BgflNE%3D
host:ota.heclouds.com
Content-Type: application/json
Content-Length:12

{"step":201}//表示升級完成

圖 6 上報狀態-升級完成

說明

1、設備在下載升級包的過程中(分片下載),可以根據需要上報下載進度(設備處於“下載中”,才能上報step=[0,100])

2、如果設備上報的下載進度為100(即step:100),那麼平台會將設備的升級狀態從“正在下載”修改為“正在升級”狀態

3、只有當設備處於“正在下載”狀態時,設備才能夠使用該介面上報下載進度,其他狀態將返回“invalid state”的錯誤

4、step如果大於100,將作為上報狀態使用(設備處於:待升級、下載中、升級中,這三個狀態時,可以通過上報如下狀態碼完成升級流程。其他狀態如:已取消,升級失敗、升級成功、暫停時,不能上報如下狀態):

result碼說明result碼說明
101升級包下載成功。102下載失敗,空間不足
103下載失敗,記憶體溢出104下載失敗,下載請求超時
105下載失敗,電量不足106下載失敗,信號不良
107下載失敗,未知異常--
201升級成功202升級失敗,電量不足
203升級失敗,記憶體溢出204升級失敗,版本不一致
203升級失敗,記憶體溢出204升級失敗,版本不一致
205升級失敗,MD5校驗失敗206升級失敗,未知異常
207達到最大重試次數208設備升級過期

上報升級成功狀態後,平台會顯示任務狀態為完成。

个搜索结果,搜索内容 “

    0 个搜索结果,搜索内容 “