转载自:https://www.sohu.com/a/430837476_472880

小米在建IoT护城河

2020-11-10 11:45

本文作者:市大妈

MIDC 2020小米开发者大会刚刚过去。整场大会下来,几个印象比较深刻的点是:

  • 雷军宣布扩招5000名工程师;
  • 最新伸缩式大光圈镜头技术;
  • 小爱同学5.0发布;

……

当然了,还有一个更加值得被提及的重点是:

首次亮相的Xiaomi Vela物联网软件平台!

弱水三千,

为何小米取了NuttX这一瓢?

Xiaomi Vela软件平台是基于开源嵌入式操作系统NuttX打造的物联网软件平台。

比起安卓、iOS、鸿蒙等,NuttX知名度不算高,该系统于2007年由Gregory Nutt先生正式开源。发展至今,NuttX以功能丰富、性能稳定、商业化成熟度高赢得了市场的认可。

2016年被三星选为TizenRT操作系统的内核,小米自2017年开始基于NuttX开发物联网产品,2019年在小米的推动下正式进入Apache基金会,NuttX被正式更名为Apache NuttX。

众所周知,小米及其生态链企业的产品特别多,若每个供应商都有自己的一套OS解决方案,那么这种模式下,随着产品越来越丰富,小米的负担也会急剧增大。因此,提供一个统一的RTOS框架,为供应商提供接入该RTOS的驱动也就变成小米迫在眉睫的事情。

在业务驱动的情况下,加之小米不重复造轮子、提高效率的一贯作风,使得基于开源系统进行二次开发变得很好理解。然而,市场上开源或商业的RTOS非常多,为何小米偏偏选择NuttX呢?以下几点或许是这个问题的答案:

兼容性高:NuttX是可商用化RTOS中唯一一个对POSIX API有原生支持的实时操作系统,同时NuttX整体设计、代码组织,编译过程和Linux非常接近,因此很多Linux社区的开源软件可以很方便的移植到NuttX上,从而极大的简化开源软件移植、方便代码复用、降低学习曲线。

完成度高:NuttX集成了文件系统、网络协议栈、图形库和驱动框架,减少开发成本。

模块化设计:所有组件甚至组件内部特性,都可通过配置Kconfig来调整或关闭,可按需对系统进行裁剪,适用于不同产品形态。

代码精简:所有组件都是从头编码,专门对代码和数据做了优化设计。

轻量级:虽然NuttX实现了传统操作系统的所有功能,但是最终生成的代码尺寸还是可以很小(最小配置不到32KB,最大配置不超过256KB)。

社区活跃度高:很多厂商(比如小米、Sony,乐鑫、NXP等)和开源爱好者都在积极回馈社区,贡献活跃度。

Xiaomi Vela目标:

解放开发者,打通碎片化的IoT应用

在拉丁语中,Vela是帆船的意思。

从这个名字可以感受到,小米是希望与厂商、开发者一起,在物联的瀚海中乘风远航的愿景。

随着物联网设备的增多,加强手机与IoT设备之间的协同就变得避无可避,基于此小米正在重点开发小米妙享功能,并且即将开放视频投射和应用协同功能。而为了实现小米秒享在多设备上的应用,则需要一个跨设备的物联网软件平台来支撑,而这个平台便是基于开源嵌入式操作系统NuttX打造的Xiaomi Vela。

据悉,小米Vela拥有高性价比、可剪裁、代码易复用、完整度高四大优势,可以打通碎片化的IoT应用,支持高性价比的MCU设备。该平台是专门用于智能家居、可穿戴设备等算力受限设备上的物联网嵌入式开发平台,并逐步在手表、手环、音箱、智能家电、相机ISP、传感器等更多终端设备中落地。

在发布会上,小米对外公布了Xiaomi Vela的系统架构,如下图:

具体而言,小米Vela主要分为三⼤部分:

