燒錄即用,基於MCU的零代碼無開發實現OTA差分升級 | UB產品

2020-12-09 電子工程專輯

 

隨著物聯網設備智能化的發展,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. 選擇一顆128KB Flash資源的MCU


而如果通過差分OTA升級,則在64KB Flash的MCU上直接可以實現,再加入5KB左右的差分升級算法後,還能剩餘9KB左右空間來存儲幾KB的差分升級包,不增加硬體成本就可以實現OTA升級。


差分升級大多是通過在升級程序(Bootloader為主)中增加差分升級算法來實現,算法需要佔用一些本地Flash和RAM資源。

 

差分升級又叫增量升級,顧名思義就是通過差分算法將源版本與目標版本之間差異的部分提取出來製作成差分包,然後在設備通過還原算法將差異部分在源版本上進行還原從而升級成目標版本的過程。差分升級方案不僅可以節省MCU內部的資源空間、還可以節省下載流程及下載和升級過程中的功耗。從另一個角度說,通過將差分部分下發到設備保證了版本的安全性。


在過去幾年,艾拉比一直致力於將差分升級賦能給更多行業客戶,比較主流的差分算法集成的方式是通過SDK的形式提供差分升級能力,客戶需要將差分升級SDK集成到設備Bootloader中,有一定的集成開發量。這種方式的好處是客戶可以自己根據API進行定製開發一些功能,但是MCU的碎片化導致這種集成開發方式成本較高,客戶集成使用也相對有些要求,適配和測試周期也比較長,因此艾拉比基於大量MCU系統的認識、以及對OTA的理解推出一種更簡便,更易用的,相對標準化的優化方案。

 

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型號。

該場景用戶無需再額外開發一個Bootloader,直接使用UB來引導啟動程序,當有版本需要升級時跳轉至升級流程,由UB 來控制跳轉。
該場景用戶已經根據需求製作出一個Bootloader,那麼可以將UB作為一個獨立的升級子系統或者是二級Bootloader,當MCU需要升級時由Bootloader跳轉至UB來進行升級。



我們結合表計行業的成功案例看一下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服務。


