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





