摘要:文章介紹了以微軟、ARM、Micrium、華為和慶科為代表的物聯(lián)網(wǎng)操作系統(tǒng)的最新發(fā)展情況,作者預(yù)計開源軟件依然會在物聯(lián)網(wǎng)操作系統(tǒng)中發(fā)揮主導作用。 引言 物聯(lián)網(wǎng)操作系統(tǒng)(以下簡稱物聯(lián)網(wǎng)OS)最近很熱鬧,2015年5月20日華為發(fā)布開拓物聯(lián)網(wǎng)領(lǐng)域的“敏捷網(wǎng)絡(luò)3.0”戰(zhàn)略,包括物聯(lián)網(wǎng)OS Lite OS、敏捷物聯(lián)網(wǎng)關(guān)、敏捷控制器三部分,5月28日谷歌在舊金山宣布物聯(lián)網(wǎng)軟件BriloOS 和IoT協(xié)議 Weave。7月29日微軟發(fā)布了Windows 10的同時發(fā)布了 Windows 10 IoT Core,8月20日慶科在北京舉辦了盛大的開發(fā)者大會,發(fā)布了最新的MiCO 2.0 ,這距MiCO 2014年7月22日首發(fā),剛剛過去一年的時間,各大公司如此密集地發(fā)布新的物聯(lián)網(wǎng)OS,國內(nèi)企業(yè)在爭搶萬物互聯(lián)的新的風口,由此可見,一場物聯(lián)網(wǎng)OS的激烈競賽已經(jīng)拉開序幕。 物聯(lián)網(wǎng)OS的元年 物聯(lián)網(wǎng)OS最初起源于傳感網(wǎng)的兩個開源OS,一個是TinyOS,另一個是Contiki。TinyOS項目是由加州大學伯克利分校、Intel和Crossbow技術(shù)等公司2000年發(fā)起的開源項目,2012年2.1.2 版本以后就停止更新。Contiki項目的作者是dam Dunkels 博士,Dunkels 博士原來在瑞典工學院計算機研究所工作,現(xiàn)是Thingsqure 創(chuàng)始人,也是uIP/LWIP 作者。Contiki項目很活躍,尤其是網(wǎng)絡(luò)協(xié)議方面,Contiki采用uIP協(xié)議,已經(jīng)擴充支持IPv6和低功耗6LoWPAN路由協(xié)議。 方方面面的原因,之前的傳感器OS只是在學術(shù)屆稍有影響,在產(chǎn)業(yè)界沒有太多的反響,2014年才是物聯(lián)網(wǎng)OS的元年。2014年10月ARM推出mbed物聯(lián)網(wǎng)設(shè)備平臺和操作系統(tǒng)mbed OS。ARM物聯(lián)網(wǎng)事業(yè)部門總經(jīng)理Krisztian Flautner是這樣介紹mbed OS的開發(fā)背景:“目前物聯(lián)網(wǎng)設(shè)備多半仍處于孤立狀態(tài)并未互相連接,這就意味著還無法實現(xiàn)一個真正全面互連的世界,并讓所有設(shè)備都能互通并提供各種云端服務(wù)”。mbed OS 正是為了改善這樣的現(xiàn)狀而誕生的。 ARM mbed物聯(lián)網(wǎng)設(shè)備平臺由mbed OS、mbed設(shè)備服務(wù)器(mbed Device Server)和mbed社區(qū)(mbed.org)三部分組成。mbed OS是一個專為基于ARM Cortex-M的設(shè)備所設(shè)計的免費操作系統(tǒng)。mbed Device Server是一套授權(quán)(收費)軟件,提供物聯(lián)網(wǎng)行業(yè)必需的服務(wù)器端技術(shù),以便安全地連接并管理設(shè)備,可作為物聯(lián)網(wǎng)設(shè)備專用通信協(xié)議與網(wǎng)絡(luò)開發(fā)商所使用的應(yīng)用程序編程接口間的橋梁。mbed SDK開發(fā)工具和mbed.org 社區(qū)是一個開源嵌入式開發(fā)平臺和開發(fā)者網(wǎng)絡(luò)社區(qū),見下圖1 。 mbed OS發(fā)布的時候,當時頗為吸引眼球,業(yè)界的感覺是:難道物聯(lián)網(wǎng)的Android來了嗎?想趕風口的人更是躍躍欲試。但是之后幾個月,ARM mbed OS 聲音逐漸變得小了,直到2015年3月紐倫堡嵌入式世界展覽上ARM宣布與IBM和飛思卡爾合作推出了一款“物聯(lián)網(wǎng)入門套件”。最新的信息是mbed OS 3.0 將在2015年11月10日 美國硅谷ARM TechCon 正式發(fā)布,12月8日在中國深圳發(fā)布, 屆時全球的開發(fā)者或許可以拿到一個二進制版本。 物聯(lián)網(wǎng)OS競賽才剛剛開始 在這場物聯(lián)網(wǎng)OS的競賽中,中國企業(yè)信心滿滿,而國外的企業(yè)卻顯得保守和猶豫。讓我們先看看市場上已經(jīng)發(fā)布的國外的幾款產(chǎn)品吧。 微軟的Windows 10 IoT Core。它是Windows 10 家族中企業(yè)、手機和IoT 三個版本一個成員,系統(tǒng)占用256K RAM 2G Flash,目前支持Intel Edison 和樹莓派Pi 2(ARM架構(gòu)) 兩款高端處理器。Windows 10 IoT Core的優(yōu)點:放棄了以前WinCE 方式,沒有入門費也沒有版稅,集成了微軟Aurze云服務(wù),開發(fā)者熟悉的VS2015 開發(fā)環(huán)境以及微軟20年嵌入式開發(fā)和設(shè)備維護經(jīng)驗。 缺點:256K RAM 2G Flash,不能支持在物聯(lián)網(wǎng)系統(tǒng)占領(lǐng)主流地位的MCU;不開源,這一點也會讓微軟在與開源Linux 競爭中失分不少。在智能終端OS市場競爭中,微軟的市場已經(jīng)喪失殆盡,基于Linux 內(nèi)核的Android 牢牢占了上風。 Micrium的Spectrum物聯(lián)網(wǎng)OS。以開發(fā)μC/OS而著名的Micrium 在2014年10月發(fā)表了Spectrum物聯(lián)網(wǎng)OS,今年5月聯(lián)合瑞薩、高通和艾睿推出Wireless Demonstration Kit,如圖2 。kit 包括了Renesas RX111 MCU 開發(fā)板,Qualcomm QCA4002 Longsys GT202 PMOD Wi-Fi 模塊、Renesas E1調(diào)試器和Micrium Spectrum 軟件。 Micrium產(chǎn)品在工業(yè)、醫(yī)療和航空航天領(lǐng)域里面有著廣泛的應(yīng)用基礎(chǔ),全球的市場份額接近30%,μC/OS 通過第三方認證機構(gòu)可以獲得航空、醫(yī)療和工業(yè)安全認證,比如EC 61508,EN62304 和 FDA 510(k)等。技術(shù)上μC/OS 的實時性、可擴展性和健壯性很好。MCU支持近60家公司140種MCU和嵌入式微處理器。 云端通過“中介層”支持包括亞馬遜在內(nèi)的多種云服務(wù)。 Spectrum 物聯(lián)網(wǎng)軟件是一個完全商業(yè)化嵌入式軟件,據(jù)了解,用戶在開發(fā)和量產(chǎn)的時候都要支付費用,這樣高門檻的軟件會將中小規(guī)模的客戶拒之門外。 其他的相似技術(shù)和商業(yè)模式的產(chǎn)品還有Express Logic 公司推出的針對基于ARM 物聯(lián)網(wǎng)設(shè)備的X-Wave 平臺,該公司的RTOS內(nèi)核是ThreadX。 Wind River(風河)IDP智能設(shè)備平臺,它是Intel物聯(lián)網(wǎng)網(wǎng)關(guān)的軟件中間件,支持企業(yè)以Intel 物聯(lián)網(wǎng)網(wǎng)關(guān)為基礎(chǔ)來開發(fā)物聯(lián)網(wǎng)解決方案,英特爾的物聯(lián)網(wǎng)網(wǎng)關(guān)的優(yōu)勢是快速創(chuàng)新并且保持與傳統(tǒng)設(shè)備的互操作性,它把網(wǎng)絡(luò)、嵌入式控制、企業(yè)級安全性和易管理性完整地集成起來,把傳感器和云端數(shù)據(jù)中心服務(wù)器整合起來,形成完整的物聯(lián)網(wǎng)基礎(chǔ)設(shè)施。該方案的缺點是開放性差。風河最新推出的物聯(lián)網(wǎng)解決方案-Helix有望將其技術(shù)覆蓋物聯(lián)網(wǎng)從智能傳感到云平臺的整個系統(tǒng)開發(fā)過程,詳情還待進一步研究了解。 相比國外企業(yè)的謹慎和保守,國內(nèi)企業(yè)做得有聲有色。上海慶科是一家名不見經(jīng)傳的小公司, 以嵌入式開發(fā)板和芯片銷售起家,近幾年開始研發(fā)和銷售Wi-Fi模塊進入物聯(lián)網(wǎng)和智能硬件市場,據(jù)悉慶科2014年獲得了阿里系的投資。慶科的MiCO(Micro-controller based Internet Connectivity OS)是一個面向智能硬件優(yōu)化設(shè)計的、運行在微控制器上的、高度可移植的操作系統(tǒng)和中間件平臺,據(jù)業(yè)內(nèi)人士分析,基層軟件是在開源軟件技術(shù)修改而成。慶科云(FogCloud)是專門為智能硬件平臺,提供數(shù)據(jù)云存儲、云分發(fā)、軟件OTA升級、微信接入等支持服務(wù),既然慶科是阿里系,慶科云肯定是附在阿里云平臺上。目前看,F(xiàn)ogCloud是一個面向物聯(lián)網(wǎng)的PaaS架構(gòu)加上幾個小的SaaS應(yīng)用。比較前面討論過的幾個國外產(chǎn)品,包括華為LiteOS ,MiCO 是目前開放程度最高的物聯(lián)OS。華為LiteOS項目的網(wǎng)站http://www.oiotc.cc/ 上目前也只有一個簡單的內(nèi)核開發(fā)文檔,論壇里面有消息稱源代碼要12月才能發(fā)布。 MiCO OS已經(jīng)上線, 開發(fā)者進入 http://mico.io 開發(fā)者中心可以下載SDK和全部文檔,最新的版本是2.3.0。MiCO 支持各種MCU 芯片,現(xiàn)在有幾種開發(fā)套件,比如ST的MiCOkit-3288、Atmel 的SAMG55、NXP 的LPC54102和飛思卡爾的K22 等 ,圖3是MiCOkit 的一個開發(fā)過程范例。 MiCO的最大亮點是 MiCO OS、移動App 和云服務(wù)全部免費。MiCO OS 是一個新的技術(shù),目前還是在愛好者試用階段。但是使用了MiCO技術(shù)的慶科公司W(wǎng)i-Fi模塊產(chǎn)品已經(jīng)遍及智能硬件各個領(lǐng)域的應(yīng)用,已經(jīng)有一定的應(yīng)用基層。 開源依然會唱主旋律 在這場物聯(lián)網(wǎng)OS比武中,開源依然唱著主旋律。 2014年-2015年市場調(diào)查顯示18%的嵌入式OS 依然是用戶自己開發(fā)的,(2000年以前這個數(shù)字高達50% 以上)。原因是什么呢?商業(yè)和開源軟件產(chǎn)品無法滿足用戶要求,在物聯(lián)網(wǎng)OS的世界里,這個比率還會更大,原因是什么呢?物聯(lián)網(wǎng)系統(tǒng)的需求不明確、商業(yè)模式不成熟、加上物聯(lián)網(wǎng)OS技術(shù)還在發(fā)展之中,用戶只好選擇基于開源軟件去開發(fā)適合自己物聯(lián)網(wǎng)應(yīng)用的軟件系統(tǒng)。 開源社區(qū)和芯片公司為物聯(lián)網(wǎng)OS的開發(fā)者準備了大量的資源和工具,比如博通的 WICED-SDK-3.1.2 是一套基于Wi-Fi智能硬件開發(fā)套件,除了商業(yè)的嵌入式OS和協(xié)議外,套件里面有一套移植好的開源FreeRTOS 和LwIP 嵌入式軟件。適合于可穿戴設(shè)備應(yīng)用的STM32 Nucleo 的Cube軟件庫,它也加入開源FreeRTOS 和LwIP中間件,還有一個已經(jīng)獲得商業(yè)授權(quán)的emWin圖形開發(fā)庫。 FreeRTOS 是基于MCU的物聯(lián)網(wǎng)應(yīng)用采用最廣泛的開源的RTOS,著名的智能手表Pebble OS 的內(nèi)核使用了FreeRTOS。FreeRTOS 內(nèi)核采用的是GPL 授權(quán)方式,但它是一個修改后的GPL協(xié)議。FreeRTOS 的GPL授權(quán)給了這樣一個例外條件:即這些獨立模塊如果它們使用的是FreeRTOS API 與FreeRTOS進行通信,并且這些獨立模塊不涉及內(nèi)核和內(nèi)核調(diào)度,也沒有對任務(wù)、任務(wù)通信和信號量等內(nèi)核功能作出改動,這些模塊可以不按照GPL方式公開源代碼。 FreeRTOS 還有一種商業(yè)授權(quán)版本OpenRTOS可供用戶選擇,OpenRTOS由英國WITTENSTEIN high integrity systems公司提供授權(quán)和技術(shù)支持。 有消息稱MiCO OS 內(nèi)核使用了FreeRTOS, 做了修改,且在其上封裝了API。但是目前還沒得到官方的證實。智能手表Pebble網(wǎng)站聲明了Pebble OS 使用了FreeRTOS內(nèi)核,有他們修改的FreeRTOS 內(nèi)核代碼和相關(guān)文檔說明。 與FreeRTOS相似的有LwIP,它采用開源的修改后的BSD 授權(quán)。此外,開源的contiki IoT OS ,網(wǎng)站http://www.contiki-os.org,也是一個很活躍的項目,據(jù)悉Lite OS思路與contiki很接近,并使用了其中的uIP的協(xié)議。 基于開源硬件的Ardunio和樹莓派Pi的開源的物聯(lián)網(wǎng)網(wǎng)關(guān)和云服務(wù)很多,Arduino是基于MCU 面向傳感器和控制部件編程的平臺,樹莓派Pi是基于Linux的嵌入式計算平臺,上面可以承載各種標準服務(wù)和應(yīng)用,適合物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計。國內(nèi)外的物聯(lián)網(wǎng)云平臺發(fā)展很快,比如Ayla network、Xively、DreamFactory、機智云、Yeelink和中國移動提供的物聯(lián)網(wǎng)云平臺服務(wù)。 騰訊微信物聯(lián)網(wǎng)硬件平臺(http://iot.weixin.qq.com)是一種物聯(lián)網(wǎng)云平臺和應(yīng)用服務(wù),它使用一種微信硬件公共帳號和物聯(lián)網(wǎng)設(shè)備對接,實現(xiàn)在微信上管理你的設(shè)備。微信硬件近期發(fā)展很快,支持微信運動(智能手環(huán)和手機)、智能家居、電視、玩具、血壓計和微信相框等各種智能硬件,微信硬件平臺通過支持芯片公司的Wi-Fi和藍牙模塊內(nèi)嵌AirSync和AirKiss協(xié)議,以方便硬件開發(fā)人員快速地將微信與智能設(shè)備進行互聯(lián)。AirSync和AirKiss協(xié)議用于藍牙和Wi-Fi技術(shù)的基礎(chǔ)支持框架和硬件JSAPI等。騰訊已經(jīng)聯(lián)合Marvell、ST、TI和博通等芯片公司,Broadlink 和慶科 Wi-Fi模塊共同支持微信硬件協(xié)議,目的是讓智能硬件很方便的接入互聯(lián)網(wǎng),實現(xiàn)萬物互聯(lián)的夢想。 小結(jié) 物聯(lián)網(wǎng)產(chǎn)業(yè)處在發(fā)展初期,碎片化特點必將導致物聯(lián)網(wǎng)時代對軟件的多樣性需求。一種操作系統(tǒng)和開發(fā)工具很難支持物聯(lián)網(wǎng)系統(tǒng)中的所有設(shè)備,短時間內(nèi),物聯(lián)網(wǎng)OS很難形成像智能手機中Android和iOS兩家獨占市場的局面。以安全性和集成化為代表的物聯(lián)網(wǎng)新需要給傳統(tǒng)嵌入式軟件帶來挑戰(zhàn),也給以互聯(lián)網(wǎng)企業(yè)為代表的產(chǎn)業(yè)新人帶機遇。 參考資料: [1]何小慶.物聯(lián)網(wǎng)操作系統(tǒng)淺[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015(1) [2]江文瑞,何小慶.物聯(lián)網(wǎng)與實時操作系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(11) [3]張愛華,何小慶.基于嵌入式操作系統(tǒng)的物聯(lián)網(wǎng)安全[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015(1) [4]何小慶.云計算在物聯(lián)網(wǎng)中的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(11) [5]何小慶,物聯(lián)網(wǎng)時代對嵌入式軟件新需求[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(8) [6]何小慶.談?wù)凢reeRTOS 及其授權(quán)方式[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015(10) |