相關焦點

  • 如何讓開源LED電子時鐘屏跑起Bootloader和OTA升級
    提前聲明:本項目是基於晶片之家的[開源]從0到1教你製作網絡數字變化時鐘的項目代碼進行修改,增加Bootloader和OTA升級的。獲取原始碼可加微信:RT-Thread2006一、前期準備硬體準備:1. 一塊LED電子數字時鐘屏2. 一根microusb線(安卓線)3.
  • 在rt-thread下實現OTA在線固件更新功能
    簡介為了能讓開發者快速掌握 OTA 升級這把利器,RT-Thread 開發團隊提供了通用的 Bootloader。開發者通過該 Bootloader 即可直接使用 RT-Thread OTA 功能,輕鬆實現對設備端固件的管理、升級與維護。
  • 機智雲產品開發入門到精通二:網關類產品調試
    非SOC模式可以參考開發者中心產品下面的開發先導裡面的串口協議文檔進行協議通訊。/debug/G510.html機智雲TOT軟體平臺的串口調試助手:(軟體下載地址https://download.gizwits.com/zh-cn/p/98/119)機智雲串口調試助手,該助手主要功能有「模擬mcu」,開發者可以通過該助手直接調試WiFi模組,通過「模擬mcu」上面的功能,實現設備配網、接收APP下發控制指令、主動上報設備當前狀態。
  • 機智雲產品開發入門到精通二:GAgent
    非SOC模式可以參考開發者中心產品下面的開發先導裡面的串口協議文檔進行協議通訊。/debug/G510.html機智雲TOT軟體平臺的串口調試助手:(軟體下載地址https://download.gizwits.com/zh-cn/p/98/119)機智雲串口調試助手,該助手主要功能有「模擬mcu」,開發者可以通過該助手直接調試WiFi模組,通過「模擬mcu」上面的功能,實現設備配網、接收APP下發控制指令、主動上報設備當前狀態。
  • 物聯網之——基於塗鴉平臺開發智能設備(一)
    剛好最近在做對接塗鴉相關的產品,因此來分享下如何在塗鴉平臺進行開發我們的智能設備(zigbee, wifi等)。 塗鴉是目前比較熱門的物聯網平臺,包含了各種各樣的智能設備開發方案,並且支持多種開發方式,如:一鍵配置免開發,mcu串口對接, SDK二次開發。
  • 基於中文通訊協議的ESP8266無線開關
    燒錄固件如果你拿到的ESP8266是比較老的版本,需要用python擦除固件,然後從nodemcu-build.com自己按需build自己的NodeMCU固件,最新的固件和0.9固件lua版本不同的編程格式有所改變,需要注意。下載Nodemcu一鍵燒錄工具,根據作業系統選擇不同文件夾中的燒錄程序。
  • 麻雀一號BK7252音視頻開發板基礎篇01-開發環境搭建
    前言:從今天開始,我們學習RT-Thread BK7252 麻雀一號開發板,這款開發板性價比極高,採用博通集成開發的BK7252晶片,基於RT_Thread國產實時作業系統,集成音視頻、BLE、WIFI為一體,目前支持兩種開發方式,可以基於RT_Thread SDK進行二次開發,也可以使用MicroPython進行開發,本文我們直接使用SDK二次開發
  • Nodemcu ESP8266(ESP-12E)基本配置
    清單:Nodemcu ESP8266開發板(CH340G)這個買來是製作LED矩陣時鐘的,通過arduino,已經實現了連接網絡、獲取網絡時間、顯示時間,整體也運行了兩周,都挺穩定的。配置SSID和PW都是在代碼裡寫好的,但是心裡一直記著應該是可以通過web配置的。但是為了給老婆的禮物,就先運行中吧。今天興起,想用木板做個漂亮的外殼,排針在用電烙鐵取下來的時候,不小心把8*8LED(4合一)的給弄花了,不能顯示了,只好重新買個顯示的,就把Nodemcu重新連上電腦,玩玩。Nodemcu ,使用的步驟是先燒固件進去,固件模塊是可選的。
  • ST的H7 MCU設計考量:用雙核實現高性能與實時組合
    N公司早在兩年前也推出了基於M7單核的MCU,名為「跨界處理器」,特點是無內置快閃記憶體,主頻可達1 GHz、600MHz等,CoreMark 3000左右,實現了MCU的架構、MPU的應用。      其次,雙核架構還有助於簡化代碼開發,並縮短項目開發周期,將用戶界面代碼與實時控制或通信功能的開發分開進行(如下圖)。
  • 無代碼零代碼開發趨勢不可抵擋,低代碼只是程式設計師的遮羞布
    這些年來,無代碼、零代碼開發的趨勢勢不可擋,國際巨頭微軟Power Platform與國內金蝶公司的入局就說明了這一點。很多蹭熱度的企業宣稱自己的產品是零代碼、無代碼產品,然而很多功能卻需要使用JavaScript來實現,這麼高的技術門檻,依然只有專業的程式設計師才能使用。
  • 【單片機筆記】NodeMcu入坑—ESP8266開發環境搭建
    該平臺基於eLua開源項目,底層使用ESP8266 sdk 0.9.5版本。該平臺使用了很多開源項目, 例如 lua-cjson, spiffs. NodeMCU包含了可以運行在 esp8266 Wi-Fi SoC晶片之上的固件,以及基於ESP-12模組的硬體。
  • 實現零代碼開發還需要多長時間
    現在很多的企業都通過SaaS公司購買企業管理軟體,這種通過SaaS公司獲得管理軟體的方式使企業付出了很多的代價,並且這種通用型的管理軟體並不能滿足企業的所有功能需求,所以現在很多企業管理者都非常期待零代碼開發平臺,想要通過零代碼開發平臺來擺脫對SaaS公司的依賴。
  • 基於樹莓派的ARM離線燒錄器
    基於樹莓派的ARM離線燒錄器1.前言    做電子開發的小夥伴,離不開給微控制器燒錄軟體的工作。
  • 物聯網之——基於塗鴉esp8266_sdk開發環境搭建(二)
    好了,開始我們的主題吧,let『s go~開發環境搭建首先說明的是,我們本次是基於塗鴉的一款wifi模組:TYWE1S(因為之前項目還有剩餘幾塊晶片,大家可以自行選擇或者其他模組), 這塊模組其本質是esp8266~, 相信很多小夥伴再熟悉不過了,是不是倍感親切~
  • 神比喻:低代碼開發像自動駕駛汽車,零代碼開發像無人駕駛汽車!
    J2PaaS開發平臺是一款相當簡單的低代碼開發平臺+免編碼開發平臺,開發流程優化的非常簡單,一個工作流程簡單幾個步驟——流程命名、拖拽參數式開發、可視化流程設計。即使在沒有編程基礎的情況下也能開發簡單的輕應用,經過基礎的參數模塊掌握就能夠開發出類似ERP、CRM、BOM、OA、WMS、MES等企業業務系統。 5秒時間,在模板頁面領取應用模板,開箱即用!
  • stm32程序燒錄方式匯總
    在彈出的 Options for target Debug 選項,在其右上方的下拉框中選擇 ULink/ME Cortex 即是選擇了 ULink 進行程序燒錄。 ,在彈出的 for target 選項卡中選擇 Debug 選項,在其右上方的下拉框中選擇即是選擇了 JLink 進行程序燒錄。
  • 淺談零代碼開發平臺——從雀書無代碼應用(下)
    為什麼企業信息化領域可以實現零代碼開發企業軟體可以模塊化開發的原因在於企業管理應用都由非常類似的需求和實現方式來構成在不遠的將來,大部分的企業應用將來都會依賴零代碼開發平臺,零代碼開發平臺也並不會刻意的表明零代碼開發的方式,因為這將成為理所當然的事情。就像今天為了滿足一個通用需求,大多數企業不會去定製開發,而是直接選擇一個標準化產品。以後,為了滿足某一項場景需求,企業會直接尋找一款零代碼開發產品,快速的搭建,部署並應用。
  • 從雀書無代碼應用——淺談零代碼開發平臺(上)
    好像一夜之間,很多原來默默發展的零代碼低代碼平臺,如雨後春筍,倏地一下全都冒出來了。在使用者方面,企業也在進行數位化轉型過程中,越來越趨向選擇這類可快速搭建應用的開發工具,而不是固化的標準化套件產品。 前面的文章有提過,零代碼並不是一個全新的概念。但是,隨著網際網路技術和雲計算、雲服務市場的普及,零代碼開發平臺逐漸在企業服務領域重現,並慢慢受到企業信息化管理者的重視。
  • stm32怎麼燒錄程序
    ,在彈出的Options for target 選項卡中選擇Debug選項,在其右上方的下拉框中選擇ULink/ME Cortex Debugger 即是選擇了ULink進行程序燒錄。,在彈出的Options for target 選項卡中選擇Debug選項,在其右上方的下拉框中選擇JLink/J-TRACE Cortex 即是選擇了JLink進行程序燒錄。
  • 魔方網表,零代碼開發平臺,讓你的excel秒變資料庫系統
    ,要實現一個商業邏輯或開發一個應用都完全不需要寫代碼。這類零代碼開發平臺的出現確實為解決Excel的問題提供了新的思路。這類零代碼開發平臺中有款產品堪稱此類產品的典型代表,他就是魔方網表:,也是這類零代碼開發平臺的領軍者。