本文介紹如何在物聯網平台控制台,向裝置批量推送升級包,進行OTA升級。
前提條件
已完成以下操作:操作步驟
登入物聯網平台控制台。
在執行個體概覽頁簽的全部環境下,找到對應的執行個體,單擊執行個體卡片。
- 在左側導覽列,選擇 。說明 為提供更好的服務,物聯網平台改版了原OTA升級,新增了升級包版本統計功能。首次進入改版後的OTA升級頁面時,您需要手動將之前上傳的升級包與產品進行關聯。升級包與產品一一對應,一個升級包只能關聯一個產品。詳情請參見控制台指引。
- 在升級包列表中,單擊升級包對應的批量升級,完成升級範圍配置,單擊下一步。
參數 描述 升級方式 可選: - 靜態升級:僅升級當前滿足升級條件的裝置。
- 動態升級:升級當前和持續檢查中,滿足升級條件的裝置。
持續檢查中包括但不限於以下情況的裝置,可進行OTA升級:
- 後續新啟用裝置滿足升級條件。
- 裝置當前上報的OTA模組版本號碼不滿足升級條件,後續上報了滿足升級條件的OTA模組版本號碼。
說明- 一個升級包下僅可有1個動態升級批次。若升級包下已有動態升級批次,您將無法建立新的動態升級,如需建立請先取消原有動態升級批次。
- 一個裝置在一個基於待升級版本號碼的動態升級批次下只能匹配10次升級。超過10次後,即使後續滿足動態升級匹配條件,物聯網平台也不會再觸發裝置升級。
升級範圍 可選: - 全部裝置:升級該產品下滿足升級條件的全部裝置。
- 定向升級:僅升級被選中的裝置。
選擇為定向升級後,提供兩種裝置選擇方式:
- 手動勾選:從裝置範圍下拉式清單選擇要升級的裝置。
在日本(東京)地區企業版執行個體中,您可以通過進階搜尋搜尋裝置,還可下載已搜尋裝置的CSV格式檔案。
- 檔案上傳:下載模板,填寫、上傳CSV格式的裝置列表檔案。單次最多包含1,000,000條記錄。
若裝置列表檔案中有不合法的裝置名稱,將出現錯誤提示。請單擊下載不合法列表,查看不合法的裝置名稱,修改裝置列表檔案,再重新上傳。
- 手動勾選:從裝置範圍下拉式清單選擇要升級的裝置。
- 灰階升級:即局部升級。升級方式為靜態升級時出現的可選項。灰階升級的裝置至少為1個。
選擇為灰階升級後,下方出現灰階範圍輸入框,需針對已選擇的裝置,設定灰階百分比。物聯網平台根據設定的灰階百分進行計算,計算結果向下取整。
- 分組升級:升級方式為靜態升級時,出現該參數,分組列表展示當前執行個體下所有父分組及其子分組。裝置分組的建立方法,請參見裝置分組。
待升級版本號碼 配置說明如下: - 整包靜態升級時,該參數為非必選配置;整包動態升級時,為必選配置。當升級範圍為定向升級時,不配置該參數。
下拉式清單中,展示當前產品下所有裝置的版本號碼(除升級目標版本號碼之外),選擇一個或者多個待升級的版本。
如不選擇,表示對待升級裝置OTA模組的目前的版本不做限制。
- 差分升級時,該參數預設為添加升級包時配置的待升級版本號碼。
升級批次任務建立完成後,如果升級方式是動態升級且升級批次狀態為升級中,支援修改待升級版本號碼。
- 完成升級策略配置,單擊完成,批量向裝置推送升級通知。
參數 描述 升級時間 指定裝置OTA升級的時間。 - 立即升級:立即進行OTA升級。
- 定時升級:設定升級開始時間、升級結束時間。升級開始時間距目前時間最少5分鐘,最多7天。升級結束時間距開始時間最少1小時,最多為30天,可不設定,不設定表示不會強制結束。 說明 僅當升級方式為靜態升級時,支援定時升級。
雲端主動推送升級包 選擇物聯網平台是否主動向裝置推送升級任務。 - 是(預設):批次任務建立完成後,物聯網平台主動將OTA升級任務,直接推送給升級範圍內的線上裝置。
此模式下,裝置仍可主動向物聯網平台發起請求,來擷取OTA升級任務資訊。
- 否:裝置必須通過向物聯網平台發起請求,來擷取OTA升級任務資訊。
升級包推送速率 設定每分鐘向多少個裝置推送升級包下載URL。可選恒定速率和可變速率。 重要- 如果雲端主動推送升級為否,無需設定此參數。
- 目前僅企業版執行個體下支援配置可變速率。
參數說明如下:
- 恒定速率:設定恒定推送速率,取值範圍為10~10,000的整數。設定後,每分鐘的推送速率始終不變。
例如需緊急修複某個缺陷,希望儘快推送升級包給所有裝置進行升級時,使用恒定推送速率比較合適(最大推送速率每分鐘10,000個裝置),能最快將升級包推送給待升級裝置。
- 可變速率:某種情境中期望開始推送速率小(例如每分鐘1個裝置),達到某種條件後推送速率不斷進行增大時,可設定可變速率。
例如產品新增某個功能,希望能在升級前期慢慢推送給裝置進行升級,觀察裝置的升級狀況,之後推送速率慢慢增大,類似先灰階升級後全量升級,保障所有裝置升級成功。
可變速率中需設定以下參數:
- 基礎推送速率:指推送裝置數或升級成功裝置數未滿足推送速率提高標準時,每分鐘推送的裝置數,取值範圍為1~10,000的整數,且必須小於或等於最大推送速率。
- 增量因子:指推送裝置數或升級成功裝置數閾值滿足推送速率提高標準之後,推送速率增加的因子數,取值範圍為1.20~5.00,精確到兩位小數。
- 最大推送速率:每分鐘推送裝置數的最大值,取值範圍為10~10,000的整數。當每分鐘推送速率動態增大到最大推送速率後,推送速率不再發生變化,每分鐘一直保持在最大推送速率。
- 推送速率提高標準:設定推送裝置數或升級成功裝置數閾值,取值範圍為1~100,000的整數。推送裝置數或升級成功裝置數滿足閾值後,開始根據增量因子變更推送速率。
樣本:- 可變速率設定:基礎推送速率為50,增量因子為2,最大推送速率為10,000,推送速率提高標準中設定推送裝置數為1,000。
- 對應升級方式如下:OTA升級任務一開始以每分鐘50的速率推送升級訊息,並以該速率持續進行,直到給1,000 個裝置推送升級訊息後,每分鐘推送速率會按照增量因子進行增大。
- 具體變化趨勢如下:
- 以每分鐘50的速率推送升級訊息,直到推送裝置數為1,000,根據增量因子提升速率為100;
- 以每分鐘100的速率推送升級訊息,直到推送裝置數為1,000,即總推送裝置數為2,000後,提升速率為200;
- 以每分鐘200的速率推送升級訊息,直到推送裝置數為1,000,即總推送裝置數為3,000後,提升速率為400;
- 以每分鐘400的速率推送升級訊息,直到推送裝置數為1,000,即總推送裝置數為4,000後,提升速率為800;
- 按照以上變化趨勢類推,後續依次以每分鐘800、1600、3200、6400的速率推送升級訊息,直到總推送裝置數達到8,000後,根據增量因子提升速率,此時推送速率為12,800,大於最大推送速率值10,000,因此不會以每分鐘12,800的速率,而是以每分鐘10,000的速率推送升級訊息,且後續會一直保持以該速率推送升級訊息。
升級批次任務建立完成後,如果升級批次狀態為升級中,支援修改已配置的升級包推送速率值。但不支援變更速率類型,即恒定速率與可變速率不可互改。具體內容,請參見批次管理。
升級失敗稍候再試 如果升級失敗,選擇重試升級的時間。可選: - 不重試
- 立即重試
- 10分鐘後重試
- 30分鐘後重試
- 1小時後重試
- 24小時後重試
重要 升級失敗稍候再試需要小於裝置升級逾時時間。例如:- 裝置升級逾時時間為60分鐘,升級失敗稍候再試最大可設定為30分鐘後重試。
- 裝置升級逾時時間為1440分鐘,升級失敗稍候再試最大可設定為1小時後重試。
若升級失敗稍候再試需設定為24小時後重試,則建議不設定裝置升級逾時時間。因升級逾時後,不會再觸發升級重試。
升級重試上限次數 選擇升級失敗後,最多可重試幾次。可選: - 1次
- 2次
- 5次
裝置升級逾時時間 設定單個裝置的升級逾時時間,即多長時間之後,升級未完成則為逾時。可選值範圍:1分鐘~1,440分鐘。 說明 從裝置第一次上報升級進度開始計算升級時間。升級期間若裝置多次上下線,觸發物聯網平台多次推送升級包,都始終以裝置最開始的第一次上報升級進度時間作為開始時間。
升級批次任務建立完成後,如果升級方式是動態升級且升級批次狀態為升級中,支援修改升級逾時時間。具體操作,請參見批次管理。
裝置支援多模組同時升級 設定裝置是否支援多模組同時升級。僅企業版執行個體和新版公用執行個體下,顯示該配置項。可選: - 是:裝置可同時執行多個不同模組的升級任務。
此時,相同模組下的升級任務會被覆蓋,但不覆蓋升級中的任務。
- 否(預設):裝置不支援多模組同時升級。
是否覆蓋裝置之前的升級任務 同一時間,如果一個裝置處於多個升級批次中(即裝置狀態為:待確認、待推送或已推送),需要選擇是否覆蓋裝置之前的升級任務。 - 是:裝置只執行新的升級任務,之前的升級任務會被取消。
- 否(預設):若裝置已有升級任務,則只執行已有任務。
說明 不覆蓋升級中的任務,此時繼續執行升級中的任務,不執行新的任務。是否僅對新上報版本的裝置生效 當升級方式選擇為動態升級時的參數。可選: - 是:僅升級後續新上報版本號碼的裝置。
- 否(預設):升級當前滿足升級條件的裝置,並持續檢查後續新上報版本號碼的裝置是否滿足升級條件。
App確認升級 如需自主控制裝置OTA升級時,可以配置此參數,通過手機App來控制,裝置是否可進行OTA升級。手機App需您自行開發。 - 是:裝置無法擷取OTA升級任務,需App側確認裝置可進行OTA升級(即通過ConfirmOTATask介面,批量確認待確認狀態的裝置升級作業)後,才能按照雲端主動推送升級包設定,擷取OTA升級任務資訊。
- 否(預設):直接按照雲端主動推送升級包設定,擷取OTA升級任務資訊。
升級包下載協議 可選協議:HTTPS或MQTT。裝置端收到物聯網平台推送的升級包下載資訊後,通過此處設定的協議下載升級包。 重要 使用MQTT協議下載升級包,必須符合以下條件:- 支援的地區:僅中國的華東2(上海)、華北2(北京)和華南1(深圳)。
- OTA升級包:僅包含一個檔案,且檔案大小不超過16 MB。
- 裝置端SDK:必須使用物聯網平台提供的C語言Link SDK最新版本的軟體包,開發OTA升級和MQTT下載檔案的能力。詳細內容,請參見使用MQTT協議下載升級包的OTA升級程式碼範例。
批次標籤 單擊新增標籤,在顯示的輸入框中,輸入標籤的標籤Key和標籤Value。
升級批次任務建立完成後,如果升級批次狀態為升級中,支援修改和新增標籤。具體操作,請參見批次管理。
批次標籤將在向裝置推送升級通知時下發給裝置。
標籤配置規則,可單擊協助表徵圖查看。
- 可選:在升級包詳情頁面的批次管理列表中,找到動態升級批次,單擊操作欄編輯,可在升級範圍配置和升級策略配置中修改待升級版本號碼和裝置升級逾時時間(支援取消逾時時間設定)。重要
- 動態升級配置修改後:
- 待升級版本號碼:若新增版本號碼,會對新增版本號碼對應的存量裝置發起升級,也會對符合動態策略的新增裝置發起升級;若刪除版本號碼,對存量升級的裝置無影響。
- 裝置升級逾時時間:僅對新增裝置的OTA動態升級生效,對存量裝置的升級無影響。
- 動態分組升級,不支援修改待升級版本號碼。
- 動態升級配置修改後:
執行結果
批量升級提交後,物聯網平台根據您的設定向裝置推送升級通知,您可在控制台查看目標裝置的升級狀態、升級包資訊等,具體操作,請參見查看升級情況。
相關API
API | 描述 |
CreateOTAStaticUpgradeJob | 建立靜態升級批次。 |
CreateOTADynamicUpgradeJob | 建立動態升級批次。 |
CancelOTAStrategyByJob | 取消動態升級批次所關聯的動態升級策略。 |
CancelOTATaskByDevice | 取消指定升級包下狀態為待升級的裝置升級作業。 |
CancelOTATaskByJob | 取消指定批次下的裝置升級作業。 |
OTA相關API的更多資訊,請參見OTA升級API。