底层是NuttX内核:提供最基本的任务调度、跨进程间通信、文件系统等基础OS功能,同时也提供简洁高效的设备驱动、轻量级的TCP/IP协议栈和电源管理等组件;

上层是Vela应用框架:主要分为上下两层,下层是为扩展系统服务提供的通用框架,包括蓝牙通信组件、通信组件、OTA服务、数据本地存储服务,以及对图形用户界面和脚本语言的支持,上层主要是针对不同的物联网应用开发。

右侧是开发者工具:主要提供Logger、Auto test、Emulator、GUI相关开发工具。

打通物联网最基础的功能,

鸿蒙与Xiaomi Vela的异同

在物联网时代,操作系统是最底层基础的系统架构,很多上层应用都基于操作系统才能布局生态。就在小米对外正式发布自家物联网操作系统Xiaomi Vela同一天,华为也举办了一场新品发布会,发布了15款智选新品,这是华为的物联网操作系统鸿蒙OS首次应用在华为智选生态产品上。

而在小米官方对Vela介绍中,Xiaomi Vela对标的其实是华为LiteOS。然而,随着LiteOS融入鸿蒙OS,Xiaomi Vela终将要面对的仍然是鸿蒙OS。

无论是鸿蒙还是Xiaomi Vela,都是为了打通物联网最基础的联通、协同相关功能。但两者仍然略有差异:

在战略层面:鸿蒙OS发布之初,华为官方对标的是安卓系统比;Xiaomi Vela则更倾向于认为是与Linux、安卓等高价操作系统是互补共生关系。

在应用层面:鸿蒙搭载的范围更广,覆盖到了内存配置比较大的领域,搭载华为鸿蒙OS的第一款产品是荣耀智慧屏;Xiaomi Vela更注重低功耗和轻量级的应用场景,其目标应用是智能家居、可穿戴设备等算力受限设备,而非手机、智能电视等。

逐步完善的物联网生态版图,

小米的手机+AIoT野望

  • 2013年,小米开始进军智能硬件领域,初步探索物联网;
  • 2015年,小米首次披露以手机为核心,连接所有设备的物联网战略,正式开启物联网布局;
  • 2019年初,雷军宣布全面All in IoT,未来五年持续投入高达100亿,抓住人工智能、物联网时代的新风口;
  • 2020年初,随着5G时代到来,5G将赋能AIoT,开启万物互联的智能时代即将到来,小米作出重大战略升级,加码为5年投入" +AIoT"500亿元。

这是小米入局物联网领域的一段缩影。

有网友说: 小米这两年成熟多了。相比更早以前的小米,最明显的表现在于公司的战略十分明确,即手机+AIoT双引擎战略。或许这一点可以作为小米更成熟了的佐证。

随着时间的推移,小米的物联网生态版图无疑也正在逐步完善。除了和以往一样,推出了更多新的硬件产品,小米还推出自己的系统平台Xiaomi Vela,试图通过打造核心的软硬件底层。

目前看来,小米畅快连、小米妙享、小米"一指连"UWB技术、小爱5.0、Works With Mijia开放生态,Xiaomi Vela软件平台、小米IoT模组家族以及丰富的小米生态链产品,都在从硬件到软件、从技术到服务、从产 品 到生态等各种维度加强"手机+AIoT"的生态场景体验与繁荣,积极推动整个AIoT场景与行业健康发展,小米物联网技术护城河才真正要建起来。基于目前已有的规模和品牌效应,或许这个进程也会比较快。

