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

面向物联网的几大开源操作系统(面向物联网的几大开源操作系统是)  物联网 开源 操作系统 第1张

【51CTO.com快译】本文介绍了面向物联网的许多新式开源操作体系。

在曩昔的十年间,大多数新式开源操作体系已从移动商场转向物联网商场。本文介绍了面向物联网的许多新式开源操作体系。咱们之前的文章介绍了开源物联网结构,以及面向物联网和顾客智能家居设备的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工作组的支撑。

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

原文标题: Open Source Operating Systems for IoT,作者: Eric Brown

【51CTO译稿,协作站点转载请注明原文译者和出处为51CTO.com】

转载请说明出处
知优网 » 面向物联网的几大开源操作系统(面向物联网的几大开源操作系统是)

发表评论

您需要后才能发表评论