物联网操作系统的新进展

发布时间:2015-12-4 11:17    发布者:designapp
关键词: 物联网 , 嵌入式软件 , 开源软件 , Linux和FreeRTOS
摘要:文章介绍了以微软、ARM、Micrium、华为和庆科为代表的物联网操作系统的最新发展情况,作者预计开源软件依然会在物联网操作系统中发挥主导作用。

引言

物联网操作系统(以下简称物联网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和嵌入式微处理器。 云端通过“中介层”支持包括亚马逊在内的多种云服务。
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)
                                
               
本文地址:https://www.eechina.com/thread-158549-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表