隨著物聯網設備智能化的發展,OTA升級已經成為了業界公認的基礎能力,而OTA在設計和實現過程中需要依賴于物聯網設備的硬件方案。物聯網設備主流的硬件方案為:
1. 直接基于通訊芯片/模塊開發的方案,用戶升級的主要目標是通訊芯片/模塊。艾拉比在設備端有基于UA+UC的方式提供端云一體化的OTA解決方案。
2. 通過MCU/DSP/MPU等應用處理器/控制器和各類通訊模塊開發的方案,用戶升級的主要目標是這些應用處理器/控制器,通訊模塊更多是透傳管道。
其中,MCU作為主控處理器在物聯網領域占著非常高的份額,廣泛分布在智能家居、三表、工業等各個領域。在MCU的OTA升級方式上,部分客戶實現方式為整包升級,甚至很多MCU產品是裸跑,并且是不升級的,當然這也和產品形態、功能特性、行業等相關。而差分升級相較于傳統的的整包升級方式,有資源需求低、升級功耗低、升級時間短及下載流量少等諸多優勢,越來越多的成為物聯網升級的優選方案。舉個例子,某客戶MCU的Flash配置為64KB,自身APP固件為50KB,此時如果需要實現OTA升級,大多客戶選擇的方案是:
1.外掛一顆64KB或者128KB的Flash
2.選擇一顆128KBFlash資源的MCU
而如果通過差分OTA升級,則在64KB Flash的MCU上直接可以實現,再加入5KB左右的差分升級算法后,還能剩余9KB左右空間來存儲幾KB的差分升級包,不增加硬件成本就可以實現OTA升級。
差分升級的實現方案
差分升級大多是通過在升級程序(Bootloader為主)中增加差分升級算法來實現,算法需要占用一些本地Flash和RAM資源。
差分升級又叫增量升級,顧名思義就是通過差分算法將源版本與目標版本之間差異的部分提取出來制作成差分包,然后在設備通過還原算法將差異部分在源版本上進行還原從而升級成目標版本的過程。差分升級方案不僅可以節省MCU內部的資源空間、還可以節省下載流程及下載和升級過程中的功耗。從另一個角度說,通過將差分部分下發到設備保證了版本的安全性。
在過去幾年,艾拉比一直致力于將差分升級賦能給更多行業客戶,比較主流的差分算法集成的方式是通過SDK的形式提供差分升級能力,客戶需要將差分升級SDK集成到設備Bootloader中,有一定的集成開發量。這種方式的好處是客戶可以自己根據API進行定制開發一些功能,但是MCU的碎片化導致這種集成開發方式成本較高,客戶集成使用也相對有些要求,適配和測試周期也比較長,因此艾拉比基于大量MCU系統的認識、以及對OTA的理解推出一種更簡便,更易用的,相對標準化的優化方案。
MCU差分升級的優化實現方案UB產品
UB(Upgrade Bootloader)產品是艾拉比基于MCU推出的獨立標準化bootloader產品,內部集成了艾拉比最新的差分升級算法,燒錄即可以使用,無需開發即可實現差分升級。
UB通過將差分升級算法在編譯bootloader階段集成進去,而這個編譯和開發bootloader的過程,艾拉比直接提供一種圖形化、零開發的云端制作工具來完成,從而使得MCU的產品可以用最簡單的方式實現差分升級能力。
相較于整包升級大大節省了Flash資源,甚至可以省去外掛Flash或者更換更大資源MCU的物料成本。作為一款標準化的產品,艾拉比提供的在線制作工具可根據用戶產品的硬件配置一鍵生成UB,省去了繁瑣且碎片化的OTA適配成本,助力產品快速上市。此外,UB在確保OTA的安全性上還有很多考量。比如采用一芯一碼技術,根據MCU內出廠不可更改的唯一ID,生成唯一安全激活碼,確保設備差分功能的唯一性和升級過程的安全性。UB中集成的異常保護支持了防掉電/誤操作等防變磚機制,確保升級萬無一失。
UB的生成過程十分簡便,用戶根據選定的MCU型號和基本信息,通過界面化工具按步驟操作直接生成。操作流程如下:配置mcu的硬件信息->配置mcu的分區信息->一鍵生成UB。
目前艾拉比已經適配了ST主流的MCU型號。
UB的使用場景1)作為Bootloader的使用場景 該場景用戶無需再額外開發一個Bootloader,直接使用UB來引導啟動程序,當有版本需要升級時跳轉至升級流程,由UB 來控制跳轉。 2)作為獨立子系統的使用場景 該場景用戶已經根據需求制作出一個Bootloader,那么可以將UB作為一個獨立的升級子系統或者是二級Bootloader,當MCU需要升級時由Bootloader跳轉至UB來進行升級。
UB的成功案例—NB IOT燃氣表
我們結合表計行業的成功案例看一下UB如何在整表產品中使用:案例中需要升級的是MCU上的主控程序。
STM32 MCU燒錄艾拉比OTA UB ,一方面可以作為Bootloader來引導系統啟動,另一方面可以實現差分升級。差分升級包的獲取方式有兩種情況,一種通過NB模塊從平臺獲取;一種通過近場的紅外模塊將差分升級包傳輸至設備。
1)通過NB模塊從平臺獲取
此種方式需要在應用層集成平臺連接組件,其中對網絡調用通過NB-IOT模塊的AT指令完成,NB-IOT模塊只進行數據透傳實現網絡連接。NB-IOT表計包含應用和歷史數據、配置數據等區域,升級過程只升級應用區域,數據區不做任何改變。
2)通過近場模塊傳輸
在艾拉比在線差分平臺制作完差分包后下載至本地。然后通過手持紅外設備將差分包傳輸至表記中來實現升級,避免拆表等工作。
UB產品,是艾拉比產品和研發團隊基于OTA的深刻洞見后的創新成果,從物聯網終端客戶的實際使用場景出發,不斷為客戶提高OTA使用率,降低OTA開發成本及資源成本,讓OTA能夠在物聯網中發揮關鍵價值。艾拉比始終堅持深耕OTA領域,通過持續的技術變革與服務水平,為客戶提供更穩定、更安全、更簡單的OTA服務。
責任編輯人:CC
-
dsp
+關注
關注
553文章
7998瀏覽量
348945 -
mcu
+關注
關注
146文章
17149瀏覽量
351216 -
STM32
+關注
關注
2270文章
10900瀏覽量
356053 -
MPU
+關注
關注
0文章
359瀏覽量
48803 -
OTA
+關注
關注
7文章
580瀏覽量
35230
原文標題:燒錄即用,基于MCU的零代碼無開發實現OTA差分升級 | UB產品
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論