物联网操作系统的现状与未来

2019-07-11 07:26何小庆
张江科技评论 2019年3期
关键词:低功耗开发者开源

■文/何小庆

物联网操作系统是目前IT界的热门词汇。那么,对于物联网操作系统,你了解多少呢?

2018年全球人口75亿,智能手机保有量大约是30亿部。爱立信公司的物联网研究报告指出,2018年物联网设备的数量首次超过智能手机,到2021年物联网设备将超过290亿台。在全球物联网设备无线连接方法中,蜂窝物联网装置依然遥遥领先。最近两年,低功耗广域(LPWA)的物联网装置出货量增长迅速,如NB-IoT和LoRa。物联网应用繁花似锦,此消彼长。从最初智能硬件、共享单车到今天智慧城市、智能制造和新零售,万物互联已经无处不在。面对增长迅速、应用碎片化的物联网系统,业界一直在思考一个问题:PC时代有Windows操作系统、移动互联网时代有安卓(Android)和iOS操作系统,为什么物联网时代没有应用范围广的物联网操作系统呢?

物联网操作系统(Operating System for Internet of Things,IoT OS),是一种在嵌入式实时操作系统基础上发展出来的、面向物联网技术架构和应用场景的软件平台。IoT OS目前没有严格的定义,体系架构和功能各有不同,种类也比较多。例如,ARM Mbed在微控制器(MCU)运行,Android Things在嵌入式处理器上运行,ThreadX的X-WARE由传统的RTOS改进而成。

物联网操作系统的发展历史

IoT OS的起源从两个传感网的操作系统开始:一个是TinyOS,它是美国加利福尼亚州大学伯克利分校的一个项目;另一个是瑞典工学院的Contiki项目,由亚当·邓克尔斯(Adam Dunkels)及其团队开发。邓克尔斯在TCP/IP网络协议方面是一位著名专家。Contiki项目完全采用C语言开发,可移植性非常好,能够运行在各种类型的单片机和微处理器上。2010年,欧洲有一个面向物联网的开源项目——RIOT,RIOT在技术架构上与现在IoT OS非常接近。这3个操作系统都是开源软件,它们对今天的IoT OS产生了深远的影响。

最早的IoT OS开始于2014年,其中最具有标志性的是ARM Mbed OS。同年,上海庆科公司发布了MiCO OS。2015年,华为公司发布了Lite OS。2015年,谷歌公司宣布IoT OS Brillo OS改名为Android Things。2016年,Linux 基金会推出Zephry,它是一个针对资源受限环境开源的实时操作系统(RTOS),在安全架构和技术上有一定特色。2017年,阿里巴巴集团发布 AliOS Things。

2017年底,亚马逊公司发布Amazon FreeRTOS。借助Amazon FreeRTOS在嵌入式系统的影响力,亚马逊公司扩展其在物联网系统中的市场地位。Amazon FreeRTOS结合AWS IoT云和边缘计算Greengrass技术,为开发者提供一站式解决方案。

2018年,ARM公司推出Arm Pelion IoT Platform,继亚马逊公司之后提供端到端IoT安全解决方案。

微软公司在物联网设备端布置Azure Sphere OS,可以运行在单片机上。在边缘侧,微软公司有Azure IoT Edge,它可以在Linux和Windows系统上运行。在云端,微软公司有Auzre IoT Stack,它负责对物联网设备进行安全管理和维护。2019年4月,微软公司收购了嵌入式系统公司Express Logic公司,将其ThreadX RTOS部署在其物联网那个解决方案的端侧。ThreadX是嵌入式系统中颇具影响力的商业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的特长是开发者多,开源社区在中国很活跃。

物联网操作系统发展趋势

随着人工智能的发展,边缘计算是IoT OS发展的一个关注点。2017年ARM公司推出了Mbed Edge,与ARM Mbed Cloud和Mbed OS组成边缘计算的IoT方案。2019年,华为公司发布智能边缘平台IEF,推出开源KubeEdge项目,重点针对平安监控等需要边缘智能的应用场景。微软公司有Azure IoT Edge与Windows/Linux 和Sphere OS配合。亚马逊公司在边缘计算一直走在前列,Amazon FreeRTOS第一个版本就有边缘计算Greengrass应用案例。未来的研究重点是什么?笔者认为,重点将是云端人工智能技术如何透过边缘计算与设备节点的IoT OS结合起来。目前,这些设备节点多是运行在单片机的RTOS或者IoT OS上,无法支持大型的Linux OS和容器技术。

物联网安全是IoT OS发展的另外一个热点,许多IoT OS集成了Mbed TLS。TLS是一种在互联网上实现加密通信的安全协议,Mbed TLS是ARM公司的一个开源版本。许多物联网云具备密钥管理和数字证书功能,多数IoT OS支持安全的空中下载技术(Over-the-Air Technology,OTA)机制。物联网安全是一个复杂的技术和系统工程,需要产业链的通力合作,需要芯片和云端合作提供一套完整解决方案。IoT OS是物联网安全实施和发展的一个很好的平台。

物联网操作系统的愿景

2014年ARM Mbed OS发布到今天已经5年时间了,市场有十余种开源的IoT OS,还有一些商业IoT OS,更准确地说是支持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出现,以解决物联网发展和应用中出现的新问题,同时,期待着未来有更好的IoT OS技术和产品呈现给产业,迎接万物互联、万物智能的时代。

猜你喜欢
低功耗开发者开源
一种高速低功耗比较器设计
五毛钱能买多少头牛
2019开源杰出贡献奖
一种宽带低功耗四合一接收机设计
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用
“85后”高学历男性成为APP开发新生主力军
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
16%游戏开发者看好VR