最近時間稍微空閒,整理下雲屏整機裝置的OTA流程及方案。之前開發時有過定義/設計,這裡稍微整理總結下
整機軟體有很多模組,系統及外設韌體、Windows服務、Windows應用,比如系統點屏9969、攝像頭韌體、觸控框韌體、顯示卡驅動、Windows一些自研服務(用於通訊以及系統修復等)、全家桶應用(白板、分屏、傳屏等)
整機,因為硬體設計不同也區分不同整機型別比如8K、4K,紅外屏、電容屏,新的點屏方案EDP等,需要根據整機迭代搭配相應的配套整機軟體。
整機也有定製專案,會議市場就是2B行業,客戶在軟體上有一些定製需求很正常,配套軟體需要與公版軟體區分、單獨管理。
整機裝置與單純的應用軟體升級不同,它是對裝置系統軟體的迭代,跟隨裝置走。所以不同機型、不同定製專案都需要有一套獨立的OTA升級路徑。
整機軟體,透過Windows應用軟體即全家桶為入口來完成配套軟體的升級。下面詳細介紹下升級流程
OTA升級策略
在OTA管理前端,上傳整機軟體升級檔案如H3C_Full.ota檔案。不同的整機迭代以及定製專案,都有一個單獨的整機ID作為標識
使用者升級
使用者升級,即使用者能感知、有使用者互動的升級方式。目前整合在全家桶內Setting應用升級模組中,使用者可以操作。在前端選擇升級策略-使用者升級,然後使用者在客戶端Setting進行升級。
使用者升級分倆塊:主動點選下載安裝升級,以及自動升級。
管理員升級
是用於解決使用者升級流程可能中斷的升級方式,一般由廠商自己操作、推送緊急或者致命版本
在管理後臺選擇升級策略-強制升級、靜默升級,然後大屏會啟動OTA.exe,會幫使用者進行默默升級,下次重啟大屏完成版本的切換。
設計這倆個升級策略是開發來主導的,我的考慮是使用者升級和管理員升級要獨立開來,倆套應用。
1.防止使用者升級搞壞了,還有管理員升級備用方案。升級功能很重要,應該把健壯性考慮進去
2.或者推送出去的版本,有致命問題。可以透過強制升級來讓使用者端快速升級新版本。
3.使用者端很久未主動升級至新版本,版本過於老舊,也可以透過靜默升級切換新版本
使用者Setting升級介面有個離線安裝模組,在Setting關於介面選擇本地OTA檔案,進行本地升級。
離線升級,支援所有的OTA檔案,即可以是整機軟體升級(H3C_Full.ota),也可以模組升級(全家桶、9969、韌體)、單獨升級某個模組。升級整機軟體,會修改整機軟體版本號,升級模組則只會變更模組版本號。
OTA檔案
這裡講下OTA檔案機率、結構以及檔案種類的定義
OTA檔案,只有一個來源Jenkins線上構建。可以用於線上升級,也可以給使用者進行離線
![](https://img2024.cnblogs.com/blog/685541/202407/685541-20240717161343261-1610397271.png)
以某個整機軟體為例,
這裡的.ota檔案,先有模組.ota檔案如攝像頭:
- 攝像頭.ota
- 麥克風.ota
- 觸控框.ota
- 白板.ota
然後組裝成組合升級檔案:
- 全家桶.ota -- 包含白板、批註、傳屏等,只升級windows應用
- H3C_Full.ota -- 整機全套軟體,升級後會變更整機版本號
每個模組升級檔案其實是個資料夾,檔案目錄內有個zip檔案,例如MagicFlueNote_0.2.1.3.zip名稱直觀顯示當前應用和版本資訊。目錄內再添個H3C_AppInfos項,用於存放OTA檔案的資訊,如詳細版本、加密等。
上面我們講了,不同機型不同定製專案都有相應的版本配套,整機軟體OTA包是對多個軟體模組的集合。但單個模組而言,攝像頭可能是相同的,攝像頭升級檔案在不同整機軟體OTA內可能一樣,這取決於整機軟體整體的硬體選型。
可以升級單個模組OTA檔案(臨時除錯模組問題、給客戶快速替換韌體等),也可以升級元件OTA檔案,比如整機軟體OTA。
OTA檔案支援所有升級策略,可以用於線上升級或者本地升級。具體策略,由FAE或者市場去操作
線上升級OTA管理頁面,根據上傳相應的ota檔案,解析出檔案裡面的模組。分別解析到對應模組後,填寫版本升級描述資訊,完成OTA上傳、推送。
整機專案升級
開頭說了整機機型以及定製專案,這些都需要獨立的配套軟體版本進行管理,以避免功能不匹配或者需求混亂。
之前有個8K機,因海外和國內的需求相差太大,功能裁剪比較多。海外單獨出了一個整機軟體配套,它的整機專案ID是H3C_Full_Oversea,對應的OTA升級軟體H3C_Full_Oversea.ota
整機軟體需要不同的配套來滿足不同軟硬體的整合
而單獨的模組比如全家桶白板應用,它對不同的整機型別就可以適配,只需要一個倉庫以及輸出版本就行了。
整機型別比如一代機、二代機,在相應的功能入口以機型進行區分。
所以整機配套軟體,對機型我們是內部相容,對專案需求是獨立管理程式碼分支以及版本。
值得一提的是,因為庫存或者裝置挪用,會從整機基線專案轉到客戶定製專案,軟體需求不同。這時候就需要軟體專案遷移了,可以在H3C_Full.ota新增舊整機專案ID以及新整機專案ID,完成遷移至指定整機專案版本的遷移,遷移後就走後續新ID的線上升級流程了。
傳統的硬體裝置軟體升級,適合用這個雲屏整機軟體升級方案