華為云IoT 物聯(lián)網(wǎng)平臺(tái) :固件(Firmware)一般是指設(shè)備硬件的底層“驅(qū)動(dòng)程序”,承擔(dān)著一個(gè)系統(tǒng)最基礎(chǔ)最底層工作的軟件,比如計(jì)算機(jī)主板上的基本輸入/輸出系統(tǒng)BIOS(Basic Input/output System)。
固件升級(jí)又稱為FOTA(Firmware Over The Air),是指用戶可以通過OTA的方式對(duì)支持LwM2M協(xié)議和MQTT協(xié)議的設(shè)備進(jìn)行固件升級(jí)。
LwM2M協(xié)議設(shè)備固件升級(jí)流程

LwM2M協(xié)議FOTA升級(jí)流程的詳細(xì)說明:
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í))
- 如果返回的固件版本信息與升級(jí)的目標(biāo)版本信息相同,則升級(jí)流程結(jié)束,不做升級(jí)處理。
- 如果返回的固件版本信息與升級(jí)的目標(biāo)版本信息不同,則繼續(xù)進(jìn)行下一步的升級(jí)處理。
- 查詢成功:則根據(jù)如下方式計(jì)算可同時(shí)升級(jí)的并發(fā)數(shù)計(jì)算,并按照步驟9進(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í)。
說明:如果用戶在固件升級(jí)中發(fā)現(xiàn)同時(shí)進(jìn)行升級(jí)的設(shè)備數(shù)較少,則可以聯(lián)系當(dāng)?shù)剡\(yùn)營(yíng)商檢查和優(yōu)化設(shè)備所在小區(qū)的無線覆蓋情況。
- 查詢失?。簞t按照流程步驟8進(jìn)行處理。
- 如果查詢成功:物聯(lián)網(wǎng)平臺(tái)支持同時(shí)對(duì)該小區(qū)的10個(gè)相同情況的設(shè)備進(jìn)行固件升級(jí)。
- 如果查詢失敗:則升級(jí)失敗。
9. 物聯(lián)網(wǎng)平臺(tái)向設(shè)備訂閱固件升級(jí)的狀態(tài)。
10~11. 物聯(lián)網(wǎng)平臺(tái)向設(shè)備下發(fā)下載固件包的URL地址,通知設(shè)備下載固件包。終端設(shè)備根據(jù)該URL地址下載固件包,固件包的下載支持分片下載,下載完成后,設(shè)備知會(huì)物聯(lián)網(wǎng)平臺(tái)固件包已下載完畢。(第11步超時(shí)時(shí)間為60分鐘)
12~13. 物聯(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分鐘)
14~16. 物聯(lián)網(wǎng)平臺(tái)下發(fā)命令查詢固件升級(jí)的結(jié)果,獲取升級(jí)結(jié)果后,向終端設(shè)備取消訂閱升級(jí)狀態(tài)通知,并向控制臺(tái)應(yīng)用服務(wù)器通知升級(jí)的結(jié)果。
MQTT協(xié)議固件升級(jí)流程

