華為云計(jì)算 云知識(shí) 玩轉(zhuǎn)物聯(lián)網(wǎng)設(shè)備軟件升級(jí)
玩轉(zhuǎn)物聯(lián)網(wǎng)設(shè)備軟件升級(jí)

華為云IoT 物聯(lián)網(wǎng)平臺(tái) :軟件(Software)一般分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件實(shí)現(xiàn)設(shè)備最基本的功能,比如編譯工具、系統(tǒng)文件管理等;應(yīng)用軟件可以根據(jù)設(shè)備的特點(diǎn),提供不同的功能,比如采集數(shù)據(jù)、數(shù)據(jù)分析處理等。

軟件升級(jí)又稱為SOTA(SoftWare Over The Air),是指用戶可以通過(guò)OTA的方式支持對(duì)LwM2M協(xié)議和MQTT協(xié)議的設(shè)備進(jìn)行軟件升級(jí)?;贚wM2M協(xié)議的產(chǎn)品模型,軟件升級(jí)遵循的協(xié)議為PCP協(xié)議(查看PCP協(xié)議介紹),設(shè)備側(cè)需要遵循PCP協(xié)議進(jìn)行軟件升級(jí)的適配開(kāi)發(fā),適配方法請(qǐng)參考設(shè)備側(cè)適配開(kāi)發(fā)指導(dǎo);基于MQTT協(xié)議的產(chǎn)品模型,不校驗(yàn)軟件升級(jí)協(xié)議類(lèi)型。

LwM2M協(xié)議設(shè)備軟件升級(jí)流程

 

LwM2M協(xié)議SOTA升級(jí)流程的詳細(xì)說(shuō)明:
1~2.  用戶在設(shè)備管理服務(wù)的控制臺(tái)上傳軟件包,并在控制臺(tái)或者應(yīng)用服務(wù)器上創(chuàng)建軟件升級(jí)任務(wù)。
3.  LwM2M設(shè)備上報(bào)數(shù)據(jù),平臺(tái)感知設(shè)備上線,觸發(fā)升級(jí)協(xié)商流程。(超時(shí)時(shí)間為24小時(shí))
4~5.  物聯(lián)網(wǎng)平臺(tái)向設(shè)備下發(fā)查詢?cè)O(shè)備軟件版本的命令,查詢成功后,物聯(lián)網(wǎng)平臺(tái)根據(jù)升級(jí)的目標(biāo)版本判斷設(shè)備是否需要升級(jí)。(第4步等待設(shè)備上報(bào)軟件版本,超時(shí)時(shí)間為3分鐘)
  • 如果返回的軟件版本信息與升級(jí)的目標(biāo)版本信息相同,則升級(jí)流程結(jié)束,不做升級(jí)處理。
  • 如果返回的軟件版本信息與升級(jí)的目標(biāo)版本信息不同,則繼續(xù)進(jìn)行下一步的升級(jí)處理。
6.  物聯(lián)網(wǎng)平臺(tái)向設(shè)備訂閱軟件升級(jí)的狀態(tài)。
7~8.  物聯(lián)網(wǎng)平臺(tái)查詢終端設(shè)備所在的無(wú)線信號(hào)覆蓋情況,獲取小區(qū)ID、RSRP(Reference Signal Received Power,參考信號(hào)接收功率)和SINR(Signal to Interference Plus Noise Ratio,信號(hào)干擾噪聲比)信息。(等待上報(bào)無(wú)線覆蓋等級(jí)和小區(qū)ID,超時(shí)時(shí)間為3分鐘左右)查詢成功:則根據(jù)如下方式計(jì)算可同時(shí)升級(jí)的并發(fā)數(shù)計(jì)算,并按照步驟10進(jìn)行處理。
  • 如下圖所示,如果設(shè)備的RSRP強(qiáng)度和SINR強(qiáng)度均落在等級(jí)“0”中,則同時(shí)可以對(duì)該小區(qū)的50個(gè)相同信號(hào)覆蓋區(qū)間的設(shè)備進(jìn)行同時(shí)升級(jí)。
  • 如果設(shè)備的RSRP強(qiáng)度和SINR強(qiáng)度分別落在等級(jí)“0”和“1”中,則以信號(hào)較弱的等級(jí)“1”為準(zhǔn),則只能同時(shí)對(duì)該小區(qū)的10個(gè)設(shè)備進(jìn)行升級(jí)。
  • 如果設(shè)備的RSRP強(qiáng)度和SINR強(qiáng)度分別落在等級(jí)“1”和“2”中,則以信號(hào)較弱的等級(jí)“2”為準(zhǔn),則只能同時(shí)對(duì)該小區(qū)的1個(gè)設(shè)備進(jìn)行升級(jí)。
  • 如果設(shè)備的RSRP強(qiáng)度和SINR強(qiáng)度不在該3個(gè)等級(jí)范圍內(nèi),且均可以查詢到,則按照信號(hào)最弱覆蓋等級(jí)“2”處理,則只能同時(shí)對(duì)1個(gè)設(shè)備進(jìn)行升級(jí)。
  • 說(shuō)明:

    如果用戶在軟件升級(jí)中發(fā)現(xiàn)同時(shí)進(jìn)行升級(jí)的設(shè)備數(shù)較少,則可以聯(lián)系當(dāng)?shù)剡\(yùn)營(yíng)商檢查和優(yōu)化設(shè)備所在小區(qū)的無(wú)線覆蓋情況。

  • 查詢失敗:則按照流程9進(jìn)行處理。
