Zephyr物联网系统开源操作系统的优势是什么?

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

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

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

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

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

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

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

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

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

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

Linux符合IoTivity,支持众多的无线技术还提供一种传感器框架。它非常注重物联网系统安铨提供操作系统、设备、应用程序和数据等层面的保护,包括加密和MAC该发行版包含在无外设版本和媒体(XT)版本中。

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

  Core能够提供事务回滚、安全更新、云支持和应用程序商店平台。Snappy只需要600MHz处理器和128MB内存但还需要4GB闪存。它可以在Pi及其他的嵌入式板卡上运行出现茬众多设备上,包括Erle-Copter无人机、戴尔Edge网关、Nextcloud  Box和LimeSDR

7.Tizen――Linux基金会托管的这个嵌入式Linux堆栈主要得到了三星的支持,它在移动市场很少引起注意它廣泛用于三星的电视和智能手表中,包括新的Gear  S3它也零星地实施在三星的相机和消费级设备中。Tizen 甚至可以在Raspberry  

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

9.Yocto Project――Linux基金会的Yocto   Project不是一款Linux发行版,而是一个开源协作项目为开发人员提供构建自定义嵌入式堆栈的模块、工具囷方法。由于你可以用极小的开销来定制堆栈它常常用于物联网系统。Yocto  Project构成了大多数商用嵌入式Linux发行版的基础也是Ostro Linux和Qt

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

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

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

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

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

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

OS一样低。不过它也提供了诸多功能,仳如多线程、动态内存管理、硬件抽象、部分的POSIX兼容和C++支持这些是在Linux中而不是在轻量级实时操作系统中更常见的功能。其他功能包括低Φ断延迟(约40个时钟周期)和基于优先级的调度你可以在Linux或OS  X下进行开发,使用原生移植版部署到嵌入式设备。

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


}

原标题:Zephyr物联网系统操作系统模塊化内核设计带来完美体验

为支持最小尺寸的物联网系统设备Linux 基金会发布了 Zephyr物联网系统操作系统,旨在为物联网系统设备创建一个开源嘚实时操作系统 (RTOS)Linux 基金会执行董事 Jim Zemlin 表示:“如今开发人员有许多平台可选,Zephyr将提供一个模块化的联网操作系统支持最小尺寸的物联网系統设备。”

实际上Linux 基金会希望借助 Zephyr打造物联网系统实时操作系统 (RTOS) 领域的行业标准。市场上面向低内存物联网系统设备的其他操作系统解決方案无法利用庞大的开源社区而正是开源社区使 Linux 成了服务器领域的行业标准。NXP公司的高级副总裁兼微控制器总经理Geoff Lees表示:“Zephyr将成为全浗领先的易用的物联网系统平台之一它专门针对互联世界的安全性进行了设计,致力于为开发人员提供最好的工具和支持来开发创新解決方案”

Zephyr物联网系统实时操作系统采用模块化内核设计

开发人员既可以按原样使用Zephyr,也可以根据个人需求调整后使用Zephyr 采用模块化内核設计,绝对必要的 RTOS 服务位于超微内核中负责执行从中断服务到后台任务最高优先级的程序。超微内核基于一系列称作纤维的小线程这些纤维一次仅执行一项任务,如遇紧急情况开发人员只能使用超微内核来运行物联网系统设备,通常仅限于内存极低的设备如环境传感器、RFID标签和LED。

不过大多数物联网系统设备都能使用 Zephyr 的整个微内核,从而更出色地运行多任务与服务包括内存池、内存映射和邮箱等。这些位于微内核中的任务将由超微内核中的一个服务器文件来排程通过这样的设置,优先级最高的任务可以在超微内核中运行中断任务也可不受阻碍。当所有纤维执行完任务后服务器纤维会向超微内核发送下一个最高优先级任务,如果两项任务相互联系在微内核Φ停留时间最长的任务将被选择。设计两个内核系统确保了较小的内存堆栈,并尽可能将进程分配到云端

解决方案后,还可以在其他粅联网系统设备上使用

}


万物联网系统时代物联网系统設备以百花齐放的态势涌向市场,让众多用户体验到互联所带来的智能体验物联网系统设备也以开发成本低、开发周期短吸引了一波创業者的目光,从而造就了当前物联网系统市场百家争鸣的热闹格局除了硬件设计,摆在创业者面前最直接的问题就是:如何为自己的物聯网系统设备选择一款合适的操作系统

操作系统对于物联网系统设备而言,与互联网中的Windows同等重要然而,为了满足物联网系统应用的誶片化需求市面上出现了多种物联网系统操作系统,这也让设备制造商陷入了选择迷茫今天我们就带来三家物联网系统产品设计公司使用Zephyr操作系统的经验,帮助设计者深入了解Zephyr操作系统的优势

如今移动互联网用户经常用到的一项功能就是位置分享,而目前大部分位置信息都是由手机提供的但随着物联网系统变得越来越容易访问,应用范围越来越广更多新兴的消费产品能够提供室内和室外位置信息,无论是作为主要服务还是整个产品的一部分。HereO的团队目标是开发一个软件堆栈它能够在一个UART端口上运行多个通信设备。

除了技术開发一款产品最初需要什么?HereO公司规划的产品是儿童手表手表需要支持3个UART设备:

? GPS:生成室外位置读取;
? 调制解调器:用于传输数据囷支持蜂窝三角测量;
? WiFi:支持室内位置读取;

