细数全球24家知名物联网操作系统
物联网操作系统是新一代信息技术的重要组成部分。其英文名称是IoT(Internet of Things),顾名思义,「物联网就是万物相连的互联网」。与传统的个人计算机或个人智能终端(智能手机、平板电脑等)上的操作系统不同,物联网操作系统有其独特的特征。这些特征是为了更好的服务物联网应用而存在的,运行物联网操作系统的终端设备,能够与物联网的其它层次结合的更加紧密,数据共享更加顺畅,能够大大提升物联网的生产效率。1 Andorid Things
Android Things是Google推出的平台,旨在帮助Android开发者打造物联网设备。这个平台还支持强大的应用,例如视频与音频处理以及通过TensorFlow进行板载机器学习。它继承Brillo的功能外,还增加了Android API和Google服务的支持,以及一些Android Things的支持库。
Android Things最早是在2015年谷歌全球开发大会上出现的,谷歌对外宣布将会开发一个面向物联网设备的安卓操作系统,一开始被命名为「Brillo」。它其实就类似安卓系统的一个分支版本,类似于面向智能手表和穿戴设备推出的Android Wear等;2016年12月,谷歌第一次对外公布了Android Things的开发者预览版本。
根据谷歌的介绍,Android Things和手机版安卓系统一样,也会提供大量的安卓开发接口和谷歌基础服务,可以让物联网设备的开发者快速进行功能开发。据悉,谷歌围绕物联网设备提供的服务有「谷歌云平台」,「谷歌Play服务」、以及「Android Studio」开发工具。
Android Things需要跑在带MMU的AP上。Android Things基于Android,它再怎么裁剪,也是需要跑在Linux,Kernel上还要打一堆patch。只是它把Android上关于图形、JAVA虚拟机及Framework统统裁减掉。只保留了C/C++运行环境,IPC,SSL等网络安全必须组件。这也就意味着在Android Things开发APP其实是Native的,而且驱动程序都由Android的那套HAL来做抽象,所以应用程序是直接和HAL、Lib来打交道。
看似Google放了个IoT的操作系统出来,实际Google目前专注于应用场景中功能相对强大的节点,或者边界节点Border Router这样的角色。最重要的是Google利用Weave打通了设备节点到Google云端的通道。Google实际上是用了最小的代价,实现了移动设备平台Android、物联网节点和自己的云端的互联互通。
2 RTX
RTX是ARM公司的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译。不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。
RTX的主要功能除了对任务(进程)的开始和终止以外,还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递。开发者可以使用基本函数去开启实时运行器,去开始和终结任务,以及去传递任务间的控制(轮转调度)。开发者可以赋予任务优先级。
RTX的主要特点包括:支持时间片,抢占式和合作式调度。不限制数量的任务,每个任务都具有254的优先级。不限制数量的信号量,互斥信号量,消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。
3 FreeRTOS
FreeRTOS是一种小型实时操作系统内核,具有源码公开、可移植、可裁减的特点。在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
但是由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。
作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。
嵌入式领域,FreeRTOS是不多的同时具有实时性,开源性,可靠性,易用性,多平台支持等特点的嵌入式操作系统。目前,FreeRTOS已经发展到支持包含X86,Xilinx,Altera等多达30种的硬件平台,其广阔的应用前景已经越来越受到业内人士的瞩目。
4 QNX
QNX是一个分布式、嵌入式、可规模扩展的硬实时操作系统。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(实时扩展)。它诞生于1980年,距今已37年的历史。
QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。
QNX是业界公认的X86平台上最好的嵌入式实时操作系统之一。它具有独一无二的微内核实时平台,建立在微内核和完全地址空间保护基础之上,实时、稳定、可靠,已经完成到PowerPC、MIPS、ARM等内核的移植,成为在国内广泛应用的嵌入式实时操作系统。虽然QNX本身并不属于UNIX,但由于其提供了POSIX的支持,使得多数传统UNIX程序在微量修改(甚至不需修改)后即可在QNX上面编译与运行。
在具有高可靠性内核的基础上,QNX的创新设计使它同样具有很高的效率。QNX最为引人注目的地方是,它是UNⅨ的同胞异构体,保持了和UNⅨ的高度相似性,绝大多数UNⅨ或LINUX应用程序可以在QNX下直接编译生成。这意味着为数众多的稳定成熟的UNⅨ、LINUX应用可以直接移植到QNX这个更加稳定高效的实时嵌入式平台上来。
5 Fuchsia
Fuchsia系统是谷歌自主打造的一款精简、安全、基于微内核设计、为物联网时代打造的全新操作系统,谷歌希望通过Fuchsia系统统一安卓和Chrome OS,其支持多达4个程序同屏同时运行(平板模式下),并且主页以直列的方式显示各种故事卡、应用集、系统组件等,有点类似多任务、多标签页的做法,但更简洁。
据悉,Fuchsia系统不同于安卓使用的Linux内核,而是采用的比较新的Zircon的内核。该系统与当下Android相比,无论是存储器还是内存之类的硬件要求都大幅降低,可以看出这是一款面向物联网的家用电器用的系统。Fuchsia系统支持32位和64位的ARM处理器和64位PC处理器。Fuchsia支持多种编程语言,包括C/C++、Dart、Go、Rust和Python,此外还有一种名为FIDL的接口定义语言。据悉,Fuchsia可以用于手机、电脑、智能手表、车载娱乐系统和其他嵌入式设备。
6 Windows 10 IoT
Windows 10 IoT 是面向各种智能设备的 Windows 10 版本系列,涵盖了从小的行业网关到大的更复杂的设备(如销售点终端和 ATM),种类繁多。结合最新的 Microsoft 开发工具和 Azure IoT 服务,合作伙伴可以收集、存储和处理数据,从而打造可行的商业智能和有效的业务结果。在构建基于 Windows 10 IoT 的解决方案后,合作伙伴将在利用一系列 Microsoft 技术提供端到端的解决方案时发现更多机会。
由于 Windows 10 for IoT 是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用 Visual Studio 和 Azure 物联网服务,针对 Windows 从事开发工作的人会被整套的 Windows 10 for IoT 方案吸引过去。
7 VxWorks
VxWorks诞生于1983年,由美国风河系统(Wind River System,简称WRS)公司设计开发,它是一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。
VxWorks之所以能在嵌入式实时操作系统领域占据一席之地,其良好的持续发展能力、高性能的内核以及友好的用户开发环境被认为了其中的几点原因。
VxWorks支持几乎所有现代市场上的嵌入式CPU,包括x86系列、ARM、MIPS、LoongISA、 PowerPC、Freescale ColdFire、Intel i960、SPARC、SH-4、StrongARM以及xScale CPU。
VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等前沿、尖端及实时性要求极高的领域中,例如卫星通讯、军事演习、弹道制导、飞机导航等。
据悉,美国的F-16、F/A-18战斗机、B-2隐形轰炸机和爱国者导弹,火星探测器如1997年7月登陆的火星探路者号,2008年5月登陆的凤凰号、2012年8月登陆的好奇号、2018年登陆的洞察号等,都使用了VxWorks操作系统。
风河公司公司还推出有的一套名为Tornado的实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试、仿真环境和工具。
风河公司持续致力于开拓嵌入式计算,技术成果据称已应用于20亿+产品之中。
8 Mbed OS
Mbed OS由ARM联合它的技术合作伙伴,以及Mbed开发者社区打造,它是一个平台、一个操作系统,也是主打物联网的一整套软件解决方案。Mbed OS被用于基于32位ARM Cortex-M系列芯片的物联网设备,围绕Mbed OS,形成了一个嵌入式开源生态。
针对不同类型、不同资源配置的物联网设备,ARM推出了两款不同的操作系统:Mbed OS和Mbed Linux OS。
据ARM物联网服务集团中国区负责人陈曦2019年的介绍,Mbed OS面向一些资源比较受限,希望能够用简单快捷的方式满足连接、安全以及应用开发需求的设备,Mbed Linux OS则面向网关、摄像头、工业电脑这类资源配置更加丰富的设备,方便用户集中开发高附加值的功能。
作为一个开源的OS,Mbed OS已经和160多种不同的芯片平台做好了预集成,大幅降低了开发难度,缩短开发时间。
Mbed OS的核心软件平台由核心贡献者和伙伴公司开发,由mbed团队维护。在Apache许可证2.0下,这个核心平台提供的所有核心通用软件构件,加上HAL迁移性允许mbed透明的运行在不同制造商的微控制器上,和TOOLCHAIN迁移性允许开发使用不同的嵌入式工具链。
Mbed OS的构件数据库由各公司和更广泛的社区开发,它提供对各种外设构件、传感器、无线广播、协议和云服务API的支持,这也是在Apache许可证2.0或其它创立者选择的许可证下贡献的,也由这些个体公司和开发开发者社区支持。
9 RIOT
RIOT 操作系统的低内存占用特性使其更适用于物联网设备,它背后没有某个公司的支持,而完全是由社区驱动。它的官方口号是:If your tiny IoT device can't run Linux, use RIOT,可见其定位。此外,在其官网上,迎面展示的也是这样一句话:The friendly Operating System for the Internet of Things。
RIOT操作系统最初由柏林自由大学(FU Berlin)、法国国家信息与自动化研究所(INRIA),以及汉堡应用科技大学(HAW Hamburg)共同开发,其内核基本从FireKernel继承,而这个内核原本为传感器网络开发。
RIOT基于微内核架构。与其他低内存占用的系统(如TinyOS和Contiki)不同, RIOT允许使用C语言和C++语言编写应用程序,而且提供完整的多线程和实时响应解决方案。
RIOT可以在8位单片机(如AVR ATMega),16位单片机(如MSP430)和32位单片机(如ARM的Cortex)上运行,也可以作为一个Linux或macOS进程运行,能使用诸如GNU编译器合集(GCC),GNU调试器,Valgrind,Wireshark等标准调试工具。
RIOT符合一部分POSIX标准,提供多种通信协议栈,包括了IPv6、6LoWPAN和内容中心网络,还支持RPL、UDP、TCP和CoAP。
10 WatchOS
说了那么多巨头,怎么少得了苹果公司呢,苹果在桌面端有 OS X,在移动端有 iOS。虽然苹果目前还没有在物联网市场扮演重要的角色,但苹果已利用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助 BlackBerry QNX)和苹果手表。
11 Ubuntu Core 16
Ubuntu 已经向外界透露了它们对于物联网的最新想法,那就是让 Linux 成为让物联网更智能和可扩展的核心。Snappy Ubuntu Core 是面向智能设备的最新平台,其承诺可以运行存储在本地或依赖于云端的相同软件。显然,后者的最大好处就是可以让使用者避开频繁的定期升级。
Ubuntu Core 团队意识到,“联网设备”的数量将会激增。虽然手机和计算机的定期维护和更新已深入人心,但是对于洗衣机、温控器、以及智能开关来说,大家却很容易忽略掉它们。
此外,在频发的黑客攻击面前,联网设备的安全性也需要慎重考虑。如果没有最新的安全补丁和固件修复,那么必将会给联网设备的使用者留下巨大的隐患。
更重要的是,Ubuntu Core 既可以在设备上、也可以依赖云端而运行。并且无论他们运行于 ARM 或 x86 平台,开发者都会得到相同的 API 和安全更新。
截至目前,Ubuntu 母公司 Canonical 已经拥有了21家合作伙伴
12 μCLinux
μClinux 是一种优秀的嵌入式Linux版本,其全称为 micro-control Linux,从字面意思看是指微控制 Linux。同标准的 Linux 相比,μClinux 的内核非常小,但是它仍然继承了 Linux 操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的 API,以及 TCP/IP 网络协议等。因为没有 MMU 内存管理单元,所以其多任务的实现需要一定技巧。
与 Linux 一样,μClinux 操作系统将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。
μClinux 最大特点在于针对无 MMU 处理器设计,可以利用功能强大的 Linux 资源,因此适合开发对事件要求不高的小容量、低成本的各类产品,特别适用于开发与网络应用密切相关的嵌入式设备或者 PDA 设备。
下载地址:http://www.uclinux.org/pub/uClinux/ 或者 https://sourceforge.net/projects/uclinux/ 。
13 AliOS-Things(国产)
据官方介绍,AliOS Things是面向IoT领域的轻量级物联网嵌入式操作系统,是 阿里巴巴AliOS家族旗下、面向IoT领域的、高可伸缩的物联网操作系统。
AliOS Things致力于搭建云端一体化IoT基础设备。具备极致性能,极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。
AliOS Things提供已通过认证的80+的硬件平台和100+的传感器给潜在客户选择,也为用户提供包括MQTT,Http/Https,Coap,LwM2M,LoRaWAN在内的多种物联网协议组件支持。据官方展示,AliOS Things目前已用于智能家居、智能办公、智能厨房、空气环境等领域。
14 RT-Thread(国产)
RT-Thread 是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 具备一个 IoT OS 平台所需的所有关键组件,例如 GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。
RT-Thread 拥有良好的软件生态,支持市面上所有主流的编译工具如 GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如 POSIX、CMSIS、C++ 应用环境、Javascript 执行环境等,方便开发者移植各类应用程序。商用支持所有主流 MCU 架构,如 ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的 MCU 和 Wi-Fi 芯片。
RT-Thread 实时操作系统遵循 GPLv2+ 许可证,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
官方网站:http://www.rt-thread.org/
15 Tizen RT
Tizen RT是三星电子2011年推出的基于Linux的操作系统,它适用于移动应用程序和小型嵌入式系统。
Tizen RT的目标是将Tizen平台的设备覆盖范围扩展到低端设备。Tizen已在智能电视、智能手机、可穿戴设备(Gear S,Gear Fit)、车辆和智能家电中商业化。三星电子主要将此操作系统用于物联网开发。
Tizen RT是基于RTOS的轻量级平台,使用C语言,C ++和Html5作为开发语言,它可以适合这些的设备:它们通常配备具有MPU,小于2MB RAM和小于16MB Flash的Cortex-M / R处理器。
16 Contiki
以下是维基百科对Contiki的介绍:
Contiki is an operating system fornetworked, memory-constrained systems with a focus on low-power wirelessInternet of Things devices. Extant uses for Contiki include systems for streetlighting, sound monitoring for smart cities, radiation monitoring, and alarms
可以看得出来,原来Contiki是为智能城市而诞生的。支持的平台有限,基本是内部集成CC24xx/25xx,MC1322x之类Radio的SensorTag平台,或者一个很小的MCU加上这些Radio模块的平台。从它所支持的平台也能看出,Contiki更加专注于小型传感器节点。它更关注与PAN内的节点通讯,当然他也有传统的IPv4/v6,TCP/UDP支持,使得利用CoAP可以用来和云端通讯。
完整的网络支持,HTTP,UDP/TCP,以及低功耗协议6lowpan,RPL和CoAP。整个IPv6协议栈都是有思科贡献
专门为小内存设备设计的内存管理器
小巧的估算功耗的工具
丰富的实例
高效的支持外部Flash的Coffee flash文件系统
Protothreads,事件驱动及多线程的编程模型
Cooja网络模拟器
Rime协议栈,比IPv6更轻量级的网络层
Contiki也是个微内核(microkernel),所有的系统服务都是通过启线程完成,Protothreads线程整合了线程间事件通讯,使得编写系统服务非常容易。驱动程序方面,Contiki没有统一的驱动程序框架,驱动都是各家MCU自带开发包提供,这样的好处是能够保证生成的二进制代码够小。
17 Zephyr
Zephyr居然是Linux基金会的合作项目。应该是由INTEL将WindRiver的商用操作系统WindRiverRocket部分开源后诞生的项目(今年才诞生)。目前可用资料不多,而且支持的硬件平台较少,ARM的平台就没几个。
Zephyr像极了Linux,它的源代码目录结构Kconfig使用方式,启动流程,Driver Model都可以看出来。用户的应用程序是启动后创建的最后一个线程,用户的main()会在所有的驱动,组件及硬件板子初始化后被调用,驱动使用DEVICE_INIT(),组件使用SYS_INIT()初始化,并带有优先等级。
网络支持很奇葩,协议栈居然都是用的Contiki的,Bluetooth还算比较全。子系统方面,文件系统、USB都是很简单,很原始的支持。安全方面,mbedTLS和tinyDTLS被拿了过来。
18 Nuttx
http://www.nuttx.org/
Nuttx,实时操作系统,POSIX接口支持,Loadable内核模块支持,BSD socket,MMU支持,等等。我只能说,长的太像Linux了。Build也是Kconfig,目录结构也基本和LinuxKernel一样。
ARM的核基本都支持
文件系统也是VFS支撑,大而全。网络的,NAND MTD的,pseudo都支持
自己的Clib,也可以支持uCLib
全面的网络协议栈,但是没有wireless!
有自己的USB协议栈
19 μCOS-II/μCOS-III
相信国内做嵌入式开发的应该都听过 μCOS,μCOS 在国内的应用也非常广泛,这得益于其代码的良好风格和开放性,以及配套的中间件和文档的完整性,并且在北京麦克泰公司及国内一些嵌入式专家的支持下,出版了很多关于 μCOS 的中文书籍。
μC/OS-II 的前身是 μC/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把 μC/OS 的源码发布在该杂志的 BBS 上。μC/OS-II 是在 μC-OS 的基础上发展起来的,是用 C 语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II 能管理 64 个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。
μC/OS-II 中断处理比较简单。一个中断向量上只能挂一个中断服务子程序 ISR,而且用户代码必须都在 ISR 中完成。ISR 需要做的事情越多,中断延时也就越长,内核所能支持的最大嵌套深度为 255。
Micrium 宣布在它的嵌入式产品中增加 μC/OS-MMU 和μC/OS-MPU 两款产品。这两种产品增加了嵌入式系统中的关键内存函数。μC/OS-MMU 通过为多个独立的应用提供时间和空间的保护,为带有内存管理单元(MMU)的中央处理器提供了内存保护功能。μC/OS-MPU通过保护任务的内存防止对未被授权的系统内存的访问,破坏内存的内容,为带有内存保护单元的CPU提供了保护机制。
20 Nucleus OS
Nucleus 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用 ANSIC 写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,NucleusPLUS 是一组 C 函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的 RAM 中或直接烧录到目标板的 ROM 中执行。
Nucleus 是 Mentor Graphics 公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。共享单车 Bluegogo 用的就是 Nucleus OS。
官网地址:https://www.mentor.com/embedded-software/nucleus/
21 TinyOS
Tiny OS 是 UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。Tiny OS 是一个具备较高专业性,专门为低功耗无线设备设计的操作系统,主要应用于传感器网络、普适计算、个人局域网、智能家居和智能测量等领域。
Tiny OS的如下特性决定了其在传感器网络中的广泛应用,使其在物联网中占据了举足轻重的地位。相对于主流操作系统成百上千MB的庞大体积来说,Tiny OS显得十分迷你,只需要几KB的内存空间和几十KB的编码空间就可以运行的起来,而且功耗较低,特别适合传感器这种受内存、功耗限制的设备。
Tiny OS本身提供了一系列的组件,包括:网络协议、分布式服务器、传感器驱动及数据识别工具等,使用者可以通过简单方便的编制程序将多个组件连接起来,用来获取和处理传感器的数据并通过无线电来传输信息。
22 Ostro
Ostro 操作系统是特别为物联网建造的操作系统,开发者可以马上用,节省了很多时间,功能也非常完善,包括覆盖全面的连接标准,支持包含蓝牙、WiFi 和 NFC 等连接方式,并且支持多种如 IoTivity 的设备对设备互联互通标准;包含安全启动、强制访问控制、加密标准和软件安全更新协议等安全措施;先进的设备管理以及直观的开发工具。
是一套基于 Linux 并且为物联网智能设备特别量身订做的开源操作系统,它可以为任意数量的物联网使用案例特别定制功能,包含 Linux 参考设计、软件包安装和管理机制。除此之外,它的开发工具可以让设备上的连接潜力扩展到最大。Ostro 项目不但提供管理众多设备的工具,最重要的是,它能保障物联网世界安全无虞。
Ostro 操作系统的适应性非常强,既可直接用于受支持的设备,也可以按照需求进行定制,而且开发环境提供了多种语言选择(Native (C/C++) 和 Node.js),可以轻松找到新设备的驱动程序,并充分利用 Linux 社区的所有资源。最后,它还提供了从引导/内核到中间件和应用的自上而下的安全性选项。
Ostro 操作系统包含易用的工具,让开发和原型制作都变得容易。它利用 Yocto 项目的工具组环境来进行操作系统和应用包的配置,开发者可以先创建出一个理想的配置再根据需求修改。当使用基于 Linux 的开发工具时,对于既有的 Linux 和安卓开发者,完全不需要额外的学习过程,开发者可以直接用交互编译工具来生成程序。
23 liteOS(国产)
华为物联网操作系统 Huawei LiteOS 是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。本项目属于华为物联网操作系统 Huawei LiteOS 基础内核源码,现有代码支持任务调度,内存管理,中断机制,队列管理,事件管理,IPC机制,时间管理,软定时器以及双向链表等常用数据结构。
Huawei LiteOS 的代码将以 BSD 3-Clause License,除非华为另选其他许可证(“可适用的许可证”)。接收者可以访问 http://opensource.org/licenses/BSD-3-Clause 查看该许可证的详细内容。
Lite OS 目前世界上最轻量级的物联网操作系统,其系统体积轻巧到10KB级,具备零配置、自组网、跨平台的能力,可广泛应用于智能家居、穿戴式、工业等领域。由于 LiteOS 实行开源,合作伙伴便可以快速构建自己的物联网产品,这将让智能硬件的开发变得更加简单,从而加快实现万物的互联互通。Lite OS 的模式与牛津大学研究人员发明的 Contiki 系统、加州大学伯克利分校发明的 TinyOS 相似,同样具备轻量化、开源的特性。
LiteOS 操作系统具有能耗最低,体积最小、响应最快的特点,已推出全开放开源社区,提供芯片、模块和开源硬件板,如海思的 PLC 芯片 HCT3911、媒体芯片 3798M/C、IPCamera 芯片 Hi3516A,以及 LTE-M 芯片等(开发者也可以选择第三方芯片,如STM32等)。
LiteOS 主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等 IoT 领域的智能硬件上,数据采集、实时控制等是其典型使用环境。
24 MiCO
MiCO IoT OS 由上海庆科联合阿里智能云于2014年7月发布,是国内首款真正意义上的物联网操作系统。简单的说它是基于 MCU 的全实时物联网操作系统,是面向智能硬件设计、运行在微控制器上的高度可移植的操作系统和中间件开发平台,已被广泛应用于智能家电、照明、医疗、安防、娱乐等物联网应用市场。
MiCO 的全称是:Micro-controller based Internet Connectivity Operating system。是基于微控制器的互联网接入操作系统。 开发者可以在各种微控制器平台上基于 MiCO 来设计接入互联网的创新智能产品,实现人,物互联。
MiCO 是针对智能硬件优化设计而运行在微控制器上高度可移植的实时操作系统,包含了各种软件中间件,从而降低智能硬件开发成本,提高开发效率是国内首款物联网操作系统。MiCO 拥有完整的解决方案,包括了建议的无线网络配置、智能硬件的初次设置、快速无线网络接入、本地设备与服务发现、身份认证等组件。这些都能够降低研发投入和维护的成本,缩短研发周期。
MiCO 物联网工程师开发服务平台:http://mico.io/
页:
[1]