干货分享---物联网十大操纵系统介绍
物联网OS最初起源于传感网的两个开源OS,一个是TinyOS,另一个是Contiki。TinyOS项目是由加州大学伯克利分校、Intel和Crossbow技术等公司2000年发起的开源项目,2012年2.1.2 版本以后就停止更新。Contiki项目的作者是dam Dunkels 博士,Dunkels 博士原来在瑞典工学院计算机研究所工作,现是Thingsqure 创始人,也是uIP/LWIP 作者。Contiki项目很活跃,尤其是网络协议方面,Contiki采用uIP协议,已经扩充支持IPv6和低功耗6LoWPAN路由协议。
物联网和操作系统这个话题出现在IT界时,你常常听到“嵌入式操作系统”这个术语与“实时操作系统”(RTOS)互换使用。但实际上,一些嵌入式操作系统有实时功能,另一些则没有这种功能。
真正的RTOS物联网设备需要处理数据时没有缓冲延迟。RTOS的好处包括两大类:
第一:能够实现多任务处理,能够调度和优先处理任务,还能够管理资源在多个任务之间的共享。这种操作系统通常用于比较复杂的航空、工业和医疗物联网设备中。
第二:功耗比较低,对资源的要求也比较低,比如处理能力和内存。十之八九,诸如此类的操作系统的增长率会超过RTOS,至少对第一代物联网设备来说是这样,这种类型的操作系统复杂性低,功能也相对比较齐全。
本文所列举的十种不同的操作系统,或将将驱动物联网行业。虽然有许多替代操作系统没有介绍,但本文代表了一系列广泛的操作系统功能,既有一些开源操作系统,也有一些商用操作系统。最后,它们体现了可支持一切设备的操作系统:从卫星、联网冰箱,一直到嵌入在手表和衣服中的智能技术。
不妨看一看诸多操作系统及其周围的公司/社区。通过这些些操作系统会给物联网带来最大的影响,或者你是否认为我们漏掉了一两种应该榜上有名的操作系统。
1.RIOT OS
RIOT OS是一种开源社区项目,自2008年以来就启动了。RIOT能够在众多平台上运行,包括嵌入式设备和PC(以及数量众多的极其流行的传感器/致动器板卡),而且拥有易于使用的API。该操作系统因用电量和资源需求方面能够做到高效而家喻户晓。
2.Windows 10 for IoT
微软的最新款嵌入式操作系统名为Windows 10 for IoT。这面大旗下还有三个子操作系统,视你的要求而定。第一个是Windows10 for IoT Mobile,它支持ARM架构。下一个是Windows
10 for IoT Core,它支持Raspberry Pi和英特尔凌动。最后一个是Windows 10 for IoT Enterprise――这多少有点像功能完备的Windows10 Enterprise,但仅限于只运行单一应用程序。
由于Windows 10 for IoT是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力――如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用Visual Studio和Azure物联网服务,针对Windows从事开发工作的人会被整套的Windows 10 for IoT方案吸引过去。
3.WindRiver VxWorks
WindRiver的VxWorks可能是如今使用的最流行的商用RTOS。它提供了一款可靠的操作系统,又具有高度的灵活性。VxWorks还提供了许多安全功能,这些功能对需要它们的物联网项目来说至关重要。VxWorks在工业、医疗和航空等领域的名气很大,因为它是少数几家满足必要的认证要求、以便用于那些行业的RTOS厂商之一。
4.谷歌Brillo
谷歌在去年秋季的谷歌I/O大会上宣布,打算推出Brillo,进军嵌入式操作系统市场。面向基于安卓的嵌入式操作系统的开发平台很合适在编写安卓应用程序方面有着扎实背景的那些人。Brillo使用一种名为Weave的通信协议。这意味着,智能设备没必要非得将嵌入式安卓作为其操作系统――它们只要能够使用Weave进行通信就可以。这为一大批厂商将Weave集成到物联网产品当中敞开了大门,最终让这些产品能够与Brillo连通。
5.ARM mbed OS
ARM开发了自己的开源嵌入式操作系统,名为mbed OS。由于它是由ARM自身开发的,所以ARM是唯一支持的架构。话虽如此,预计该操作系统会在智能家居和可穿戴式设备这两个物联网细分市场大放异彩。这款操作系统有别于另外许多的嵌入式操作系统,原因在于它是单线程,而不是多线程。ARM表示,它认为对于该操作系统能够在尺寸最小、功耗最低的设备上运行而言是必不可少的。如果物理尺寸和电池使用时间至关重要,物联网设备最后可能会在mbed OS上运行。
6.Embedded Apple iOS 和OS X
虽然苹果还没有在如今的物联网市场扮演重要的角色,但是也会很快将这个角色角色扮演起来。到目前为止,苹果已采用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助BlackBerry QNX)和苹果手表。
展望未来,预计苹果会继续使用其iOS,并改动OS X,那样它可以在物联网端点设备上更精简、更高效地运行。开发人员可以使用诸如最近发布的HomeKit之类的工具,这种框架用来构建控制家庭自动化设备的应用程序。
7.Nucleus RTOS
Nucleus RTOS是Mentor Graphics公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。
8.Green Hills Integrity
不过另一种由来已久的商用RTOS解决方案是Green Hills的Integrity。它在航空/国防、汽车、工业和医疗等垂直领域展开激烈的竞争。该公司还继续在面向消费者的物联网市场大受欢迎,这归功于它一向以来凭借性能、安全和可靠性博得了人气和美名。
国内新秀华为的LiteOS和庆科MICO系统。
9.Lite OS
Lite OS目前世界上最轻量级的物联网操作系统,其系统体积轻巧到10KB级,具备零配置、自组网、跨平台的能力,可广泛应用于智能家居、穿戴式、工业等领域。由于LiteOS实行开源,合作伙伴便可以快速构建自己的物联网产品,这将让智能硬件的开发变得更加简单,从而加快实现万物的互联互通。Lite OS的模式与牛津大学研究人员发明的Contiki系统、加州大学伯克利分校发明的TinyOS相似,同样具备轻量化、开源的特性。
Liteos操作系统具有能耗最低,体积最小、响应最快的特点,已推出全开放开源社区,提供芯片、模块和开源硬件板,如海思的PLC芯片HCT3911、媒体芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等(开发者也可以选择第三方芯片,如STM32等)。
Liteos主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等IoT领域的智能硬件上,数据采集、实时控制等是其典型使用环境。
10.MICO
MICO的全称是:Micro-controller based Internet Connectivity Operating system。
是基于微控制器的互联网接入操作系统。 开发者可以在各种微控制器平台上基于MICO来设计接入互联网的创新智能产品,实现人,物互联。
MICO 是针对智能硬件优化设计而运行在微控制器上高度可移植的实时操作系统,包含了各种软件中间件,从而降低智能硬件开发成本,提高开发效率是国内首款物联网操作系统。MICO 拥有完整的解决方案,包括了建议的无线网络配置、智能硬件的初次设置、快速无线网络接入、本地设备与服务发现、身份认证等组件。这些都能够降低研发投入和维护的成本,缩短研发周期。
结束语:
在这场物联网OS的竞赛中,中国企业信心满满,而国外的企业却显得保守和犹豫,结合以上几家公司我们可以发现开源依然唱着主旋律。
基于物联网产业处在发展初期,碎片化特点必将导致物联网时代对软件的多样性需求。一种操作系统和开发工具很难支持物联网系统中的所有设备,短时间内,物联网操作系统很难形成像智能手机中Android和iOS两家独占市场的局面。以安全性和集成化为代表的物联网新需要给传统嵌入式软件带来挑战,也给以互联网企业为代表的产业新人带机遇。本文所涉及的10种操作系统表明了广泛的选择余地以及它们可能用于哪些领域。