■文/何小慶
物聯(lián)網(wǎng)操作系統(tǒng)是目前IT界的熱門詞匯。那么,對于物聯(lián)網(wǎng)操作系統(tǒng),你了解多少呢?
2018年全球人口75億,智能手機保有量大約是30億部。愛立信公司的物聯(lián)網(wǎng)研究報告指出,2018年物聯(lián)網(wǎng)設(shè)備的數(shù)量首次超過智能手機,到2021年物聯(lián)網(wǎng)設(shè)備將超過290億臺。在全球物聯(lián)網(wǎng)設(shè)備無線連接方法中,蜂窩物聯(lián)網(wǎng)裝置依然遙遙領(lǐng)先。最近兩年,低功耗廣域(LPWA)的物聯(lián)網(wǎng)裝置出貨量增長迅速,如NB-IoT和LoRa。物聯(lián)網(wǎng)應(yīng)用繁花似錦,此消彼長。從最初智能硬件、共享單車到今天智慧城市、智能制造和新零售,萬物互聯(lián)已經(jīng)無處不在。面對增長迅速、應(yīng)用碎片化的物聯(lián)網(wǎng)系統(tǒng),業(yè)界一直在思考一個問題:PC時代有Windows操作系統(tǒng)、移動互聯(lián)網(wǎng)時代有安卓(Android)和iOS操作系統(tǒng),為什么物聯(lián)網(wǎng)時代沒有應(yīng)用范圍廣的物聯(lián)網(wǎng)操作系統(tǒng)呢?
物聯(lián)網(wǎng)操作系統(tǒng)(Operating System for Internet of Things,IoT OS),是一種在嵌入式實時操作系統(tǒng)基礎(chǔ)上發(fā)展出來的、面向物聯(lián)網(wǎng)技術(shù)架構(gòu)和應(yīng)用場景的軟件平臺。IoT OS目前沒有嚴格的定義,體系架構(gòu)和功能各有不同,種類也比較多。例如,ARM Mbed在微控制器(MCU)運行,Android Things在嵌入式處理器上運行,ThreadX的X-WARE由傳統(tǒng)的RTOS改進而成。
IoT OS的起源從兩個傳感網(wǎng)的操作系統(tǒng)開始:一個是TinyOS,它是美國加利福尼亞州大學(xué)伯克利分校的一個項目;另一個是瑞典工學(xué)院的Contiki項目,由亞當(dāng)·鄧克爾斯(Adam Dunkels)及其團隊開發(fā)。鄧克爾斯在TCP/IP網(wǎng)絡(luò)協(xié)議方面是一位著名專家。Contiki項目完全采用C語言開發(fā),可移植性非常好,能夠運行在各種類型的單片機和微處理器上。2010年,歐洲有一個面向物聯(lián)網(wǎng)的開源項目——RIOT,RIOT在技術(shù)架構(gòu)上與現(xiàn)在IoT OS非常接近。這3個操作系統(tǒng)都是開源軟件,它們對今天的IoT OS產(chǎn)生了深遠的影響。
最早的IoT OS開始于2014年,其中最具有標志性的是ARM Mbed OS。同年,上海慶科公司發(fā)布了MiCO OS。2015年,華為公司發(fā)布了Lite OS。2015年,谷歌公司宣布IoT OS Brillo OS改名為Android Things。2016年,Linux 基金會推出Zephry,它是一個針對資源受限環(huán)境開源的實時操作系統(tǒng)(RTOS),在安全架構(gòu)和技術(shù)上有一定特色。2017年,阿里巴巴集團發(fā)布 AliOS Things。
2017年底,亞馬遜公司發(fā)布Amazon FreeRTOS。借助Amazon FreeRTOS在嵌入式系統(tǒng)的影響力,亞馬遜公司擴展其在物聯(lián)網(wǎng)系統(tǒng)中的市場地位。Amazon FreeRTOS結(jié)合AWS IoT云和邊緣計算Greengrass技術(shù),為開發(fā)者提供一站式解決方案。
2018年,ARM公司推出Arm Pelion IoT Platform,繼亞馬遜公司之后提供端到端IoT安全解決方案。
微軟公司在物聯(lián)網(wǎng)設(shè)備端布置Azure Sphere OS,可以運行在單片機上。在邊緣側(cè),微軟公司有Azure IoT Edge,它可以在Linux和Windows系統(tǒng)上運行。在云端,微軟公司有Auzre IoT Stack,它負責(zé)對物聯(lián)網(wǎng)設(shè)備進行安全管理和維護。2019年4月,微軟公司收購了嵌入式系統(tǒng)公司Express Logic公司,將其ThreadX RTOS部署在其物聯(lián)網(wǎng)那個解決方案的端側(cè)。ThreadX是嵌入式系統(tǒng)中頗具影響力的商業(yè)RTOS,有大量成熟的應(yīng)用。
無論是學(xué)術(shù)界還是產(chǎn)業(yè)界,都還沒有對IoT OS給出一個統(tǒng)一的定義。阿里巴巴集團把AliOS Things稱為面向IoT領(lǐng)域的物聯(lián)網(wǎng)輕量級嵌入式操作系統(tǒng)。亞馬遜公司稱Amazon FreeRTOS是針對單片機的物聯(lián)網(wǎng)操作系統(tǒng)。ARM公司稱Mbed OS是物聯(lián)網(wǎng)系統(tǒng)中針對“物”的免費和開源的嵌入式操作系統(tǒng)。
縱觀IoT OS技術(shù)發(fā)展,IoT OS可以歸納有五大技術(shù)特征。
一是管理物的能力。這里的“物”指物聯(lián)網(wǎng)邊緣節(jié)點上的嵌入式實時低功耗設(shè)備。
二是泛在的通信功能,即支持各種無線和有線、近場和遠距離的通信方式以及協(xié)議,如藍牙、Wi-Fi、Zigbee、NB-IoT、LoRa和NFC等通信技術(shù)。
三是物聯(lián)網(wǎng)設(shè)備的可維護性,即支持設(shè)備的安全動態(tài)升級(OTA)和遠程維護。
四是物聯(lián)網(wǎng)安全。這是一個廣泛的概念,包含設(shè)備、通信和云安全,具備防御外部安全入侵和篡改能力。
五是物聯(lián)網(wǎng)云平臺。通過物聯(lián)網(wǎng)云平臺完成遠程設(shè)備管理、數(shù)據(jù)存儲和分析、安全控制和業(yè)務(wù)支撐,這是物聯(lián)網(wǎng)大數(shù)據(jù)和人工智能的基礎(chǔ)。
綜上所述,IoT OS是一種面向“物”的通信和管理平臺,物聯(lián)網(wǎng)操作系統(tǒng)有3個重要部分:嵌入式實時操作系統(tǒng)、物聯(lián)網(wǎng)的通信協(xié)議和物聯(lián)網(wǎng)云平臺。
Huawei LiteOS是面向物聯(lián)網(wǎng)領(lǐng)域輕量級物聯(lián)網(wǎng)操作系統(tǒng),它的內(nèi)核分為兩個層次:第一層是基礎(chǔ)內(nèi)核;第二層是擴展內(nèi)核,源代碼是開源的。
Huawei LiteOS提供端云協(xié)同能力,集成LwM2M、CoAP、Mbed TLS、LwIP等全套 IoT協(xié)議棧,用戶只需關(guān)注自身的應(yīng)用,直接使用LiteOS SDK端云互通組件封裝的API,通過幾個步驟就能簡單快速地實現(xiàn)與云平臺安全可靠連接。端云解決方案針對NB-IOT 應(yīng)用場景的應(yīng)用是現(xiàn)階段Huawei LiteOS的優(yōu)勢之一。
Amazon FreeRTOS是一款適用于微控制器的操作系統(tǒng)。通過軟件庫對FreeRTOS內(nèi)核進行擴展,可以輕松地將小型低功耗設(shè)備安全連接到AWS IoT Core等AWS云服務(wù)或運行AWS IoT Greengrass的功能更強大的邊緣設(shè)備。Amazon FreeRTOS具有輕松編程、部署和管理低功耗互聯(lián)設(shè)備,廣泛的硬件和技術(shù)生態(tài)系統(tǒng)等優(yōu)勢。
RT-Thread是一個集RTOS內(nèi)核、中間件組件和開發(fā)者社區(qū)于一體的技術(shù)平臺,由熊譜翔先生帶領(lǐng)并集合開源社區(qū)力量開發(fā)而成。同時,RT-Thread也是一個組件完整豐富、高度可伸縮、簡易開發(fā)、超低功耗、高安全性的物聯(lián)網(wǎng)操作系統(tǒng)。RT-Thread的優(yōu)勢為具備一個IoT OS平臺所需的所有關(guān)鍵組件,如GUI、網(wǎng)絡(luò)協(xié)議棧、安全傳輸、低功耗組件等;擁有良好的軟件生態(tài),支持市面上所有主流的編譯工具,如GCC、Keil、IAR等;支持各類標準接口,如POSIX、CMSIS、C++應(yīng)用環(huán)境、Javascript執(zhí)行環(huán)境等,方便開發(fā)者移植各類應(yīng)用程序。
我們可以看出,上述3種IoT OS具備物聯(lián)網(wǎng)系統(tǒng)開發(fā)所需要的基本功能,可以滿足多數(shù)物聯(lián)網(wǎng)邊緣節(jié)點項目開發(fā)需求。相對HUAWEI LiteOS 和RTThread,Amazon FreeRTOS無論在功能上、產(chǎn)品成熟度和支持硬件架構(gòu)上有優(yōu)勢。Huawei LiteOS 提供NB-IoT端云解決方案,為基于NB網(wǎng)絡(luò)物聯(lián)網(wǎng)產(chǎn)品開發(fā)提供極大便利性。RT-Thread的特長是開發(fā)者多,開源社區(qū)在中國很活躍。
隨著人工智能的發(fā)展,邊緣計算是IoT OS發(fā)展的一個關(guān)注點。2017年ARM公司推出了Mbed Edge,與ARM Mbed Cloud和Mbed OS組成邊緣計算的IoT方案。2019年,華為公司發(fā)布智能邊緣平臺IEF,推出開源KubeEdge項目,重點針對平安監(jiān)控等需要邊緣智能的應(yīng)用場景。微軟公司有Azure IoT Edge與Windows/Linux 和Sphere OS配合。亞馬遜公司在邊緣計算一直走在前列,Amazon FreeRTOS第一個版本就有邊緣計算Greengrass應(yīng)用案例。未來的研究重點是什么?筆者認為,重點將是云端人工智能技術(shù)如何透過邊緣計算與設(shè)備節(jié)點的IoT OS結(jié)合起來。目前,這些設(shè)備節(jié)點多是運行在單片機的RTOS或者IoT OS上,無法支持大型的Linux OS和容器技術(shù)。
物聯(lián)網(wǎng)安全是IoT OS發(fā)展的另外一個熱點,許多IoT OS集成了Mbed TLS。TLS是一種在互聯(lián)網(wǎng)上實現(xiàn)加密通信的安全協(xié)議,Mbed TLS是ARM公司的一個開源版本。許多物聯(lián)網(wǎng)云具備密鑰管理和數(shù)字證書功能,多數(shù)IoT OS支持安全的空中下載技術(shù)(Over-the-Air Technology,OTA)機制。物聯(lián)網(wǎng)安全是一個復(fù)雜的技術(shù)和系統(tǒng)工程,需要產(chǎn)業(yè)鏈的通力合作,需要芯片和云端合作提供一套完整解決方案。IoT OS是物聯(lián)網(wǎng)安全實施和發(fā)展的一個很好的平臺。
2014年ARM Mbed OS發(fā)布到今天已經(jīng)5年時間了,市場有十余種開源的IoT OS,還有一些商業(yè)IoT OS,更準確地說是支持IoT應(yīng)用的商業(yè)嵌入式OS。在一個新的物聯(lián)網(wǎng)項目啟動的時候,開發(fā)者通過芯片公司生態(tài)系統(tǒng)能很方便接觸到1~2種支持IoT OS的開發(fā)板,比如STM32 Discovery kit IOT node,就實現(xiàn)Amazon FreeRTOS和AliOS Things。新的物聯(lián)網(wǎng)應(yīng)用已經(jīng)看到IoT OS的身影,比如NB-IoT項目,如果開發(fā)者采用OPENCPU模塊,SDK里面就包含了Huawei LiteOS。 ARM和研華公司也展示過國外的Mbed OS應(yīng)用,如可穿戴設(shè)備和工業(yè)物聯(lián)網(wǎng)場景。
IoT OS更趨向是一種集成技術(shù),將已經(jīng)成熟的操作系統(tǒng)、通信和云計算技術(shù)集成到從傳感器到云的物聯(lián)網(wǎng)場景中。IoT OS不只是提供CPU資源管理和應(yīng)用編程接口(API)傳統(tǒng)意義的操作系統(tǒng),IoT OS也無法只布置設(shè)備端,它需要端云聯(lián)動。IoT OS一直由產(chǎn)業(yè)界在推動其發(fā)展,產(chǎn)業(yè)界在尋找可以解決物聯(lián)網(wǎng)開發(fā)過于繁瑣、開發(fā)團隊顧此失彼而延誤開發(fā)周期的問題,總之是希望為物聯(lián)網(wǎng)生態(tài)系統(tǒng)打造一個類似智能手機的Android OS生態(tài)環(huán)境。
IoT OS的愿景是美好的,目前還處在發(fā)展之中。例如,ARM Mbed OS從2017年初5.6版本以后加快更新的周期,大約每3個月有1個新版本出來,到現(xiàn)在已經(jīng)是5.12版本。再如,Amazon FreeRTOS自2017年底發(fā)布1.0版本之后到2018年7月,不到1年時間就有1.1、1.2和1.3三個主要版本。筆者預(yù)計還會有新的IoT OS出現(xiàn),以解決物聯(lián)網(wǎng)發(fā)展和應(yīng)用中出現(xiàn)的新問題,同時,期待著未來有更好的IoT OS技術(shù)和產(chǎn)品呈現(xiàn)給產(chǎn)業(yè),迎接萬物互聯(lián)、萬物智能的時代。