Xiaomi Vela是基于开源实时操作系统NuttX打造的物联网操作系统,Vela可以在各种物联网硬件上提供统一的软件平台,通过丰富的组件和标准化的软件框架,打通碎片化的物联网应用场景。
今年Xiaomi Vela团队成果连连,喜讯不断,获得了行业及市场的充分认可及肯定。
1
首款 Vela 音箱的上市
今年的8月3号,第一款搭载了Vela系统的小爱智能音箱 Play 增强版正式开始发售。这款音箱不仅具有普通智能音箱的功能,同时它支持红外万能遥控和LED钟表,另外这款音箱还是一个家庭网关,通过它可以语音控制家里的Wi-Fi和BLE Mesh的智能设备。
2
国内首次 NuttX 开发者研讨会
8月底,Vela 团队主办的NuttX Online Workshop 2021: China Special Session 圆满完成。小米集团副总裁崔宝秋博士,及行业8位资深嘉宾参与了此次线上研讨会。多平台直播最高观看人数3000+,总互动次数600+。各个答疑环节,观众积极提问,嘉宾热情解答,线上交流会在热烈的讨论氛围中圆满结束,这也是国内首次 NuttX 开发者研讨会,获得业界一致好评。
3
Vela架构师入围Apache基金会
2021开源代码贡献Top5
Apache软件基金会,是国际开源软件项目中十分有影响力的非盈利性组织。Vela的总架构师肖翔,入围Apache 基金会 2021 FY Top 5 开源贡献者,一年提交了2372个patch,深度践行Xiaomi Vela拥抱开源的技术理念。
4
拥抱开源,Xiaomi Vela优势大揭秘
Xiaomi Vela是基于开源实时操作系统NuttX打造的物联网操作系统,Vela可以在各种物联网硬件上提供统一的软件平台,通过丰富的组件和标准化的软件框架,打通碎片化的物联网应用场景。
应用场景
Xiaomi Vela在现阶段,主要会把研发重心集中在消费物联网的两大核心领域,智能家居及可穿戴设备。Xiaomi Vela会率先支持智能家电、智能音箱和智能传感器等品类,然后逐步支持智能手环、手表和耳机等产品。
Vela 的优势: 过去20年,虽然很多公司都尝试过推物联网操作系统,但目前市场并没有出现一个绝对的统治者,这是Vela 的一个机会。下图中为一些常见的实时操作系统和物联网操作系统,与他们相比,Vela 的以下优势让它有机会成为物联网OS的安卓:
常见的实时操作系统和物联网操作系统
高性价比:Xiaomi Vela对系统资源的要求远小于Linux,但是可以提供和Linux系统相近的功能和性能,可以被看作很多低端Linux系统的替代方案,切换到Xiaomi Vela以后,可以降低硬件成本,提升产品整体的性价比。
对异构多核 SoC 的支持全面且成熟:多核异构架构带来了性能、成本和功耗三者之间的一个更好的平衡,Vela 对同构多核架构(SMP)和异构多核架构(AMP)都有成熟的支持,而且在大核 CPU 和小核 CPU 上都可以运行Vela,多个核上提供统一的接口,提升开发效率。
高度可裁剪:可以支持系统资源使用跨度极大的各种产品形态,开发者可根据实际需求对系统进行定制,以最合理的资源适配从低端到高端的各类产品。
标准兼容:由于小米Vela对POSIX接口的兼容,Linux平台上现有的开源库和组件都可以很方便的移植到Xiaomi Vela上,另外由于软件平台对硬件平台作出了隔离和统一,因此厂商的上层应用代码在移植到不同硬件平台时也可以更好的复用。
完整度高:NuttX本身提供了丰富的OS组和应用框架中间件,应用开发者可以利用这些OS组件和应用框架快速的完成系统的定制和应用的开发,减少开发成本,让产品更快的投放市场。
开源的基因:Xiaomi Vela希望可以尽量不重复造轮子,尽可能多的利用开源社区已有的成果,同时与开源共建,积极贡献回馈于社区。
5
Vela 的使命和愿景
使命:让物联网开发变得更高效
愿景:成为消费物联网领域的安卓
6
Vela 的系统架构
Vela 的系统架构
Vela 的架构主要分为三个部分,Nutt 内核、Vela Application Framework,和Vela 工具集。
NuttX 内核
Vela和NuttX的关系可以类比Android和Linux内核的关系 NuttX提供基础的内核功能,包括任务调度、文件系统、TCP/IP协议栈、设备驱动和电源管理等,对上提供标准的POSIX接口。对于这一部分,Xiaomi Vela和NuttX社区是开源共建的关系,Xiaomi Vela 的代码仓库会尽可能和社区的主线保持一致,Xiaomi Vela 大概每两个月会和主线的代码做一次同步,另外Xiaomi Vela 也会把自身对NuttX所做的所有的修改,尽可能同步到主线,Xiaomi Vela 去年贡献了近1/3的patch到NuttX社区,是NuttX社区的最大贡献者。
Vela Application Framework
Xiaomi Vela解决物联网应用碎片化的一个重要途径让Vela像NuttX一样,非常的模块化,让Vela可伸缩、可裁剪,这样Xiaomi Vela可以支持从简单到复杂,从低端到高端的各种产品形态,开发者可根据实际需求对系统进行定制。Xiaomi Vela把Vela的Application Framework看做一个软件中间件,它是各种library、utility和framework的集合,用于支持各种不同的物联网应用。Xiaomi Vela针对多媒体应用开发了multimedia framework,它支持灵活的media graph的配置方式,可以快速的根据不同的业务场景实现定制需求。Xiaomi Vela针对可穿戴设备等对传感器有强需求的应用,开发了sensor framework,它的特点可以把数据源和算法完美的实现解耦,并且还很好的考虑对低功耗的优化。Xiaomi Vela还支持很多的小米生态的 SDK,Mi Connect SDK 是小米的互联互通通信框架,负责IoT设备的本地发现和连接,Mi Cloud SDK,方便开发者更快速的接入小米 IoT 云服务,而 Mi AI SDK 可以把小爱 ASR 和 NLP 的能力快速的赋予嵌入式设备。下层是基础服务框架,包括蓝牙协议栈、OTA和KV数据库,RPC服务等等,另外Xiaomi Vela还提供GUI图形库,以及基于C和JS开发的应用框架
开发者工具
Xiaomi Vela不仅提供IDE和PC Simulator工具,另外Xiaomi Vela还提供一套完整的自动化测试框架,以保证OS和上层应用都可以通过一套CICD流程确保高质量的交付,另外调试工具是传统RTOS的弱项,所以Xiaomi Vela投入了大量的人力开发新的logging和debugging的工具。
7
Vela 对小米的意义
小米的 IoT 平台产品有数千个SKU,面对的消费级物联网市场高度碎片化、极富差异性,对整体的开发效率和标准化都带来了极大的挑战,这时就需要一个统一的软件平台来打通碎片化的物联网应用。
提升软件开发效率和标准化程度
以 IoT 模组为例,Xiaomi Vela 的 IoT 模组采用多个芯片平台,每个平台上Xiaomi Vela都需要基于厂商自己提供的 OS 和 SDK 适配Xiaomi Vela的 SDK 软件,采用 Vela 以后,新模组的开发人力投入可以降低至少一半,老模组的适配工作量降到最低。
降低硬件成本
多核异构架构带来了性能、成本和功耗三者之间的一个更好的平衡,成为消费物联网硬件的一个主流趋势,CPU 从 AP/MPU 向 多核 MCU 降级,带来操作系统从 Linux 到 RTOS 的迁移,而RTOS 需要更少的内存资源,带来硬件成本的降低。
降低硬件成本
更好的互联互通体验
Vela 底层的蓝牙协议栈、TCP/IP协议栈全部自主可控,方便支持各类互联互通极致体验。Vela 上层支持小米互联互通软件框架(Mi Connect SDK),打通家居智能设备间本地发现和连接的通道。
软件定义硬件
Vela 深度参与芯片的定义,持续探索最优性价比方案。
促进行业分工,让整个行业更有效率
在安卓出现之前,手机行业面临现在IoT 行业同样的问题,每个公司都养一个庞大的软件团队,研发效率低下,产品无法快速迭代 Xiaomi Vela希望 Vela 能让整个 IoT 行业的分工更加高效,芯片公司把硬件 SoC 做好,小米 Vela 把操作系统和应用框架、通用组件做好,设备厂商把硬件和上层应用做好即可,大家各自做自己最擅长的事情,减少重复建设和资源浪费。
8
Vela 的落地进展和产品规划
Vela模组
Xiaomi Vela去年通过OTA的方式上线了第一款Vela模组 ,它是一款WiFi 和 BLE 的双模模组,厂商把这款模组嵌入到他们的IoT设备中,设备就可以以“直连接入”的方式快速接入小米IoT 平台,接入后的产品能够直接获得米家APP 、小爱语控,以及和其他米家设备智能联动的能力。
到目前为止,Xiaomi Vela已经成功的落地到包括智能加湿器、空气炸锅、智能晾衣架等12款不同的IoT产品中,预计到今年年底,会有70款不同的产品上线。
Vela模组
9
Vela的规划
Xiaomi Vela接下来的重点工作是把 Vela 的能力从无屏设备扩展到有屏设备, 支持图形交互的新的需求会给Xiaomi Vela带来一些新的挑战。
10
Vela团队贡献
Xiaomi Vela的开源贡献
团队目前有3名 NuttX committer NuttX全球社区贡献前20的 committer,Vela 有5名 去年贡献了约 1/3 的修改到 NuttX 社区 肖翔入围了 Apache 基金会 2021 FY 的 Top 5 开源代码贡献者
Xiaomi Vela的荣誉
2020小米年度技术大奖三等奖 2020小米 AIoT 优秀项目二等奖 2020小米开源年度优秀项目
END