Toradex胡珊逢
Torizon是Toradex面向行業(yè)應(yīng)用推出的一款基于Linux的全新的開源操作系統(tǒng)。其旨在簡化嵌入式系統(tǒng)開發(fā)的難度,同時引入現(xiàn)代軟件開發(fā)、維護(hù)理念,提供更加可靠且易于使用的互聯(lián)、在線功能。Torizon為嵌入式設(shè)備實現(xiàn)了一套嶄新的開發(fā)和使用方法。本文接下來將介紹Torizon的特色功能,以及相比于傳統(tǒng)的Linux系統(tǒng)在使用上的差異。
Torizon由TorizonCore OS和Torizon Platform兩大部分組成。TorizonCore OS是安裝在Toradex計算機(jī)模塊上的操作系統(tǒng)。Torizon Platform是Toradex維護(hù)的在線平臺,其能夠于TorizonCore OS建立網(wǎng)絡(luò)連接,為運(yùn)行 TorizonCore OS的計算機(jī)模塊提供諸多在線功能,例如OTA更新、集群設(shè)備管理、遠(yuǎn)程監(jiān)控等。
TorizonCore OS底層采用了Linux,支持常用的Linux命令工具。該系統(tǒng)一個顯著特點(diǎn)是支持容器docker。如下圖所示,TorizonCore包含了Linux內(nèi)核、容器運(yùn)行環(huán)境、以及OTA等其他服務(wù)。用戶的應(yīng)用運(yùn)行在容器之中,而非直接訪問Linux文件系統(tǒng)。多個容器可以獨(dú)立運(yùn)行。
容器是一種標(biāo)準(zhǔn)化的軟件單元。一個容器集合了用戶應(yīng)用本身,以及該應(yīng)用運(yùn)行所依賴的軟件如第三方庫文件,配置文件和數(shù)據(jù)文件等。容器中的軟件獨(dú)立于操作系統(tǒng),可以視為操作系統(tǒng)的虛擬化。因此容器可以非常容易地遷移到其他硬件平臺上。
對Docker容器的支持,使得用戶可以利用DockerHub上豐富的現(xiàn)成容器,例如Qt、Debian、Ubuntu、.Net、Python等。從而不再需要進(jìn)行復(fù)雜的交叉編譯。同時容器技術(shù)具有非常高效的版本管理功能,用戶應(yīng)用的升級和回滾都可以從中受益。例如在傳統(tǒng)Linux BSP上從Qt 5.12升級到Qt5.15,用戶需要重新編譯Qt源碼或者使用YoctoProject重構(gòu)整個BSP。而在TorizonCore OS上下載一個Qt5.15的容器即可。也無需擔(dān)心操作系統(tǒng)其他軟件的版本是否兼容。
由于采用了容器的方式運(yùn)行用戶軟件,TorizonCore OS本身一個非常精簡的最小功能系統(tǒng)。用戶不在其上面直接安裝軟件或者部署編譯好的應(yīng)用。除了系統(tǒng)配置目錄如/etc,TorizonCore OS的大部分文件系統(tǒng)都不允許用戶直接修改,如/usr、/lib 等目錄下的文件。
用戶需要創(chuàng)建一個容器,在容器安裝所需的軟件以及編譯好的應(yīng)用程序。然后啟動容器,由容器中的應(yīng)用程序?qū)崿F(xiàn)相關(guān)業(yè)務(wù)功能。TorizonCore OS的文件系統(tǒng)由OSTree管理。這是一種類似git工作模式的文件管理系統(tǒng),由其實現(xiàn)對每個系統(tǒng)文件的添加、刪除、恢復(fù)等功能。同時OSTree也是實現(xiàn)OTA更新的基礎(chǔ)。
傳統(tǒng)的嵌入式設(shè)備在第一批設(shè)備出廠后,通常軟件和硬件都不再會發(fā)生變化。而對于現(xiàn)代軟件開發(fā)來說,借助CI(持續(xù)集成)、CD(持續(xù)開發(fā))等模式,即使在設(shè)備交付后,仍能夠提供軟件更新,修復(fù)未知的問題或者增加新功能,從而提升用戶使用體驗。位于云端的Torizon Platform則為TorizonCore OS提供OTA更新、集群設(shè)備管理和遠(yuǎn)程監(jiān)控功能,更多實用的功能也會即將上線。
OTA更新允許嵌入式設(shè)備遠(yuǎn)程更新其軟件,無需直接接觸設(shè)備就通過更新軟件修復(fù)問題、部署新業(yè)務(wù)或者打補(bǔ)丁。具有OTA功能的設(shè)備通常對該功能具有較高的要求。更新出錯、網(wǎng)絡(luò)中斷或者更新期間意外斷電都可能導(dǎo)致設(shè)備無法正常工作。所以O(shè)TA需要能夠在更新出錯時能夠自動回滾到最后一個可正常運(yùn)行的軟件狀態(tài)。Torizon OTA采用高可靠的Aktualizr客戶端,默認(rèn)已經(jīng)集成在TorizonCore OS。憑借OSTree實現(xiàn)了軟件版本回滾功能。相對于A/B分區(qū)整體更新方式,Torizon OTA采用的是差分更新,即只更新發(fā)生更改的文件。有效得提高了更新速度,并減少數(shù)據(jù)下載量。這對使用4G/5G上網(wǎng)的設(shè)備顯得尤為重要。
用戶可以將自己的BSP上傳到Torizon Platform對特定的設(shè)備進(jìn)行更新,也可以使用Toradex發(fā)布的BSP令設(shè)備保持最新的軟件狀態(tài)。同時也單獨(dú)可以對設(shè)備上的容器進(jìn)行更新,而非整個BSP。
Torizon Platform的集群設(shè)備管理能夠更加高效地對大量設(shè)備進(jìn)行維護(hù)。實現(xiàn)批量設(shè)備的重啟、安裝特定的更新等。
遠(yuǎn)程監(jiān)控能夠遠(yuǎn)程查看設(shè)備的運(yùn)行狀態(tài),例如CPU負(fù)荷、內(nèi)存占用、網(wǎng)絡(luò)使用、正在運(yùn)行進(jìn)程和重要的異常日志等。這些信息可以被發(fā)送到Torizon Platform,給用戶提供可視化監(jiān)控數(shù)據(jù)。遠(yuǎn)程監(jiān)控基于Fluent Bit實現(xiàn)。這是一個開源的日志處理和轉(zhuǎn)發(fā)器。用戶可以使用豐富的插件來采集更多的數(shù)據(jù),包括溫度、內(nèi)核日志等。除了監(jiān)控設(shè)備運(yùn)行狀態(tài)外,這些數(shù)據(jù)也有助于修復(fù)現(xiàn)場遇到的問題。
遠(yuǎn)程訪問是即將上線的另一個功能。這可以令您接管設(shè)備,簡化客戶支持或者問題排查。
對于開發(fā)人員,Toradex提供相應(yīng)的插件支持使用Visual Studio/Visual Studio Code開發(fā)Torizon。用戶可以自由選擇Windows、Linux或者M(jìn)ac作為開發(fā)主機(jī)。Torizon擴(kuò)展插件提供對Visual Studio Code完善的支持。擴(kuò)展插件可以便捷地管理容器和在設(shè)備上在線調(diào)試,使您可以通過很少的幾次點(diǎn)擊就完成從Visual Studio Code完成應(yīng)用部署。甚至直接將開發(fā)好的容器上傳到Torizon Platform進(jìn)行遠(yuǎn)程部署。
Visual Studio/Visual Studio Code中我們也提供包括C/C++、Python、.NET Core甚至是Qt開發(fā)的工程模板。令用戶在嵌入式設(shè)備上方便地使用主流開發(fā)語言。
審核編輯:黃飛
-
Linux
+關(guān)注
關(guān)注
87文章
11320瀏覽量
209846 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6850瀏覽量
123432 -
嵌入式設(shè)備
+關(guān)注
關(guān)注
0文章
110瀏覽量
16981 -
Docker
+關(guān)注
關(guān)注
0文章
478瀏覽量
11874
發(fā)布評論請先 登錄
相關(guān)推薦
評論