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