- 在PC时代,操作系统是微软的天下;
- 在移动互联网时代,操作系统是google(安卓)和苹果(iOS)的天下;
- 那么在5G万物互联的时代,强调自主可控的中国,操作系统将是谁的天下?
目前国产开源的物联网操作系统主要有三家:
- RT-thread
- 华为LiteOS
- 阿里AliOS-Things
应该选谁呢?
从一个刚入门的物联网嵌入式小白的角度,对这三款物联网操作系统进行横评,希望给面临同样选择困难的朋友一定参考。
先来回顾一下历史,看看发布时间、更新频率和程序员好评度(2020年数据):
正式发布时间 | 更新频率 | 程序员好评度 | |
---|---|---|---|
RT-thread | 2006年,历史悠久 | 版本随着国内物联网发展更新,最新v4.0版本 | github获赞5000+ gitee获赞1700+ |
华为LiteOS | 2015年,华为正式布局物联网 | 鸿蒙OS发布之前更新还挺频繁,2019年6月以后未再发布新版本 | github获赞4000+ gitee获赞500+ |
阿里AliOS-Things | 2017年,阿里正式进军物联网 | 更新快,最新v3.1 | github获赞3000+ gitee获赞100+ |
华为LiteOS与自家的鸿蒙OS关系有点微妙,据说是都是使用相同内核,liteOS针对小型简单的物联网设备,鸿蒙OS偏重于功能更复杂的智能设备。但是横向对比更新频率可以看出,华为对LiteOS的支持明显变少,在华为官方的案例中,LiteOS的应用除了水表就是路灯,感觉更偏重于NB-IoT;而RT-thread和AliOS-Things都保持着相对合理的更新频率。
程序员好评度上,RT-Thread完胜,不得不说,十余年的技术沉淀得到这种好评是理所应当的。AliOS-Things由于发布时间较晚这方向相对就比较吃亏。
实际上手试试
接下来,实际体验三款操作系统的上手难度,包括环境搭建,文档完善程度,调试开发等。
环境搭建 | 参考文档 | 调试开发 | |
---|---|---|---|
RT-thread | 只需安装RT-thread Studio就可快速编译点灯程序(嵌入式的Helloworld); (非必选)辅助开发工具stm32cubeMX快速生成硬件相关代码; | 非常丰富! 丰富详细! 还有代码样例! 关键是样例可以编译通过! | RT-thread支持多种仿真器,J-link,DAP-link,st-link |
华为LiteOS | 安装华为LiteOS Studio,默认只支持4个bps不说,其中还有一个bps编译不过,要是小白上手正好选到那个就得折腾好半天。 | 找环境安装的文档就花了5分钟,整个参考文档结构混乱,而且以接入华为物联网云为中心编写,几乎不能指导开发。 | st-link |
阿里AliOS-Things | 安装Python,装Git,安装AOSCube,安装vscode,安装插件,然后才能编译出一个点灯程序。 | 文档结构清晰,但是要了解详细功能只能靠读代码。 | j-link |
鞋子合不合适只有脚知道,系统好不好用过之后才有发言权!这一部分先说结论,用过RT-thread开发环境之后,再也不想用LiteOS和Ali-things。最奇怪的是华为LiteOS,进入参考文档网页真的找不到“快速开始”或者“开发环境”之类的目录,上图为证:
阿里AliOS-Thing环境安装的步骤较多,文档有待丰富,基于vscode的插件提供的开发调试功能有限。
周边生态和功能组件
做操作系统就是做生态!操作系统适配的硬件(mcu、bsp、传感器、通信模组)越丰富、支持的程序和组件越多(协议栈、各种框架)生态就越丰富。
MCU | BSP | Sensor | |
---|---|---|---|
RT-thread | 几乎支持市面上所有类型 | 150+ | 丰富 |
华为LiteOS | ARM cortex-a/r/m系列 | 10+ | 还行 |
阿里AliOS-Things | 基本支持市面上主流类型 | 100+ | 还行 |
如果说开发环境不好用都还可以忍,那么如果移植困难,组件不好用程序员真的会放弃使用。在支持的BSP方面,华为LiteOS又一次垫底。在组件方面,虽然三款操作系统都有功能类似的协议栈、AT组件、SAL、传感器框架。但是,从丰富性、易用性、便利性、样例这几方面来看,RT-thread都明显更胜一筹。
结论
套用一句曾经的广告语:
”RT-thread,谁用谁知道!“
- 对于物联网嵌入式小白,如果要准备学习入门,推荐RT-thread,文档非常丰富,还带顺带教授基础的嵌入式知识。
- 对于需要迅速迭代完成硬件功能验证的开发者,推荐RT-thread,可以节约开发时间,减少加班。