专业的信息化与通信融合产品选型平台及垂直门户
注册 登陆 设为首页 加入收藏
首页 企业新闻 招标信息 行业应用 厂商专区 活动 商城 中标信息

资讯
中心

新闻中心 人物观点
厂商专区 市场分析
行业
应用
政府机构 能源产业 金融机构
教育科研 医疗卫生 交通运输
应用
分类
统一协作 呼叫客服 IP语音 视频会议 智能管理 数据库
数字监控 信息安全 IP储存 移动应用 云计算 物联网

TOP

面向物联网的几大开源操作系统
2016-11-16 14:57:57 来源:51CTO 作者:【
关键词:开源 物联网 操作系统
 
在过去的十年间,大多数新型开源操作系统已从移动市场转向物联网市场。本文介绍了面向物联网的许多新型开源操作系统。我们之前的文章介绍了开源物联网框架,以及面向物联网和消费者智能家居设备的Linux和开源开发硬件。

  本文介绍了面向物联网的许多新型开源操作系统。

  在过去的十年间,大多数新型开源操作系统已从移动市场转向物联网市场。本文介绍了面向物联网的许多新型开源操作系统。我们之前的文章介绍了开源物联网框架,以及面向物联网和消费者智能家居设备的Linux和开源开发硬件。

  除了介绍面向物联网的新型嵌入式Linux发行版外,我还介绍了OpenWrt等几款比较老的轻量级发行版,它们在这个领域迎来了新生。虽然Linux发行版主要针对网关和集线器,但是面向物联网的非Linux开源操作系统取得了同样迅猛的发展,它们可以在微控制器单元(MCU)上运行,通常面向物联网边缘设备。

  请记住一点:如今几乎所有的操作系统都声称有一些物联网连接功能,所以本文这份名单有点随意。本文介绍的开源操作系统大多数符合下列属性:占用内存少、电源效率高、模块化可配置通信堆栈,对特定的无线和传感器技术提供强有力的支持。一些项目注重物联网安全,许多非Linux操作项目专注于实时确定性(real-time determinism),这有时是工业物联网的一个要求。

  我通常远离这类Linux发行版:被列入“轻量级”这一类,但是仍然主要针对桌面使用或便携式U盘实施, 而不是针对无外设设备。不过,像LXLE或Linux Lite这些轻量级Linux发行版可能是适合物联网的选择。

  非Linux开源平台方面的选择来得比较困难。毕竟,大多数轻量级实时操作系统可用于物联网。我侧重于主要平台,或者是似乎为物联网带来最大希望的平台。其他潜在的候选对象可以在这个开源实时操作系统网站(http://www.osrtos.com)上找到。

  本文未提到Windows 10 for IoT Core,它对创客来说是免费的,支持AllJoyn和IoTivity,但是并非完全开源。还有许多商用实时操作系统是物联网领域的大玩家,比如Micrium的µC/OS。

  九大基于Linux的开源物联网发行版

  1.Brillo ――在谷歌发布Brillo后的一年里,这款基于安卓的轻量级发行版日益受到嵌入式板卡的追捧,比如英特尔Edison和Dragonboard 410c,甚至得到一些模块上计算机的追捧。Brillo的未来与谷歌的Weave通信协议密切相关,它需要这种协议。Weave为Brillo带来了发现、配置和验证等功能,Brillo可以在只有32MB内存和128MB闪存的设备上运行。

  相关链接:https://developers.google.com/brillo/

  2.华为LiteOS――别将华为的LiteOS与开源Unix变种混为一谈,据说它基于Linux,但确实是一种非常精简的实施方法。一年多前宣布的LiteOS声称可以作为只有10KB大小的内核来部署。LiteOS应用广泛,从基于MCU的设备,到与安卓兼容的应用程序处理系统,不一而足。这款可定制的操作系统拥有诸多功能,比如零配置、自动发现、自动联网、快速启动和实时操作,它提供广泛的无线支持,包括LTE和网状网络。LiteOS随华为的敏捷物联网解决方案交付,它驱动窄带物联网(NB-IoT)解决方案。

  相关链接:http://www.huawei.com/minisite/iot/en/liteos.html

  3.OpenWrt/LEDE/Linino/DD-Wrt――由于物联网热潮,久负盛名、专注网络的OpenWrt嵌入式Linux卷土重来。轻量级OpenWrt经常出现在路由器和基于MIPS的WiFi板卡上。早期的衍生版(比如DD-Wrt和面向Arduino的Linino)最近更是出现了分支版本。Linux嵌入式开发环境(LEDE)项目承诺治理会更透明、发布周期会更稳定。

  相关链接:https://openwrt.org

  4.Ostro Linux――今年8月,英特尔选择用于英特尔Joule模块(运行在最新的四核凌动T5700片上系统上)后,这款基于Yocto Project的发行版一举成名。Ostro Linux符合IoTivity,支持众多的无线技术,还提供一种传感器框架。它非常注重物联网安全,提供操作系统、设备、应用程序和数据等层面的保护,包括加密和MAC。该发行版包含在无外设版本和媒体(XT)版本中。

  相关链接:https://ostroproject.org

  5.Raspbian――还有另外一些面向Raspberry Pi的发行版,它们更专门面向物联网,不过迅速成熟的Raspbian仍是佼佼者。由于它是面向在最广泛使用的物联网平台上的DIY项目的最流行的发行版,开发人员可以向众多项目和教程寻求帮助。由于Raspbian支持面向Node-JS的可视化设计工具Node-RED,我们觉得没有太充分的理由选择专门针对RPi、面向物联网的Thingbox。

  相关链接:https://www.raspbian.org

  6.Snappy Ubuntu Core――Ubuntu Core的这个嵌入式版本又叫带Snaps的Ubuntu Core,它利用了Snap软件包机制――Canonical将其作为一种通用Linux软件包格式分拆出来,让单一的二进制软件包能够在“任何Linux桌面、服务器、云或设备上”运行。Snaps让Snappy Ubuntu Core能够提供事务回滚、安全更新、云支持和应用程序商店平台。Snappy只需要600MHz处理器和128MB内存,但还需要4GB闪存。它可以在Pi及其他的嵌入式板卡上运行,出现在众多设备上,包括Erle-Copter无人机、戴尔Edge网关、Nextcloud Box和LimeSDR。

  相关链接:https://developer.ubuntu.com/en/snappy/

  7.Tizen――Linux基金会托管的这个嵌入式Linux堆栈主要得到了三星的支持,它在移动市场很少引起注意。它广泛用于三星的电视和智能手表中,包括新的Gear S3,它也零星地实施在三星的相机和消费级设备中。Tizen 甚至可以在Raspberry Pi上运行。三星已开始将Tizen与其SmartThings智能家居系统集成起来,以便能够通过三星电视来控制SmartThings。我们还可以预计它会与三星的Artik模块和Artik Cloud加强集成。Artik随带Fedora,但是Tizen 3.0最近连同Ubuntu Core一并移植。

  相关链接:https://www.tizen.org/ko?langredirect=1

  8.uClinux――久负盛名的精简版uClinux是唯一可以在MCU上运行的Linux,可以在特定的Cortex-M3、M4和M7等型号上运行。uClinux需要MCU内置存储器控制器,可以使用外部DRAM芯片来满足内存要求。现在uClinux已被并入到主线Linux内核中,得益于Linux中广泛的无线支持。然而,Mbed等更新颖的面向MCU的操作系统在迅速填补无线方面的空白,配置起来更容易。EmCraft是MCU上uClinux的最大支持者之一,提供众多基于Cortex-M的模块。

  相关链接:http://www.uclinux.org

  9.Yocto Project――Linux基金会的Yocto Project不是一款Linux发行版,而是一个开源协作项目,为开发人员提供构建自定义嵌入式堆栈的模块、工具和方法。由于你可以用极小的开销来定制堆栈,它常常用于物联网。Yocto Project构成了大多数商用嵌入式Linux发行版的基础,也是Ostro Linux和Qt for Device Creation等项目的一部分。Qt正在为Qt 5.8准备一种Qt Lite技术,将为更小巧的物联网目标设备优化Device Creation。

  相关链接:https://www.yoctoproject.org

  九大非Linux开源物联网操作系统

  1.Apache Mynewt――开源、支持无线的Apache Mynewt面向32位MCU,由Runtime开发,由Apache软件基金会托管。模块化的Apache Mynewt拥有无线支持、并发连接的准确可配置性、调试功能和细粒度的电源控制。5月份,Runtime和Arduino Srl宣布,将提供Apache Mynewt,面向Arduino Srl的Primo和STAR Otoo SBC。这款操作系统还支持Arduino LLC板卡,比如Arduino Zero。(最近,Arduino Srl和Arduino LLC达成了诉讼调解,宣布计划在Arduino控股公司和Arduino基金会下重新联手)。

  相关链接:http://mynewt.apache.org

  2.ARM Mbed――ARM面向物联网的操作系统针对小巧、电池供电的物联网端点,这些端点在Cortex-M MCU上运行,可能只有8KB内存,已出现在BBC Micro:bit SBC上。虽然最初是半专有、只有单线程,缺少确定性功能,但现在它是开源,采用Apache 2.0许可证,提供了多线程和实时操作系统支持。不像许多轻量级实时操作系统,Mbed在设计当初心系无线通信,最近它增添了线程支持。该操作系统支持可通过Mbed Device Connector来安全地提取数据的云服务。今年早些时候,该项目发布了可穿戴式设备参考设计。

  相关链接:https://www.mbed.com/en/

  3.Contiki――由于只需要10KB内存和30KB闪存,开源Contiki无法像Tiny OS或RIOT OS那么小巧,也无法像RIOT及其他一些操作系统提供实时确定性。然而,广泛使用的Contiki提供了广泛的无线网络支持,IPv6堆栈由思科贡献。该操作系统提供了一系列广泛的开发工具,包括可装入Cooja Network Simulator的动态模块,以便调试无线网络。Contiki声称可以高效地分配内存。

  相关链接:http://www.contiki-os.org

  4.FreeRTOS――FreeRTOS很快就能在嵌入式开发平台中与Linux相匹敌,它特别适用于开发物联网终端设备。FreeRTOS缺少Linux功能,比如设备驱动程序、用户帐户以及高级的网络和内存管理。然而,它占用的资源比Linux少得多,更不用说与VxWorks这样的主流实时操作系统相比了,它还提供开源GPL许可证。FreeRTOS可以在内存不到0.5KB、ROM为5-10KB的设备上运行,不过与TCP/IP架构结合使用更为常见,它更像是24KB内存和60KB闪存。

  相关链接:http://www.freertos.org

  5.Fuchsia――谷歌的这款最新开源操作系统在8月份部分透露,留下的问题多过答案。Fuchsia与Linux毫无关系,但是基于旨在与面向MCU的操作系统(比如FreeRTOS)兼容的LK发行版,这让许多人猜测它是一款物联网操作系统。不过,Fuchsia还支持移动设备和笔记本电脑,所以谷歌对这个处于早期阶段的项目方面抱有极大的野心。

  相关链接:https://github.com/fuchsia-mirror

  6.NuttX――非限制性的、采用BSD许可证的NuttX主要以此出名:它是面向开源无人机的最常见的实时操作系统,在APM/ArduPilot和PX4 UAV平台上运行,它们都是Dronecode平台的一部分。NuttX还广泛用于其他资源受限制的嵌入式系统中。虽然它支持x86、 Cortex-A5及-A8平台,但这款基于POSIX和ANSI的操作系统主要针对Cortex-M MCU。 NuttX完全抢占式,有固定的优先级、轮询和偶发调度。该操作系统号称是“小巧的Linux通用型操作系统,但大大精简了功能特性。”

  相关链接:http://nuttx.org

  7.RIOT OS――已有8年历史的RIOT OS以高效的电源使用和广泛的无线支持而出名。RIOS的硬件要求是1.5KB内存和5KB闪存,要求几乎与Tiny OS一样低。不过,它也提供了诸多功能,比如多线程、动态内存管理、硬件抽象、部分的POSIX兼容和C++支持,这些是在Linux中而不是在轻量级实时操作系统中更常见的功能。其他功能包括低中断延迟(约40个时钟周期)和基于优先级的调度。你可以在Linux或OS X下进行开发,使用原生移植版,部署到嵌入式设备。

  相关链接:https://www.riot-os.org

  8.TinyOS――这款成熟的开源操作系统采用BSD许可证,非常小巧,支持低功耗,MCU目标设备可以“只有几KB内存和数十KB代码空间”。事件驱动的TinyOS由nesC这种C语言来编写,它经常被研究低功耗无线网络(包括多跳网络)的研究人员使用。据项目组自己承认,“计算密集型的应用程序可能很难编写。”项目致力于提供Cortex-M3支持,不过眼下它仍是为低端MCU和无线电芯片设计的。

  相关链接:http://webs.cs.berkeley.edu/tos/

  9.Zephyr――Linux基金会这款轻量级、提供安全功能的Zephyr RTOS可在只有2-8KB内存的设备上运行。Zephyr可在x86、ARM和ARC系统上运行,主要专注于基于MCU,使用蓝牙/BLE和802.15.4无线电(比如6LoWPAN)的设备。Zephyr基于Wind River的Rocket OS,它基于Viper,而Viper是精简版的VxWorks。最初的目标设备包括Arduino Due和英特尔的Arduino 101及其他设备。Zephyr最近出现在了SeeedStudio的96Boards IoT Edition BLE Carbon SBC,它得到一个新的Linaro LITE工作组的支持。

      

责任编辑:admin
免责声明:以上内容转载互联网平台或企业单位自行提供,对内容的真实性、准确性和合法性不负责,Voipchina网对此不承担任何法律责任。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部

上一篇重庆电信吹响物联网年末总攻号角
下一篇美国专家声讨物联网安全 面对攻击..

热门文章

图片主题

最新文章

相关文章

广告位

Copyright@2003-2009 网络通信中国(原VoIP中国) 版权所有
联系方式:503927495@qq.com
  京ICP备05067673号-1 京公网安1101111101259