早在1982年,一群卡內基梅隆大學的學生開發出網絡可樂機,它可以告知冰箱里的存貨以及新放入的飲料是不是已經變冰,這臺機器被稱為第一個網絡家電。這群大學生沒想到自己的一番操作,成了物聯網的先驅。目前來看,“物聯網+”概念產生了很多新生代詞匯,比如智慧醫療、智慧城市、智慧工廠等。但是,不知道你有沒有聽說過“物聯網+操作系統”這種組合?
物聯網操作系統(簡稱物聯網OS)的誕生就是單純兩者的碰撞?顯然沒這么簡單,這件事得從科技發展角度來講。
中國軟件行業協會嵌入式系統分會副理事長何小慶的《嵌入式操作系統風云錄:歷史演進與物聯網未來》一書中提到了物聯網OS的產生背景:首先互聯網為物聯網系統搭建了無處不在的互聯管道,云計算和大數據的發展為物聯網數據處理和分析提供了技術支撐。在嵌入式設備端,32位MCU技術已經成熟,價格趨于與8位/16位MCU接近,其不僅在網關設備上使用,也在傳感和執行單元上普遍使用。在MCU市場里,ARM Cortex M系列的MCU占有最主要的份額。ARM完善的生態環境大大幫助了物聯網OS在內的嵌入式軟件的發展。
中國軟件行業協會嵌入式系統分會副理事長 何小慶
可以想象,設備端的小型化、低功耗、安全性的趨勢,通信協議之間的靈活轉換,應用層對云計算能力的要求,更加復雜的設備軟件,這些都成了物聯網操作系統被孕育出來的必要條件。
翻閱歷史,起初是美國加州大學伯克利分校的TinyOS和瑞士計算機科學學院網絡系統小組開發的Contiki,這兩款傳感器OS都是最早具備物聯網OS特征的存在。隨后的2010年,歐洲誕生了RIOT(實時多任務操作系統),不僅可以運行在小型MCU上,也支持MPU。
直到2014年2月,德國紐倫堡的嵌入式世界大會上,風河公司發布了其基于VxWorks 7的物聯網OS,隨后也在官網上給出了產品介紹和白皮書。微軟和風河這兩家操作系統系統大公司加入,使得物聯網OS呼之欲出。
技術角度來講,物聯網操作系統的內核技術與現在的嵌入式操作系統很接近,Arm、華為采用實時多任務操作系統,谷歌Android Thing的內核則從安卓系統中進行裁剪。何小慶老師在接受與非網記者采訪時表示:“物聯網操作系統并沒有做一個特別的內核,而是沿用了嵌入式操作系統中的技術, 目前可以將該技術分為兩種,一種是實時的,一種是通用型的。”
“物聯網”三個字勾起了資本的欲望,挑起了從芯片到終端廠商的戰爭,也點燃了物聯網操作系統戰場的戰火。國內外巨頭企業、本土的“小而美”企業紛紛拉到了一個舞臺上開始角逐。
戰火前的黎明
“現在物聯網操作系統的產品和應用都處于初期的探索和打磨階段,估計到2020年,有幾家公司產品的技術形態和商業模式已經受到產業界的認可。”這句話是何小慶老師對當下物聯網操作系統所處時代的一個判定。
那處于探索期的物聯網操作系統,各家都有怎樣的產品呢?
ARM mbedOS
2016年,Arm公司320億全資被軟銀收購,其物聯網操作系統Arm Mbed經過幾年的發展具有強大的生態系統支持,又因為Arm Cortex-M內核使用的巨大影響力,Arm Mbed操作系統的應用很容易在具體芯片上開發。
就在上個月,ARM收購了Stream Technologies,這是一家專注于幫助企業優化其物聯網設備通信方式的軟件提供商。ARM物聯網云服務部門負責人Hima Mukkamala在博客文章中詳細介紹了ARM對該工具套件的一些愿景設想。他寫道,收購Stream旨在創建一個“端到端的物聯網平臺,用于管理、連接、配置和更新設備”。這個一站式商店的價值定位,很大程度上是源于Stream軟件幾乎可以兼容所有類型的物聯網系統,以及很多不同類型的網絡。
在安全性方面,Arm也頗為重視。推出了PSA安全構架其基于現有的安全技術,如芯片、軟件做系統化整理,會形成不同的安全級別;整理出有效的安全實踐,加入PSA指導意見中,形成IO級安全指導。
說到不足,何老師用“使用復雜”幾個簡言概括。其實Arm Mbed的發展并不是特別順利,初期到現在經歷了一些變化,比如開始內核并不提供實時性。但目前也有一些平臺在用,比如研華。
Huawei LiteOS
在Huawei LiteOS官方首頁“招聘”兩個字顯得格外引人注目,官網資料也給出了LiteOS的發展歷程(如下圖)。 2015年5月20日,在2015華為網絡大會上,華為發布了敏捷網絡3.0,主要包括最輕量級的物聯網操作系統LiteOS、敏捷物聯網關、敏捷控制器三部分。華為戰略Marketing總裁徐文偉介紹:“LiteOS體積只有10KB級,而且實行開源,使智能硬件開發變得更加簡單。”
官方資料顯示,Huawei LiteOS自開源社區發布以來,圍繞NB-IoT物聯網市場從技術、生態、解決方案、商用支持等多維度使能合作伙伴,構建開源的物聯網生態,目前已經聚合了30+ MCU和解決方案合作伙伴,共同推出一批開源開發套件和行業解決方案,幫助眾多行業客戶快速的推出物聯網終端和服務,客戶涵蓋抄表、停車、路燈、環保、共享單車、物流等眾多行業,加速物聯網產業發展和行業數字化轉型。
NB-IoT技術是華為最早推進的聯網技術,華為圍繞該技術打造生態似乎如魚得水。據今年1月份一篇來源《通信世界》的文章顯示,Huawei LiteOS已支持華為內部產品累計出貨量超過5000萬臺。2016年第四季度以來,使用Huawei LiteOS的智能貓眼、智能門鈴、安防攝像頭等智能家居產品出貨量已經超過10萬臺。
阿里云IoT事業部物聯網操作系統首席架構師謝琳峰在接受與非網記者采訪的時候,介紹了其產品:“不同于市面上眾多從傳統RTOS衍生卻打上‘物聯網操作系統’標簽的產品或開源項目,AliOS Things是一款為現代物聯網應用量身打造的操作系統。除了提供高度可伸縮,實時,安全的內核,AliOS Things還原生提供了包括云端一體設備和應用管理,安全系統和應用升級,高精度定位,傳感器數據上云和本地分析,動態安全漏洞診斷等眾多物聯網時代所亟需的高階能力,以及包括云化部署的一站式應用開發環境等強大豐富的開發工具。針對典型的物聯網場景,AliOS Things進行了端對端的優化,使得對于同樣的功能集合,基于AliOS Things打造的應用解決方案可以實現最好的性能和最低的資源消耗。”
關于發展歷程,官網上只有三行簡單的話:
2017年9月28日,阿里巴巴宣布升級操作系統戰略,發布全新的AliOS品牌及口號:驅動萬物智能 。
2017年10月13日,AliOS攜手斑馬網絡與神龍汽車就未來汽車智能化達成戰略合作,即將陸續推出搭載AliOS的智聯網汽車,首款車型將落地東風雪鐵龍。
2017年10月20日,AliOS家族旗下面向IoT領域的輕量級物聯網嵌入式操作系統AliOS Things正式開源。
說到優勢,就是其云計算在企業級應用上的優勢,這個是先天的。吐槽點也是挺多的,有開發者在論壇上寫道:“阿里的RTOS好幾處參考了uCOS的實現,這將是AliOS最大的槽點。作為物聯網系統最重要的網絡協議棧,他們沒有做到原創,使用的是大家熟知的LwIP,而文件系統也是用的開源FatFS。如果是這樣的話,怎么能自信的與ARM推出的mbed os進行PK,這差距稍大了些。”雖說阿里也在與ST合作,積極布局自己的生態,但打造一個讓開發者能夠迅速適應的環境,自己不斷的保持內核的升級和問題的維護也是阿里的挑戰。
作為一個輕量級的操作系統,FreeRTOS提供的功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。
FreeRTOS有許多應用,采用Linux開源方式,生態環境好,受眾群體非常廣泛。在EEtime雜志每次的嵌入式操作系統市場研究報告中,FreeRTOS都名列前茅。
去年年底有個大新聞就是,FreeRTOS作者加入亞馬遜AWS任首席工程師,正式推出Amazon FreeRTOS。由于Amazon FreeRTOS基于FreeRTOS內核,嵌入式開發者理解起來就非常容易,開發環境本身沒有什么變化。NXP、ST這幾家物聯網芯片公司的開發板都有移植好的端到端的介入,所以接受度比較高。
RT-Thread
RT-Thread誕生于2006年,由國人自主開發,是一個集RTOS內核、中間件組件和開發者社區于一體的技術平臺,由熊譜翔先生帶領并集合開源社區力量開發而成,它已成為國內最成熟穩定和裝機量最大的開源嵌入式操作系統。RT-Thread也是一個組件完整豐富、簡易開發、高可擴展性和高安全性的IoT OS。上海睿賽德是RT-Thread背后的服務公司,負責RT-Thread的維護、運營和核心組件開發等
睿賽德科技COO鄒誠在接受與非網記者采訪時,提到了RT-Thread的特點:“占用資源極小,最小資源占用:1.2KB RAM和2.5KB flash;實時性性能極好,中斷響應時間在1us以內;支持芯片眾多,超過30款主流芯片;已經建立起初步良好的軟件生態,目前軟件包當中的軟件數量超過50個。”
左一:吳洋勇,左二:邱祎,中間:熊譜翔,右二:鄒誠,右一:朱天龍
同時鄒誠還表示:“作為一個OS平臺,生態建設是一項非常耗時的工作,時間的緊迫性是我們遇到的最大瓶頸。當然,文檔和書籍的相對欠缺、相對FreeeRTOS的裝機量還比較小等都是我們不得不面對的挑戰。”
未來
去年何老師在接受媒體的采訪時表示:“最后能剩下的操作系統也就只有少數的幾個。”在眾多產品拼殺的時候,哪些特質才是物聯網操作系統的關鍵所在呢?何老師總結出了六點特征。
管理物的能力:從嵌入式系統視角看,“物”是網絡上發送和接受信息的一個個嵌入式計算小設備(或稱為深嵌入式系統),比如家庭或者工業現場的智能傳感器。現在嵌入式系統設計的一個共識就是降低功耗,常見的方法是系統盡可能快地執行,然后立即進入睡眠模式。現在的處理器核心架構,在低性能狀態下,可以做到基本上不消耗任何電力。
可伸縮和擴展性的架構:隨著 32 位 MCU 的價格下降,Linux 又無法支持沒有 MMU 的 MCU,RTOS 理所當然地成為運行在 MCU 的物聯網 OS 的首選,原因是基于 RTOS 的設計運行更靈活和可擴展的軟件運行在這些系統中。
泛在互聯網功能:支持物聯網常用的無線和有線通信功能,比如支持GPRS/3G/HSPA/4G 等公共網絡的無線通信功能,同時要支持 ZigBee/NFC/RFID/WiFi/Bluetooth 等近場通信功能,還要支持 Ethernet/CAN/USB 有線網絡功能,以及廣受關注的窄帶通信技術NB-IoT 和LoRa。在這些不同的物理和鏈路層接口之上的協議之間要能夠相互轉換,能夠把從一種協議獲取到的數據報文,轉換成為另外一種協議的報文發送出去,最后要能夠遷移到互聯網協議。
系統的安全性:物聯網設備中很大一部分是使用 MCU 和資源有限的微處理器,與大型設備相比,這些小型設備更容易保護,不易受同類型威脅的攻擊,更安全。
云計算后臺:物聯網設備區別于傳統的設備的標志就是這些設備將產生海量的數據,如何管理和處理這些數據是擺在物聯網企業面前的一個難題,云計算無疑是解決這個難題的最有效的技術手段。選擇支持物聯網系統的云計算平臺需要考慮一下的技術因素:
1)支持云計算和物聯網協議(Websocket、RESTful、MQTT和CoAP等)。
2)靈活的標準和設備管理方式。
3)支持安全的遠程固件升級。
4)Web/移動應用開發的能力。
5)高效和可靠數據存儲能力。
先進的編程語言:用于傳統的嵌入式系統的編程語言多數是C和C++。因為物聯網設備的特點,互聯網編程技術將進入物聯網設備,優化后的互聯網編程語言可以低功耗的MCU上運行,比如Java、Java和Python。需要注意的是,Java總是運行在操作系統之上,所以你的選擇不是C/C++或Java兩者之一,而是C/C++和Java都會使用。
其實物聯網操作系統要有長足的發展,與學術界、高校的合作也必不可少。畢竟高校對待技術的視角與商業界是完全不一樣的,商業公司更傾向于立竿見影的產生效益,而高校則追求把技術系統的肢解,更加利于學生學習。這點來說,高校的參與會給物聯網操作系統的發展帶來很大的好處。
評論
查看更多