物联网操作系统的发展前景如何?

物联网操作系统的前景如何会不会出现移动互联网时代的争霸局面与传统的个人计算机或个人智能终端(智能手机、平板电脑等)上的操作系统不同,物联网操作系统有其独特的特征。
这些特征是为了更好的服务物联网应用而存在的,运行物联网操作系统的终端设备,能够与物联网的其它层次结合的更加紧密,数据共享更加顺畅,能够大大提升物联网的生产效率。
一、物联网操作系统的作用
除具备传统操作系统的设备资源管理功能外,物联网操作系统还具备下列功能:
1. 屏蔽物联网碎片化的特征,提供统一的编程接口。
所谓碎片化,指的是硬件设备配置多种多样,不同的应用领域差异很大。从小到只有几k内存的低端单片机,到有数百m内存的高端智能设备。
传统的操作系统无法适应这种广谱的硬件环境,而如果采用多个操作系统(比如低端配置,采用嵌入式操作系统,高端配置设备,采用linux等通用操作系统),则由于架构的差异,无法提供统一的编程接口和编程环境。
2. 正是这种碎片化的特征,牵制了物联网的发展和壮大。
物联网操作系统则充分考虑这些碎片化的硬件需求,通过合理的架构设计,使得操作系统本身具备很强的伸缩性,很容易的应用到这些硬件上。
3. 同时,通过统一的抽象和建模,对不同的底层硬件和功能部件进行抽象,抽象出一个一个的通用模型,对上层提供统一的编程接口,屏蔽物理硬件的差异。
这样达到的一种效果就是, 同一个app,可以运行在多种不同的硬件平台上,只要这些硬件平台运行物联网操作系统即可。
这与智能手机的效果是一样的,同一款app,比如微信,既可以运行在一个厂商的低端智能手机上,又可以运行在硬件配置完全不同的另一个厂商的高端手机上,只要这些手机都安装了android操作系统。
显然,这样一种独立于硬件的能力,是支撑物联网良好生态环境形成的基础。
二、那么,物联网生态环境如何培育
拉通物联网产业的上下游,培育物联网硬件开发、物联网系统软件开发、物联网应用软件开发、物联网业务运营、网络运营、物联网数据挖掘等分离的商业生态环境,为物联网的大发展建立基础。类似于智能终端操作系统(ios、andriod等)对移动互联网的生态环境培育作用。
如何降低物联网应用开发的成本和时间
物联网操作系统是一个公共的业务开发平台,具备丰富完备的物联网基础功能组件和应用开发环境,可大大降低物联网应用的开发时间和开发成本;提升数据共享能力:统一的物联网操作系统具备一致的数据存储和数据访问方式,为不同行业之间的数据共享提供了可能。
物联网操作系统可打破行业壁垒,增强不同行业之间的数据共享能力,甚至可以提供行业服务之上的服务,比如数据挖掘等;为物联网统一管理奠定基础。
采用统一的远程控制和远程管理接口,即使行业应用不同,也可采用相同的管理软件对物联网进行统一管理,大大提升物联网的可管理性和可维护性,甚至可以做到整个物联网的统一管理和维护。
一般来说,物联网操作系统由内核、通信支持(wifi/蓝牙、2/3/4g等通信支持、nfc、rs232/plc支持等)、外围组件(文件系统、gui、java虚拟机、xml文件解析器等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用!
物联网操作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网操作系统,物联网这棵大树才能结出丰硕的果实。
对于物联网发展而言,“碎片化”是主要的问题,其中芯片、传感器、通信协议、应用场景千差万别,“山头林立”。
比如无线通信标准,就有蓝牙、wi-fi、zigbee、plc、z-wave、rf、thread、z-wave、nfc、uwb、lifi、nb-iot、lora等等。很明显,技术方案不统一,体系结构不一致,阻碍了物联网的发展,也局限了互联互通的范围。
然而,各种操作系统可以支持不同的硬件、通信标准、应用场景。开源,有利于打破技术障碍和壁垒,提高互操作性和可移植性,减小开发成本,同时也适合开源社区的开发人员参与进来。
操作系统,是物联网中一个十分关键的环节,而开源更佳助推了物联网的开放和发展。
目前,开源操作系统在物联网中的应用已经十分广泛,以后也必将在物联网中扮演越来越重要的角色。
手机市场呈现出android和ios两家独大的局面,而在物联网体系中,操作系统也呈现出多样性的特点,并不是一两种操作系统可以支持所有的物联网设备。
三、附十大物联网开源操作系统
注:(微软的windows 10 for iot 和 苹果的 ios,虽然也是很强大,但是因为闭源,不在本文介绍之列。)
1. andorid things
andorid things 是谷歌上周刚推出的物联网操作系统,是去年推出的“brillo”操作系统的更新版本,作为 andorid 系统的一个分支版本,类似于可穿戴和智能手表用的andorid wear(实际上它也是一种物联网操作系统)。
它使用一种名为 weave的通信协议,实现设备与云端相连,并且与谷歌助手等服务交互。android things 面向所有java开发者,不管开发者有没有移动开发经验。该操作系统将能够支持一系列物联网设备的计算平台,其中包括英特尔edison 平台,nxp公司的pico平台,以及“树莓派3”。
2. contiki
contiki,是一个开源的、容易移植的多任务操作系统,适用于内存受限的网络任务。contiki 项目的作者是瑞典计算机科学研究所的网络嵌入式系统小组的adam dunkels 博士。
该系统只需要几千字节或者几百字节的内存,就能提供多任务操作系统环境和tcp/ip支持。它已经移植并成功运行于嵌入式微控制器平台(ti msp430,atmel avr)以及电脑、游戏机等平台。它支持的协议有全标准 ipv6 和 ipv4,以及低功耗网络标准:6lowpan、rpl、coap。
3. elinux
elinux,也称为embedded linux,即嵌入式linux 操作系统,该操作系统基于linux 内核,是linux 对于嵌入式系统的裁剪版,支持该操作系统的厂家、芯片和产品比较广泛。该操作系统的维基主页提供了开发、硬件、产品、厂家、社区等一系列相关信息。
4. freertos
freertos 是一个迷你的实时操作系统内核,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
freertos 操作系统是完全开源你的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点。
目前,该操作系统已经数百万设备上部署,它号称是“市场上领先的嵌入式实时操作系统”,能够为微控制器和微处理器提供很好的解决方案。
5. mbed os
这款操作系统由arm开发,专门为运行arm处理器的物联网设备而设计。它包含了c++应用程序网络,公司也提供其他开发工具和相关的设备服务器。
默认情况下,mbed 操作系统是事件驱动的单线程架构,而非多线程(实时操作系统)环境。 这确保了它可以扩展到尺寸最小、成本最低且功耗最低的物联网设备。
arm在移动设备端有着强大的市场占有率,所以这款操作系统实力和前景不可小觑。
6. raspbian
raspbian 是一款基于debian,为树莓派硬件而设计的操作系统。这个操作系统包括一些列的基础程序和工具,保证树莓派硬件的运行。
7. riot
riot,将自己称为“友好的物联网操作系统”,致力于开发者友好、资源友好、物联网友好,关键的功能包括c/c++支持、多线程、能量效率、部分遵守posix等等。
riot 开源社区自2008年以来就启动了。riot能够在众多平台上运行包括嵌入式设备、pc、传感器等。
8. ubuntu core
ubuntu 是目前最流行的linux 版本,而ubuntu core旨在将ubuntu 带向物联网世界。它可以运行例如微软azure、 谷歌计算引擎、 亚马逊弹性云计算服务,也可以运行在例如beaglebone black 和树莓派等硬件上。
9. huawei liteos
huawei liteos 是华为面向iot领域,构建的“统一物联网操作系统和中间件软件平台”,具有轻量级(内核小于10k)、低功耗、互联互通、安全等关键能力。huawei liteos 目前主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等 iot 领域的智能硬件上,还可以和liteos生态圈内的硬件互联互通,提高用户体验。
liteos操作系统具有能耗最低,尺寸小、响应快等特点,也建立了开源社区,能够支持的芯片例如海思的plc芯片hct3911、媒体芯片3798m/c、ipcamera芯片hi3516a,以及lte-m芯片等。
10. tizen
tizen,linux基金会和limo基金会,联合英特尔和三星电子,共同开发的开源操作系统,它可以满足物联网设备生态系统(包括设备制造商、手机运营商、应用开发者、独立软件服务提供商)的需求,应用于手机、电视、穿戴等多个产品。
tizen底层平台相关api按照html5的形式公开出来,服务将涵盖通信、多媒体、相机、网络、社区媒体等。三星已经售卖了几款搭载该操作系统的产品,是它的最大支持者。
当然,物联网操作系统还不仅仅是以上这些,随着物联网的快速发展,必将进一步形成众所心仪的对象,那时候也可能出现一家独大的局面。
目前既然行业如此碎片化,那就先百家争鸣,百花齐放,最终让市场来决定!