MQTT協(xié)議FOTA升級(jí)流程的詳細(xì)說明:
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))
- 如果返回的固件版本信息與升級(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ā)設(shè)備側(cè)升級(jí)包下載指導(dǎo)、token及包的相關(guān)信息,用戶根據(jù)下載包URL和token通過HTTPS協(xié)議來下載軟件包,24小時(shí)后token無效。(下載包和升級(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é)果。
上傳固件包
設(shè)備接入服務(wù)的控制臺(tái),提供固件包的管理能力,您可以將需要升級(jí)的固件包統(tǒng)一上傳到“固件列表”界面上進(jìn)行管理。
- 訪問設(shè)備接入服務(wù),單擊“管理控制臺(tái) ”進(jìn)入設(shè)備接入控制臺(tái)。
- 選擇。
- 選擇“固件列表”頁簽,單擊“上傳固件”。
- 在彈出的頁面中,按照如下信息填寫參數(shù)后,單擊“確認(rèn)”上傳固件包。

在上傳固件包時(shí),需要填寫如下信息:
|
參數(shù)名稱 |
說明 |
|---|---|
|
固件文件 |
添加固件包,固件包名不能帶中文字符。 |
|
固件版本 |
固件包的版本。(設(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è)版本后,單擊“回車”按鍵,再輸入下一個(gè)。 |
后續(xù)平臺(tái)將下線上傳簽名固件包功能,為了保障您能夠正常使用固件升級(jí)功能,請(qǐng)直接上傳需要下發(fā)給設(shè)備的文件。
批量設(shè)備固件升級(jí)
用戶對(duì)批量設(shè)備進(jìn)行固件升級(jí)有兩種方式:
- 應(yīng)用服務(wù)器通過調(diào)用的“創(chuàng)建固件升級(jí)任務(wù)”API接口,創(chuàng)建批量設(shè)備的升級(jí)任務(wù),詳情請(qǐng)參考創(chuàng)建批量任務(wù)。
- 通過控制臺(tái),創(chuàng)建批量設(shè)備的固件升級(jí)任務(wù)。
下面將重點(diǎn)介紹通過控制臺(tái)創(chuàng)建批量設(shè)備的固件升級(jí)任務(wù)。
1.訪問設(shè)備接入服務(wù),單擊“管理控制臺(tái) ”進(jìn)入設(shè)備接入控制臺(tái)。
2. 在左側(cè)導(dǎo)航欄選擇"設(shè)備 > 軟固件升級(jí)",單擊“升級(jí)任務(wù)”。
3. 在“固件升級(jí)”頁簽,單擊“新建任務(wù)”按鈕,進(jìn)入新建固件任務(wù)頁面。

4. 設(shè)置“任務(wù)信息”,填寫任務(wù)名稱、執(zhí)行時(shí)機(jī)、啟用重試。
啟用重試后,可以設(shè)置重啟次數(shù)和重啟間隔。重啟次數(shù)建議設(shè)置為2次,重啟間隔設(shè)置為5分鐘(最大重啟次數(shù)為5次,最大重啟間隔為1440分鐘),即設(shè)備升級(jí)失敗后,隔5分鐘后會(huì)進(jìn)行升級(jí)重試。

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

6. 選擇需要升級(jí)的設(shè)備群組,然后單擊“提交”。
設(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é)果。
固件升級(jí)失敗原因
物聯(lián)網(wǎng)平臺(tái)上報(bào)的失敗原因:
|
失敗原因 |
原因解釋 |
處理建議 |
|---|---|---|
|
Device Abnormal is not online |
設(shè)備異常未在線 |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Task Conflict |
任務(wù)沖突 |
請(qǐng)檢查當(dāng)前設(shè)備是否有軟件升級(jí)、固件升級(jí)、日志收集或設(shè)備重啟的任務(wù)正在進(jìn)行。 |
|
Waiting for the device online timeout |
等待設(shè)備上線超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Wait for the device to report upgrade result timeout |
等待設(shè)備上報(bào)升級(jí)結(jié)果超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Waiting for report device firmware version timeout |
等待上報(bào)設(shè)備固件版本超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Waiting for report cellId timeout |
等待上報(bào)cellId超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Updating timeout and query device version for check timeout |
等待升級(jí)結(jié)果超時(shí),且等待設(shè)備版本信息超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Waiting for device downloaded package timeout |
等待設(shè)備完成下載固件包超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Waiting for device start to update timeout |
等待設(shè)備啟動(dòng)更新超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
|
Waiting for device start download package timeout |
等到設(shè)備開始下載固件包超時(shí) |
請(qǐng)檢查設(shè)備側(cè)。 |
設(shè)備上報(bào)的失敗原因:
|
失敗原因 |
原因解釋 |
處理建議 |
|---|---|---|
|
Not enough storage for the new firmware package |
下載的固件包存儲(chǔ)空間不足 |
請(qǐng)檢查設(shè)備存儲(chǔ)。 |
|
Out of memory during downloading process |
下載過程中內(nèi)存不足 |
請(qǐng)檢查設(shè)備內(nèi)存。 |
|
Connection lost during downloading process |
下載過程中連接斷開 |
請(qǐng)檢查設(shè)備連接狀態(tài)。 |
|
Integrity check failure for new downloaded package |
下載的固件包完整性校驗(yàn)失敗 |
請(qǐng)檢查設(shè)備下載的固件包是否完整。 |
|
Unsupported package type |
固件包類型不支持 |
請(qǐng)檢查設(shè)備狀態(tài)和廠商提供的固件包是否正確。 |
|
Invalid URI |
URI不可用 |
檢查設(shè)備側(cè)的固件包下載地址是否正確。 |
|
Firmware update failed |
固件更新失敗 |
請(qǐng)檢查設(shè)備側(cè)。 |
- 設(shè)備接入IOT通信協(xié)議_iot物聯(lián)網(wǎng)設(shè)備接入怎么對(duì)接
- 什么是設(shè)備接入_物聯(lián)網(wǎng)平臺(tái)_設(shè)備接入技術(shù)有哪些
- 農(nóng)業(yè)物聯(lián)網(wǎng)_物聯(lián)網(wǎng)的特點(diǎn)_農(nóng)業(yè)物聯(lián)網(wǎng)云平臺(tái)
- 設(shè)備接入服務(wù)怎么用_華為云IoT設(shè)備接入_設(shè)備接入管理平臺(tái)
- GaussDB升級(jí)_云數(shù)據(jù)庫GaussDB升級(jí)_GaussDB如何升級(jí)-華為云
最新文章
- 工業(yè)物聯(lián)網(wǎng)_物聯(lián)網(wǎng)設(shè)備_工業(yè)物聯(lián)網(wǎng)有哪些應(yīng)用
- 物聯(lián)網(wǎng)平臺(tái)_邊緣設(shè)備接入_設(shè)備接入服務(wù)是什么意思
- 物聯(lián)網(wǎng)設(shè)備接入平臺(tái)_設(shè)備接入方案_終端設(shè)備接入
- 華為云IoT設(shè)備接入服務(wù)介紹_物聯(lián)網(wǎng)平臺(tái)_物聯(lián)網(wǎng)設(shè)備接入方案
- 物聯(lián)網(wǎng)設(shè)備接入平臺(tái)_mqtt設(shè)備接入_Iot設(shè)備接入驗(yàn)證
- 華為云IoT設(shè)備接入使用教程