9. 物聯(lián)網(wǎng)平臺(tái)繼續(xù)下發(fā)查詢小區(qū)ID信息的命令,獲取終端設(shè)備所在的小區(qū)ID信息。
  • 如果查詢成功:物聯(lián)網(wǎng)平臺(tái)支持同時(shí)對(duì)該小區(qū)的10個(gè)相同情況的設(shè)備進(jìn)行軟件升級(jí)。
  • 如果查詢失敗:則升級(jí)失敗。
10~12. 物聯(lián)網(wǎng)平臺(tái)通知設(shè)備有新的軟件包版本,設(shè)備啟動(dòng)軟件包的下載。軟件包的下載按照分片的方式進(jìn)行下載,支持?jǐn)帱c(diǎn)續(xù)傳功能,通過(guò)軟件包分片中攜帶的“versionCheckCode”確定是否屬于同一個(gè)軟件包。下載完成后,設(shè)備知會(huì)物聯(lián)網(wǎng)平臺(tái)軟件包已下載完畢。(第11步超時(shí)時(shí)間為60分鐘)13~14. 物聯(lián)網(wǎng)平臺(tái)向設(shè)備下發(fā)升級(jí)的命令,終端設(shè)備進(jìn)行升級(jí)操作,升級(jí)完成后終端設(shè)備向物聯(lián)網(wǎng)平臺(tái)反饋升級(jí)的結(jié)果。(等待設(shè)備上報(bào)升級(jí)結(jié)果和升級(jí)狀態(tài),超時(shí)時(shí)間為30分鐘)15. 物聯(lián)網(wǎng)平臺(tái)向控制臺(tái)/應(yīng)用服務(wù)器通知升級(jí)的結(jié)果。

MQTT協(xié)議設(shè)備軟件升級(jí)流程

MQTT協(xié)議SOTA升級(jí)流程的詳細(xì)說(shuō)明:

1~2.  用戶在設(shè)備管理服務(wù)的控制臺(tái)上傳軟件包,并在控制臺(tái)或者應(yīng)用服務(wù)器上創(chuàng)建軟件升級(jí)任務(wù)。

3.  平臺(tái)感知設(shè)備是否在線,當(dāng)設(shè)備在線時(shí)立即觸發(fā)升級(jí)協(xié)商流程。當(dāng)設(shè)備不在線時(shí),等待設(shè)備上線訂閱升級(jí)Topic,平臺(tái)感知設(shè)備上線,觸發(fā)升級(jí)協(xié)商流程。(等待設(shè)備上線時(shí)間25小時(shí)以內(nèi))

4~5.  平臺(tái)向設(shè)備下發(fā)查詢?cè)O(shè)備軟件版本號(hào)的命令,查詢成功后,物聯(lián)網(wǎng)平臺(tái)根據(jù)升級(jí)的目標(biāo)版本判斷設(shè)備是否需要升級(jí) 。(第5步超時(shí)時(shí)間3分鐘)

  • 如果返回的軟件版本信息與升級(jí)的目標(biāo)版本信息相同,則升級(jí)流程結(jié)束,不做升級(jí)處理,升級(jí)任務(wù)置為成功。
  • 如果返回的軟件版本信息與升級(jí)的目標(biāo)版本信息不同,且該版本號(hào)支持升級(jí),則繼續(xù)進(jìn)行下一步的升級(jí)處理。

6~7. 物聯(lián)網(wǎng)平臺(tái)下發(fā)下載包URL訪問(wèn)這里,token及包的相關(guān)信息,用戶根據(jù)下載包URL和token通過(guò)HTTPS協(xié)議來(lái)下載軟件包,24小時(shí)后token無(wú)效。(下載包和升級(jí)狀態(tài)上報(bào)超時(shí)時(shí)間為24小時(shí))

8.  終端設(shè)備進(jìn)行下載包升級(jí)操作,升級(jí)完成后終端設(shè)備向物聯(lián)網(wǎng)平臺(tái)反饋升級(jí)的結(jié)果。(設(shè)備升級(jí)完成后返回的版本號(hào)和設(shè)置的版本一致為成功)

9.  物聯(lián)網(wǎng)平臺(tái)向控制臺(tái)/應(yīng)用服務(wù)器通知升級(jí)的結(jié)果。

