物联网,英文名:InternetofThings,简称:IoT,是互联网概念的一种延伸,广义是指各种物理对象之间的联网,简单的说,就是“物物互联”。“物”在物联网中,可以是各种各样的设备,例如监测心脏功能的植入物、监测农场动物的生物芯片、内置传感器的汽车、监测食品环境的DNA分析设备、用于消防和搜救的现场操作设备等等。
物联网技术包括了智能电网、智能家居、智能交通和智慧城市等等概念,是一种更广的联网,最终目标是实现电网、家居、交通等领域网络之间的互联,同时提供安全性、数据分析和管理。
操作系统是什么?
一般来说,操作系统通常具有以下功能:进程管理、中断、内存管理、文件系统、设备驱动、网络、安全、输入输出系统。
典型的操作系统主要有windows操作系统(微软)、Unix及类Unix操作系统(Linux、谷歌)、mac操作系统(苹果)。
而Unix及类Unix操作系统,例如FreeBSD、OpenBSD、Solaris、Minix、Linux、QNX、谷歌的Android操作系统(基于linux),ubuntu,这些基本上都是开源系统,源代码开放。
另外就是苹果的MacOSX和iOS移动设备操作系统,是以Darwin为基础开发的,Darwin是一种类Unix操作操作系统,苹果的操作系统(MacOSX和iOS)是闭源的,但是苹果于2000年将Darwin进行开源。
什么是开源操作系统?
公开透明:操作系统漏洞和缺陷更容易曝光,同时代码的开发和维护也是公开的。
可定制:用户可以根据需求,依照不同的硬件平台和应用场景进行定制。
可持续:即使之前开发的公司因为各种原因无法支持,依靠开源社区广大的开发人员的参与,系统还可以持续维护下去。
集思广益:因为开源操作系统公开,可以让更多的开发者参与开发,集中更多的智慧和想法。
物联网为何需要开源操作系统?
对于物联网发展而言,“碎片化”是主要的问题,其中芯片、传感器、通信协议、应用场景千差万别,“山头林立”。比如无线通信标准,就有蓝牙、Wi-Fi、ZigBee、PLC、Z-Wave、RF、Thread、Z-Wave、NFC、UWB、LiFi、NB-IoT、LoRa等等。很明显,技术方案不统一,体系结构不一致,阻碍了物联网的发展,也局限了互联互通的范围。
然而,各种操作系统可以支持不同的硬件、通信标准、应用场景。开源,有利于打破技术障碍和壁垒,提高互操作性和可移植性,减小开发成本,同时也适合开源社区的开发人员参与进来。
操作系统,是物联网中一个十分关键的环节,而开源更佳助推了物联网的开放和发展。目前,开源操作系统在物联网中的应用已经十分广泛,以后也必将在物联网中扮演越来越重要的角色。
十大物联网开源操作系统
手机市场呈现出Android和iOS两家独大的局面,而在物联网体系中,操作系统也呈现出多样性的特点,并不是一两种操作系统可以支持所有的物联网设备。
所以,我们今天要重点介绍的是十大物联网开源操作系统。(微软的Windows10forIoT和苹果的iOS,虽然也是很强大,但是因为闭源,不在本文介绍之列。)
1、AndoridThings
AndoridThings是谷歌上周刚推出的物联网操作系统,是去年推出的“Brillo”操作系统的更新版本,作为Andorid系统的一个分支版本,类似于可穿戴和智能手表用的AndoridWear(实际上它也是一种物联网操作系统)。
它使用一种名为Weave的通信协议,实现设备与云端相连,并且与谷歌助手等服务交互。AndroidThings面向所有Java开发者,不管开发者有没有移动开发经验。该操作系统将能够支持一系列物联网设备的计算平台,其中包括英特尔Edison平台,NXP公司的Pico平台,以及“黑莓派3”。
2、Contiki
Contiki,是一个开源的、容易移植的多任务操作系统,适用于内存受限的网络任务。Contiki项目的作者是瑞典计算机科学研究所的网络嵌入式系统小组的AdamDunkels博士。
该系统只需要几千字节或者几百字节的内存,就能提供多任务操作系统环境和TCP/IP支持。它已经移植并成功运行于嵌入式微控制器平台(TIMSP430,AtmelAVR)以及电脑、游戏机等平台。它支持的协议有全标准IPv6和IPv4,以及低功耗网络标准:6lowpan、RPL、CoAP。
3、eLinux
4、FreeRTOS
FreeRTOS操作系统是完全开源你的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点。目前,该操作系统已经数百万设备上部署,它号称是“市场上领先的嵌入式实时操作系统”,能够为微控制器和微处理器提供很好的解决方案。
5、mbedOS
默认情况下,mbed操作系统是事件驱动的单线程架构,而非多线程(实时操作系统)环境。这确保了它可以扩展到尺寸最小、成本最低且功耗最低的物联网设备。
ARM在移动设备端有着强大的市场占有率,所以这款操作系统实力和前景不可小觑
6、Raspbian
Raspbian是一款基于Debian,为树莓派硬件而设计的操作系统。这个操作系统包括一些列的基础程序和工具,保证树莓派硬件的运行。
7、RIOT
RIOT,将自己称为“友好的物联网操作系统”,致力于开发者友好、资源友好、物联网友好,关键的功能包括C/C++支持、多线程、能量效率、部分遵守POSIX等等。RIOT开源社区自2008年以来就启动了。RIOT能够在众多平台上运行包括嵌入式设备、PC、传感器等。
8、UbuntuCore
Ubuntu是目前最流行的Linux版本,而UbuntuCore旨在将Ubuntu带向物联网世界。它可以运行例如微软Azure、谷歌计算引擎、亚马逊弹性云计算服务,也可以运行在例如BeagleBoneBlack和树莓派等硬件上。
9、HuaweiLiteOS
HuaweiLiteOS是华为面向IoT领域,构建的“统一物联网操作系统和中间件软件平台”,具有轻量级(内核小于10k)、低功耗、互联互通、安全等关键能力。HuaweiLiteOS目前主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等IoT领域的智能硬件上,还可以和LiteOS生态圈内的硬件互联互通,提高用户体验。
Liteos操作系统具有能耗最低,尺寸小、响应快等特点,也建立了开源社区,能够支持的芯片例如海思的PLC芯片HCT3911、媒体芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等。
10、Tizen
Tizen,Linux基金会和LiMo基金会,联合英特尔和三星电子,共同开发的开源操作系统,它可以满足物联网设备生态系统(包括设备制造商、手机运营商、应用开发者、独立软件服务提供商)的需求,应用于手机、电视、穿戴等多个产品。