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