上傳軟件包
  1. 訪問(wèn) 設(shè)備接入服務(wù) ,單擊“管理控制臺(tái) ”進(jìn)入設(shè)備接入控制臺(tái)。
  2. 選擇設(shè)備 > 軟固件升級(jí)。
  3. 選擇“軟件列表”頁(yè)簽,單擊“上傳軟件”。
  4. 在彈出的頁(yè)面中,按照如下信息填寫(xiě)參數(shù)后,單擊“確認(rèn)”上傳軟件包。

在上傳軟件包時(shí),需要填寫(xiě)如下信息:

參數(shù)名稱

說(shuō)明

軟件文件

加載軟件包,軟件包名不能帶中文字符。

軟件版本

軟件包的版本。(設(shè)備升級(jí)完成后需要上報(bào)升級(jí)版本號(hào),平臺(tái)檢查設(shè)備上報(bào)的版本號(hào)是否與此參數(shù)一致,一致為升級(jí)成功。)

選擇產(chǎn)品

選擇對(duì)應(yīng)設(shè)備的產(chǎn)品模型

支持設(shè)備源版本

手動(dòng)輸入,如需輸入多個(gè),可以在輸入完一個(gè)版本后,單擊“回車(chē)”按鍵,再輸入下一個(gè)。

軟件包分片大小

終端下載軟件包的每個(gè)分片的大小,單位為byte。取值范圍:32~500,默認(rèn)值500。

說(shuō)明:目前平臺(tái)仍然支持上傳已簽名的軟件包,但無(wú)法修改公鑰。如果您上傳的是簽過(guò)名的軟件包,平臺(tái)會(huì)使用之前上傳的公鑰對(duì)簽名進(jìn)行校驗(yàn)。如果您之前沒(méi)有上傳過(guò)公鑰或者簽名的私鑰發(fā)生變化,簽名會(huì)校驗(yàn)失敗從而導(dǎo)致軟件包上傳失敗。

后續(xù)平臺(tái)將下線上傳簽名軟件包功能,為了保障您能夠正常使用軟件升級(jí)功能,請(qǐng)直接上傳需要下發(fā)給設(shè)備的文件。

批量設(shè)備軟件升級(jí)用戶對(duì)批量設(shè)備進(jìn)行軟件升級(jí)有兩種方式:
  1. 應(yīng)用服務(wù)器通過(guò)調(diào)用的“創(chuàng)建軟件升級(jí)任務(wù)”API接口,創(chuàng)建批量設(shè)備的升級(jí)任務(wù),詳情請(qǐng)參考創(chuàng)建批量任務(wù)
  2. 通過(guò)控制臺(tái),創(chuàng)建批量設(shè)備的軟件升級(jí)任務(wù)。
下面將重點(diǎn)介紹通過(guò)控制臺(tái)創(chuàng)建批量設(shè)備的軟件升級(jí)任務(wù)。

1. 訪問(wèn)設(shè)備接入服務(wù),單擊“管理控制臺(tái) ”進(jìn)入設(shè)備接入控制臺(tái)。

2. 在左側(cè)導(dǎo)航欄選擇"設(shè)備 > 軟固件升級(jí)",單擊“升級(jí)任務(wù)”。

3. 選擇“軟件升級(jí)”頁(yè)簽,單擊“新建任務(wù)”按鈕,進(jìn)入新建軟件升級(jí)任務(wù)頁(yè)面。

4. 設(shè)置“任務(wù)信息”,填寫(xiě)任務(wù)名稱、執(zhí)行時(shí)機(jī)、啟用重試。

啟用重試后,可以設(shè)置重啟次數(shù)和重啟間隔。重啟次數(shù)建議設(shè)置為2次,重啟間隔設(shè)置為5分鐘,即設(shè)備升級(jí)失敗后,隔5分鐘后會(huì)進(jìn)行升級(jí)重試。

5. 選擇需要升級(jí)的軟件包。

6. 選擇需要升級(jí)的設(shè)備或者設(shè)備群組,然后單擊“立即創(chuàng)建任務(wù)”。

設(shè)備群組可以參考群組與標(biāo)簽創(chuàng)建需要升級(jí)的設(shè)備群組,并綁定對(duì)應(yīng)的設(shè)備。

7. 創(chuàng)建完批量升級(jí)任務(wù)后,可以在軟件升級(jí)任務(wù)列表中查看批量任務(wù)的執(zhí)行結(jié)果。單擊對(duì)應(yīng)任務(wù)"查看"按鈕,可以在“執(zhí)行詳情”界面查看每個(gè)設(shè)備的升級(jí)結(jié)果。

說(shuō)明:如果升級(jí)任務(wù)正在執(zhí)行中,是不允許刪除任務(wù)的,如需刪除,請(qǐng)先在任務(wù)列表中,手動(dòng)停止任務(wù)后,再刪除升級(jí)任務(wù)。