1. 程式人生 > >關於嵌入式裝置使用 Android 或者 Linux 的一些討論

關於嵌入式裝置使用 Android 或者 Linux 的一些討論

By Antmicro Catherine Labedzka and Michael Gielda

曾幾何時 “嵌入式 Linux” 這個詞被以懷疑的眼光看待。這個小型、低功耗、基於 Linux 並且具備軟體開源能力的裝置,如今已經發展成了一個產業;現在不是問“為什麼選擇 Linux 而是“為什麼不選擇 Linux”?

隨著嵌入式裝置的效能和圖形處理能力日益增強,以及支援圖形化介面的觸控裝置在眾多領域紮根,從小型控制面板到大型娛樂裝置,Android,曾經被當做純粹的消費級 OS,現在正在吸引越來越多的注意。

在本博文中,Toradex 的長期合作伙伴以及為使用者和 Toradex 模組的 Android 軟體和產品研發服務提供商,將會闡述兩個作業系統的異同。

這麼多年來,我們已經開發過許多軟體解決方案和完整的產品,無論是行業的還是消費類,執行 Linux 或者 Android,我們始終相信沒有永遠對的準則,哪一種作業系統更適合你的應用這取決於應用本身以及您裝置的預計生命週期。


TAQ (Toradex, Antmicro, Qt) 自平衡機器人:異構架構,Antmicro 在 Toradex Colibri i.MX7 模組上用 Linux 開發

對於絕大多數嵌入式應用,Linux 是正確的選擇。Linux 編譯系統,例如 Buildroot 和 OpenEmbedded,能夠建立定製化的 BSP,裁剪到任意的大小,並且提供豐富的應用和 SDK,從 gstreamer、Python 到 node.js 等。基於 OpenEmbedded/Yocto 的 Linux 是 Toradex 支援的預設發行版本,開發社群還提供多種開發語言環境和框架。現在的 GUI 可以使用 Qt、HTML5 來開發,以至於有點難於選擇。當你在編譯支援必要的軟體元件、更新方式和 API 的基本作業系統映象的時候,你可以有大量的選擇,當然,這個任務你也可以藉助服務提供商例如 Antmicro,並且在必要的時候,你也能夠在中途改變你的想法。

Android 則是為了符合標準,放棄了部分作業系統級別的自由:為了獲得這種作業系統帶來的好處,需要採用一套 Android 的方法來行事。於是,你可以得到統一的 GUI、Java 程式設計規範和熟悉的開發體驗(Android 智慧手機/消費裝置所帶來的結果)。這個在你的應用中將是至關重要的,特別是你的裝置中帶有觸控式螢幕,並且設計為給許多人使用。

例如,你已經擁有一個現成的智慧手機/平板應用,您的使用者也習慣了這個應用 - 無論這是一個智慧家居控制中心還是行動式行業測量裝置 - 您計劃開發一個專門的裝置來替代或者完善它們,Android 將是一個很好的選擇。無需重新從底層構建你的使用者介面,您可以節省大量的工作和使用者調查來優化 UI,使用者主要關心他們所見到的和互動的。您需要一個行業級 Android 映象(例如單應用鎖定、定製的品牌以及外設介面的抽象)來實現,但是相對於在 Linux 重新構建使用者體驗,這或許是更小的開支。

即使你沒有現成的應用,你也或許有自己的 Android 應用開發團隊(或者十分了解 Android 應用開發)他們可以為您開發 UI。藉助於更加廣泛的應用開發社群、大量的案例應用、標準化應用封包和模擬器,在 Android 中開發終端應用是相對容易的。由於標準的 API 可以清晰的分離 OS 和應用層(在 Android 中你可以使用不同的的 API 級別來表示相容性),這意味著你能夠重複利用現有的移動端應用,或者組建獨立的團隊,一個負責針對目標使用者測試和調整 UI,而嵌入式團隊則確保您需要的功能在 Android 得到支援。

選擇 Android,特別是包括大量、各種使用者群體的應用場景,將是很好的案例。這不僅包括典型的消費裝置如可穿戴裝置或者智慧家居 IoT,也有大量行業專業人員使用的企業裝置 - 從助理裝置到現場網路設施。即使不論了應用開發體驗,熟悉的使用者介面、手勢和互動,Android 也更勝 Linux。

正如上面提到的,Android - 儘管是基於 Linux 核心 - 由於其獨特的方式,包括相對複雜的編譯系統(和其巨大的 codebase 有關),以及需要在 OS 層匯出你核心的外掛才能使其在應用中工作。在硬體方面也有更多的要求,由於 Android 需要圖形加速和虛擬機器使用的記憶體,你基本無法在記憶體小於 512 MB 或者沒有 GPU 的裝置上執行新的 Android 版本。正如其他的選擇一樣,在嵌入式裝置中使用 Android 需要取決於其提供的優勢。

Antmicro 工業 Android 運行於 Toradex Apalis Tegra K1

Antmicro 已經幫助大量的客戶在基於 Toradex 平臺選擇正確的作業系統,針對 Toradex T30/i.MX6 和 TK1 模組提供 Android 5.1/6.0 演示映象和開發服務,加速產品上市。

如果您需要獲得您下一個款嵌入式裝置採購建議,Antmicro 很高興可能進一步幫助您。更多的資訊請聯絡 [email protected] ,或者訪問 www.antmicro.com .

[*] 你也可以使用 NDK 基於 C/C++ 和 C# 開發你的應用,使用 Qt 作為顯示框架或者利用 Cordova 或者 React Native 框架用 Javascript 開發移動應用 - 但是我們主要關注常見的開發場景。