Particle Asset OTA 如何實現(xiàn)遠(yuǎn)程
問題
用粒子平臺部署更新到你的艦隊是很容易的。但是,當(dāng)您的產(chǎn)品包含其他組件(如ML模型、顯示器、協(xié)處理器、證書或圖像和聲音等媒體)時,遠(yuǎn)程管理更新就變得更具挑戰(zhàn)性。傳統(tǒng)的方法通常需要物理訪問,這可能耗時、昂貴,而且在規(guī)模上不切實際。
解決方案
粒子資產(chǎn)OTA使您能夠輕松遠(yuǎn)程更新這些額外的組件。告別現(xiàn)場維護(hù)和過時的版本。繼續(xù)讀下去,了解它是如何工作的!
什么是Particle Asset OTA?
Particle Asset OTA擴(kuò)展了Particle的OTA (Over-the-Air)更新的能力,而不僅僅是主要的Particle設(shè)備。受特斯拉的OTA功能等先進(jìn)系統(tǒng)的啟發(fā),它可以對產(chǎn)品中所有相互連接的組件進(jìn)行無縫更新。
在需要協(xié)調(diào)工作的多個處理器或子系統(tǒng)(如顯示器、協(xié)處理器或外部媒體)的系統(tǒng)中,保持所有內(nèi)容的更新可能是一個挑戰(zhàn)。資產(chǎn)OTA通過將這些組件的更新捆綁到一個協(xié)調(diào)的包(或捆綁包)中來簡化這一點(diǎn)。就像汽車中的中央處理器確保所有子組件運(yùn)行兼容的軟件版本一樣,Particle Asset OTA為不同的子系統(tǒng)提供了一束資產(chǎn)。
這是來自Particle首席執(zhí)行官Zach Supalla的精彩介紹。
為什么使用資產(chǎn)OTA與Nextion顯示?
假設(shè)您的產(chǎn)品包含Nextion顯示。一旦交付給客戶,更新或修復(fù)錯誤(在顯示器上)通常需要:
直接訪問,這既耗時又昂貴。
將存儲卡寄給客戶,并要求他們將其插入顯示器后部以應(yīng)用更新。
有了Particle堅如磐石的Asset OTA,你可以從云端發(fā)布更新,就像傳統(tǒng)的Particle OTA更新一樣——節(jié)省時間、精力、金錢,還有一點(diǎn)尷尬。
Asset OTA是如何工作的?
這一切都從Workbench項目中的固件開始:
組織您的資產(chǎn):在您的項目中添加一個文件夾,其中包含您想要部署到產(chǎn)品中的資產(chǎn)或文件(例如,圖像,配置或二進(jìn)制文件-在我們的示例中,這將是Nextion二進(jìn)制文件)。
實現(xiàn)更新邏輯:添加檢查新資產(chǎn)的代碼,確保它們被發(fā)送到預(yù)期的組件。
編譯固件:當(dāng)您編譯項目時,它會生成一個包含捆綁資產(chǎn)的二進(jìn)制文件。
部署固件:通過粒子云釋放固件來刷新你的設(shè)備。
更新組件:一旦新固件在您的設(shè)備上運(yùn)行,它就會根據(jù)您的指示使用綁定的資產(chǎn)來更新組件。
一步一步:如何實現(xiàn)資產(chǎn)OTA
步驟1:準(zhǔn)備資產(chǎn)
首先準(zhǔn)備您想要更新的資產(chǎn)——在本例中,是用于Nextion顯示的.tft文件。為了簡單起見,我創(chuàng)建了一個背景顏色不同的Nextion文件。最初,顯示具有紫色背景,我們將使用Asset OTA將其更新為藍(lán)色。請記住,Asset OTA允許您更新Nextion顯示的所有方面,而不僅僅是背景。這包括字段、圖像、文本、變量等,使您可以遠(yuǎn)程完全控制顯示的內(nèi)容。
步驟2:為資產(chǎn)OTA準(zhǔn)備項目
在Particle Workbench中,打開項目的項目。屬性文件并添加或取消注釋以下行:
這一行指定了您的OTA資產(chǎn)的目錄。接下來,創(chuàng)建一個與src文件夾相同級別的assets文件夾,并將.tft文件放入該文件夾中。
當(dāng)你構(gòu)建你的項目時,你會在日志中注意到一個新的“CREATING BUNDLE”部分,表明你的資產(chǎn)正在被捆綁以進(jìn)行OTA部署:
步驟3:為資產(chǎn)OTA準(zhǔn)備固件
將此添加到您的固件:
解釋:STARTUP(System.onAssetOta(handleAssets))行;確保在啟動時調(diào)用handleAssets()函數(shù)。此函數(shù)遍歷OTA可用的所有資產(chǎn),如果找到“next”,則返回“next”。使用Nextion庫中的NexUpload啟動對Nextion顯示的更新。然后,顯示將自動使用新資源進(jìn)行更新。
步驟4:部署前進(jìn)行本地測試
在本地Flash代碼,體驗一下更新過程是如何無縫地工作的
第五步:通過粒子云發(fā)布固件
在本地成功測試固件后,是時候?qū)⑵渖蟼鞯侥漠a(chǎn)品并將其推廣到整個機(jī)隊了!
結(jié)論
這只是利用Asset OTA力量的一種方式。欲了解更多信息,請訪問Particle文檔。文檔中的例子包括:
?Arduino Uno Asset OTA
?LCD圖像資產(chǎn)OTA
?RP2040樹莓派資產(chǎn)OTA
?Sound Asset OTA
?STM32資產(chǎn)OTA
本文編譯自hackster.io