縱論物聯網(六):基於Linux的物聯網作業系統

weixin_42480782發表於2018-06-18

導語

提到物聯網作業系統,就不能不提Linux,因為Linux可能是目前在物聯網裝置中應用最廣的作業系統了。前面的文章剛剛介紹了不少非Linux類的物聯網作業系統,本文就來介紹一下目前常用的基於Linux的物聯網作業系統。

在傳統Linux核心基礎上,經過裁剪,就可以移植到嵌入式系統上執行。不過,還有很多開源組織和商業公司對Linux進行了一番改造,使其更符合嵌入式系統或物聯網應用的需求,比如改為實時作業系統。

縱論物聯網(六):基於Linux的物聯網作業系統

RTLinux

RTLinux(Real-Time Linux)是Linux中的一種實時作業系統。它由新墨西哥礦業及科技學院的V. Yodaiken開發。現在已被WindRiver公司(大名鼎鼎的嵌入式作業系統VxWorks就是這家公司的產品)收購。

RT-Linux開發者並沒有針對實時作業系統的特性而重寫Linux的核心,因為這樣做的工作量非常大,而且要保證相容性也非常困難。RTLinux是將Linux的核心程式碼做了一些修改,將Linux本身的任務以及Linux核心作為優先順序很低的任務,而實時任務作為優先順序最高的任務。

uClinux

uClinux(www.uclinux.org)表示micro-control linux,即“微控制器領域中的Linux系統”,是Lineo公司的主打產品,同時也是開放原始碼的嵌入式Linux的典範之作。

uCLinux主要是針對目標處理器沒有儲存管理單元MMU(Memory Management Unit)的嵌入式系統而設計的。它已經被成功地移植到了很多平臺上。由於沒有MMU,在uCLinux上實現多工需要一定的技巧。

Brillo

縱論物聯網(六):基於Linux的物聯網作業系統

谷歌提出了Project IoT物聯網計劃,併發布了Brillo作業系統。Brillo是一個物聯網底層作業系統。

Brillo是源於Android,是對Android底層的一個細化,得到了Android的全部支援,比如藍芽、Wifi等技術,並且能耗很低,安全性很高,任何裝置製造商都可以直接使用。

LiteOS

2015年5月在華為網路大會上,華為釋出了敏捷網路3.0,主要包括最輕量級的物聯網作業系統LiteOS、敏捷物聯閘道器、敏捷控制器三部分。其中LiteOS聲稱可以作為只有10KB大小的核心來部署。

在華為的官方網站(www.huawei.com/minisite/liteos/cn/)上,可以瞭解到更多關於LiteOS的資訊。

OpenWrt

縱論物聯網(六):基於Linux的物聯網作業系統

很多智慧路由器都基於OpenWrt的衍生版本開發而成

輕量級OpenWrt(www.openwrt.org.cn)是一個基於Linux的作業系統,市場上很多智慧路由器韌體都是基於OpenWrt及其衍生版本的。OpenWrt包括很多衍生版本,這些衍生版本還有很多分支版本。

LEDE(lede-project.org)。LEDE全稱是Linux嵌入式開發環境(Linux Embedded Development Environment)專案,LEDE就是一個基於OpenWrt的OS。其他衍生版本還有DD-Wrt,以及面向Arduino的Linino,等等。

Ostro Linux

Ostro™ OS is a Linux* distribution optimized for the development of connected and embedded devices. In fact, Ostro Project is designed specifically to support IoT device development. It integrates connectivity and networking, device-to-device interconnectivity standards, pre-configured sensors, and over-the-air update capabilities.

Ostro(ostroproject.org)是一套基於Linux並且為物聯網智慧裝置特別量身訂做的開源作業系統,支援藍芽、WiFi和NFC等等的連線方式,並且支援多種如IoTivity的裝置對裝置互聯互通標準。

提到Ostro,不得不再說一下Linux基金會的Yocto Project。Yocto不是一款Linux發行版,而是一個開源協作專案,為開發人員提供構建自定義嵌入式堆疊的模組、工具和方法。Yocto Project構成了大多數商用嵌入式Linux發行版的基礎,比如Ostro Linux、Qt for Device Creation都是基於這個專案。

其他Linux物聯網專案

(1)Raspbian

縱論物聯網(六):基於Linux的物聯網作業系統

Raspbian成為樹莓派愛好者的最佳選擇

Raspbian是一個專門面向樹莓派(Raspberry Pi)計算機的Linux發行版,基礎是Debian作業系統。兩位志願者針對樹莓派硬體對Debian進行了專門的優化和移植。而Raspbian不僅僅是一個OS,它附帶著35000個軟體包以及預編譯的軟體。

(2)Snappy Ubuntu Core

Ubuntu希望繼續讓Linux成為讓物聯網更智慧和可擴充套件的核心。Snappy Ubuntu Core是面向智慧裝置的最新平臺,其承諾可以執行儲存在本地或依賴於雲端的相同軟體。

(3)Tizen

Linux基金會託管的這個嵌入式Linux專案主要得到了三星的支援。Tizen廣泛用於三星的電視和智慧手錶中,包括新的Gear S3,也零星地實施在三星的相機和消費級裝置中。

結語

在Linux系統基礎上發展起來的面向物聯網應用的專案非常多,Linux的碎片化程度也挺嚴重。至於哪個版本的Linux會成為主流,取決於應用場景、文件及開發資源支援和整個開發者生態的建立。在移動網際網路時代,基於Linux的Android系統和網際網路應用大放異彩;在物聯網時代,Linux仍然會發揮著巨大作用。

相關文章