小米自2017年开始基于NuttX开发物联网产品相关推荐

  1. 基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部 ...

  2. 【我的物联网成长记3】如何开发物联网应用?

    [摘要] 物联网应用是设备管理.故障监测.数据分析的重要工具.本文介绍如何基于物联网平台开发应用,包括API.SDK和图形化开发三种方式. -------------------整体方案------- ...

  3. 基于阿里云物联网的无人值守远程农业智慧盒DIY之(一)总体设计

    已更新的文章传送门 基于阿里云物联网的无人值守远程农业智慧盒DIY之(二)太阳能-蓄电池板的树莓派供电系统. 基于阿里云物联网的无人值守远程农业智慧盒DIY之(三)arduino土壤湿度监测短信平台. ...

  4. 基于阿里云物联网的无人值守远程农业智慧盒DIY之(二)太阳能-蓄电池板的树莓派供电系统。

    继续(一)总体设计的思路,进行太阳能供电系统的设计.https://iotmaker.blog.csdn.net/article/details/125244134?spm=1001.2014.300 ...

  5. 基于SOUI开发的应用展示

    本页面列出基于SOUI开发的产品 欢迎使用SOUI的朋友提供资源:setoutsoft#qq.com  #->@ U大师 http://www.udashi.com EiisysIM: 是一款为 ...

  6. 基于MDK开发的TencentOS-Tiny软件包,快速移植物联网操作系统到Keil中!

    基于MDK开发的TencentOS-Tiny Software Pack 2021腾讯犀牛鸟开源人才培养计划 2021/9/24 项目导师:TencentOS tiny核心架构师 汪礼超 项目学员:东 ...

  7. 小米8系统推送服务器,小米8推送基于Android 10的MIUI 11开发版

    据IT之家网友反馈,小米8开始推送基于Android 10的MIUI 11开发版.本次更新包大小2.1G,除了升级底层为Android 10之外,还带来了谷歌10月安全更新. 更新日志: MIUI 1 ...

  8. 基于ARM开发板搭建物联网服务器

    基于ARM开发板搭建物联网服务器 一.项目需求 1.1设备需求 1.2知识需求 1.3项目介绍 二.开发环境搭建 2.1阿里云服务器配置 2.2虚拟机交叉编译环境搭建 2.3下载相关应用压缩文件 三. ...

  9. 基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

    前期准备 开发工具 在开发软件之前我们需要先准备一个离线版appinventor,就是这个东西 然后是阿里云互联网所需要的MQTT客户端组件 当然还有必不可少的Android系统的手机. 软件使用与组 ...

最新文章

  1. 使用SSM+JSP实现一个教务管理系统
  2. LaTeX集合运算相关命令
  3. RUNOOB python练习题 32 列表的中括号符号小tips
  4. 《纲要》落地,东方通教你挖数据金矿
  5. 机器视觉LED光源的选择及其性能优势
  6. linux UID的长度,linux下文件数、目录数、文件名长度的各种限制
  7. bzoj 4237: 稻草人(CDQ分治+单调栈+二分)
  8. 51Nod-1640-天气晴朗的魔法(最小生成树)
  9. 设计模式之GOF23代理模式02
  10. idea断点调试继续执行快捷键(keymap设置了eclipse)
  11. 车牌的归属地(省份和地级市) js
  12. 【网络】Padavan 路由器固件设置打印机服务器
  13. 解决ubuntu20.04播放b站视频,提示“May need to install the required video codecs”问题
  14. bttnserv.exe
  15. 分享45个android实例源码,很好很强大
  16. Halcon实例分析——check_blister.hdev
  17. 大整数加法基本思路和代码(C++实现)
  18. FIFO,LPU,CLOCK时钟算法
  19. 怎么更改电脑桌面文件存放路径
  20. Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization文章理解

热门文章

  1. Docker启动常用容器命令及配置说明
  2. 博士申请 | 香港理工大学王淑君老师招收AI医疗方向全奖博士生/实习生
  3. 基本命令--jango学习(一)
  4. 在线教育平台的数据分析——用户精细化运营
  5. MySQL课堂知识点(燕十八老师课堂)
  6. 《计算机硬件技术基础》在线平时作业1
  7. Spring常用到的几种设计模式--工厂模式
  8. KESO投身网络口碑,口碑传播颠覆传统广告
  9. 又见白发送黑发,屡见IT人英年早逝,为什么?
  10. Oracle ORA-01031:权限不足解决方案