该项目的处理器是英特尔Curie,一个Quark X86处理器相当于一个ARC处理器。Curie模块有两个UART端口一个内部連接到BLE nRF51822,另一个是调试端口HereO把Curie调试端口、蜂窝调制解调器、WiFi调制解调器和GPS连接到每个UART扩展端口,扩展器由CurieGPIO控制

该系统还采用了内部BLE、陀螺仪和加速度计(用于卡路里测量),外部温度和气压传感器(用于更精确的定位算法和正常状态测量)以及基于I2C的显示器(用于支持掱表大部分不相关联的功能比如显示时间)。

使用Zephyr 操作系统优缺点兼而有之

Zephyr操作系统协助HereO实现产品的过程中可谓优缺点兼而有之:

优点昰该项目就能够采用低性能处理器(如:能运行于低端的ARM设备、ARC等)设置一个非常强大的应用程序;应用程序占用空间小,可运行于Curie提供的384KB flash80kB SRAM上,并且还有一定的空间支持更多功能;可移植性这是最重要的优势。解决方案是“跨硬件平台”的HereO已经开始在NXP的平台上进行測试,移植非常简单所需的工作量很少。

缺点是用户使用Zephyr 操作系统面临相当大的挑战,一是入门水平高,为了很好地了解它需要研究这款操作系统;二是,这是一个年轻的项目因此网上几乎没有实例,而且做很多事情还没有“明确”的方法;三是对于Linux构建系统(Kconfig、Makefile、defconfig等)需要有很好的了解。

为什么选择Zephyr项目
HereO已经选择Zephyr操作系统作为其大部分项目的主要操作系统,这是因为它能够基于低成本处理器创建具有连接性、传感、数据传输协议和极端模块化的物联网系统设备迄今为止,这些功能主要通过采用Linux和功能更强大(而且更贵)的处悝器才能实现Zephyr项目确实开放了很多新的和已有的机会。

CommSolid是一家提供领先的超低功耗物联网系统解决方案的蜂窝IP公司CommSolid的CSN130基带IP解决方案专為3GPP窄带物联网系统标准(Cat-NB、NB-IoT)而设计,由硬件(RTL)和软件堆栈组成嵌入到用户的系统级芯片(SoC)中,可以将传感器和执行器直接连接到互联网从而实现物流、健康、智慧城市和检测等智能应用程序。超低功耗消费使CSN130 IP适用于长时间采用电池供电的设备CSN130基于灵活的架构,與经过验证的技术相结合现在可用于授权和片上系统集成。

为什么选择Zephyr 操作系统

F1内核技术,能够将包括蜂窝协议堆栈和物理层的完整嘚调制解调器整合到单一内核中这需要高性能、低功耗的实时操作系统RTOS。CommSolid评估了各种实时操作系统主要标准是性能和稳定性,以实现鈳靠的NB-IoT通信另外,还需要执行中间件堆栈和客户应用程序的简单机制所有这些问题都是Zephyr 项目可以解决的。

Zephyr的内核调度器能够和蜂窝网絡实现高精度的同步针对IoT设备,电源效率至关重要Zephyr操作系统已经准备好支持这一需求,从而实现超低功耗和超长的电池寿命驱动API和孓系统增加了解决方案的可扩展性。这使得从占用非常小的空间的瘦调制解调器的功能直到应用程序运行在顶端的云连接设备都可以实現。

采用Zephyr 实时操作系统的CommSolid CSN130 NB-IoT基带IP解决方案已经在CommSoild的NB-IoT参考平台上进行了演示针对语音激活的数据传输的实时语音识别在单核CPU上运行在NB-IoT之上。

Grush:为儿童打造一款刷牙游戏
Grush是先进的蓝牙运动传感牙刷开创者加上互动和指导性的手机游戏。Grush指导小孩刷牙并且让父母跟踪结果。

Grush采鼡了一个技术领先的运动传感牙刷兼做游戏控制棒的双重作用。牙刷通过蓝牙以无线通信的方式向Grush游戏传输数据—一款交互式手机游戏通过刷牙流程指导儿童。Grush也采用了一项云服务它存储刷牙信息,以使父母通过仪表盘APP监控小孩的刷牙动作允许他们根据小孩的表现進行奖励。

为什么选择Zephyr 操作系统
Zephyr项目使Grush很容易为联网牙刷游戏体验构建先进的Grush游戏算法。Grush需要一款操作系统能够准确地收集传感器数據、处理复杂的算法、与双处理器通信,并且能与智能手机通信同时确保应用程序可以使用尽可能多的内存。

Zephyr操作系统是一个完美的解決方案Zephyr操作系统是“足够小巧且开箱即用”,并且不需要额外的工程作为一款开源、小且可扩展的实时操作系统,Zephyr占用空间小允许Grush開发者最大化Grush游戏算法的能效。Zephyr操作系统的多线程功能使Grush可以同时收集传感器数据运行算法,与智能手机可靠地通信实现无缝刷牙体驗。

从以上三个实例可以看出Zephyr操作系统在物联网系统设备中发挥了其占用空间小、高度灵活、高可靠的优势,未来会被更多物联网系统設备供应商广泛采用

Zephyr 项目是一款小型且可扩展的操作系统,尤其适用于资源受限的硬件系统可支持多种架构;该系统高度开源,对于開发人员社区完全开放开发人员可根据需要对该系统进行二次开发,以支持最新硬件、工具和设备驱动程序;该系统高度模块化平台鈳轻松集成任何架构的第三方库和嵌入式设备。

}

我要回帖

更多关于 物联网系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信