2018 年全球人口 75 亿,智能手机保有量大约是 30亿部。爱立信公司的物联网研究报告指出,2018年物联网设备的数量首次超过智能手机,到 2021 年物联网设备将超过 290 亿台。在全球物联网设备无线连接方法中,蜂窝物联网装置依然遥遥领先。最近两年 ,低功耗广域 (LPWA) 的物联网装置出货量增长迅速,如NB-IoT 和 LoRa。物联网应用繁花似锦,此消彼长。从最初智能硬件、共享单车到今天智慧城市、智能制造和新零售,万物互联已经无处不在。面对增长迅速、应用碎片化的物联网系统,业界一直在思考一个问题:PC 时代Windows 操作系统、移动互联网时代有安卓(Android)和 iOS 操作系统,为什么物联网时代没有应用范围广的物联网操作系统呢?物 联 网 操 作 系 统(Operating System forInternet of Things,IoT OS),是一种在嵌入式实时操作系统基础上发展出来的、面向物联网技术架构和应用场景的软件平台。IoT OS 目前没有严格的定义,体系架构和功能各有不同,种类也比较多。例如,ARM Mbed 在微控制器 (MCU) 运行,Android Things在嵌入式处理器上运行,ThreadX 的 X-WARE 由传统的 RTOS 改进而成。
物联网操作系统的技术特征
无论是学术界还是产业界,都还没有对 IoT OS给出一个统一的定义。阿里巴巴集团把 AliOS Things称为面向 IoT 领域的物联网轻量级嵌入式操作系统。亚马逊公司称 Amazon FreeRTOS 是针对单片机的物联网操作系统。ARM 公司称 Mbed OS 是物联网系统中针对“物”的免费和开源的嵌入式操作系统。纵观 IoT OS 技术发展,IoT OS 可以归纳有五大技术特征。一是管理物的能力。这里的“物”指物联网边缘节点上的嵌入式实时低功耗设备。二是泛在的通信功能,即支持各种无线和有线、近场和远距离的通信方式以及协议,如蓝牙、Wi-Fi、Zigbee、NB-IoT、LoRa 和 NFC 等通信技术。三是物联网设备的可维护性,即支持设备的安全动态升级(OTA)和远程维护。四是物联网安全。这是一个广泛的概念,包含设备、通信和云安全,具备防御外部安全入侵和篡改能力。五是物联网云平台。通过物联网云平台完成远程设备管理、数据存储和分析、安全控制和业务支撑,这是物联网大数据和人工智能的基础。综上所述,IoT OS 是一种面向“物”的通信和管理平台,物联网操作系统有 3个重要部分:嵌入式实时操作系统、物联网的通信协议和物联网云平台。
物联网操作系统的实例
● Huawei LiteOS
Huawei LiteOS 是面向物联网领域轻量级物联网操作系统,它的内核分为两个层次 : 第一层是基础内核;第二层是扩展内核,源代码是开源的。Huawei LiteOS 提供端云协同能力,集成 LwM2M、CoAP、Mbed TLS、LwIP 等全套 IoT 协议栈,用户只需关注自身的应用,直接使用 LiteOS SDK 端云互通组件封装的 API,通过几个步骤就能简单快速地实现与云平台安全可靠连接。端云解决方案针对 NB-IOT 应用场景的应用是现阶段 Huawei LiteOS 的优势之一。
● Amazon FreeRTOS
Amazon FreeRTOS 是一款适用于微控制器的操作系统。通过软件库对 FreeRTOS 内核进行扩展,可以轻松地将小型低功耗设备安全连接到 AWS IoT Core等 AWS 云服务或运行 AWS IoT Greengrass 的功能更强大的边缘设备。Amazon FreeRTOS 具有轻松编程、部署和管理低功耗互联设备,广泛的硬件和技术生态系统等优势。
● RT-Thread
RT-Thread 是一个集 RTOS 内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成。同时,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 的优势为具备一个 IoT OS 平台所需的所有关键组件,如 GUI、网络协议栈、安全传输、低功耗组件等;拥有良好的软件生态,支持市面上所有主流的编译工具,如 GCC、Keil、IAR 等;支持各类标准接口,POSIX、CMSIS、C 应用环境、Javascript执行环境等,方便开发者移植各类应用程序。
我们可以看出,上述 3 种 IoT OS 具备物联网系统开发所需要的基本功能,可以满足多数物联网边缘节点项目开发需求。相对 Huawei LiteOS 和 RTThread,Amazon FreeRTOS 无论在功能上、产品成熟度和支持硬件架构上有优势。Huawei LiteOS 提供NB-IoT 端云解决方案,为基于 NB 网络物联网产品开发提供极大便利性。RT-Thread 的特长是开发者多,开源社区在中国很活跃。
物联网操作系统的愿景
2014 年 ARM Mbed OS 发布到今天已经 5 年时间了,市场有十余种开源的 IoT OS,还有一些商业 IoTOS,更准确地说是支持 IoT 应用的商业嵌入式 OS。在一个新的物联网项目启动的时候,开发者通过芯片公司生态系统能很方便接触到 1 ~ 2 种支持 IoT OS的开发板,比如 STM32 Discovery kit IOT node,就实现 Amazon FreeRTOS 和 AliOS Things。新的物联网应用已经看到 IoT OS 的身影,比如 NB-IoT 项目,如果开发者采用 OPENCPU 模块,SDK 里面就包含了 Huawei LiteOS。ARM 和研华公司也展示过国外的Mbed OS 应用,如可穿戴设备和工业物联网场景。IoT OS 更趋向是一种集成技术,将已经成熟的操作系统、通信和云计算技术集成到从传感器到云的物联网场景中。IoT OS 不只是提供 CPU 资源管理和应用编程接口(API)传统意义的操作系统,IoT OS也无法只布置设备端,它需要端云联动。IoT OS 一直由产业界在推动其发展,产业界在寻找可以解决物联网开发过于繁琐、开发团队顾此失彼而延误开发周期的问题,总之是希望为物联网生态系统打造一个类似智能手机的 Android OS 生态环境。IoT OS 的愿景是美好的,目前还处在发展之中。例如,ARM Mbed OS 从 2017 年初 5.6 版本以后加快更新的周期,大约每 3 个月有 1 个新版本出来,到现在已经是 5.12 版本。再如,Amazon FreeRTOS 自2017 年底发布 1.0 版本之后到 2018 年 7 月,不到 1年时间就有 1.1、1.2 和 1.3 三个主要版本。笔者预计还会有新的 IoT OS 出现,以解决物联网发展和应用中出现的新问题,同时,期待着未来有更好的 IoTOS 技术和产品呈现给产业,迎接万物互联、万物智能的时代。