MiCO物联网操作系统漫谈
【摘要】
电脑联网成了互联网,手机联网成了移动互联网,物物联网成了物联网。近些年来物联网发展非常迅速,上海庆科在物联网领域积累了多年的经验,从无线模块到操作系统、从开发平台到院校合作,到创客项目,在不断地发展中,逐步形成了自有的生态系统。物联网改变了人物交互的方式,也改变了一些相关的商业模式,我们可以从中想到或做点什么呢?
MiCO物联网操作系统
2014年7月,上海庆科发布了中国首款物联网操作系统-MiCO。MiCO是什么样的一款物联网操作系统呢?来自MXCHIP官网的解释是:MiCO即Micro-controller based Internet Connectivity Operating system,是基于微控制器(MCU)的互联网接入操作系统。开发者可以在各种微控制器平台上,基于MiCO来设计接入互联网的创新智能产品,实现人,物互联。
MXCHIP认为:“如今,物联网面临诸多的问题,如设备端MCU平台的多样性、产品的联网功能需求成为关键、通用性及成熟度影响产品体验、设备端采用不同协议、用户希望互联设备端支持不同的协议……正因如此,我们需要一个系统解决方案来解决这些问题,这是物联网操作系统的意义,也是MiCO横空出世的原因。”
从其描述来看,MiCO物联网操作系统主要有四个主要要素:微控制器、操作系统、互联网接入、安全。
微控制器
从上面的描述来看,MiCO物联网操作系统是运行于微控制器(MCU)上的嵌入式实时操作系统(embedded RTOS)。
我们日常所用电子产品一般都会有微控制器和处理器。微控制器与处理器有什么不同?从应用上做个简单的比较了解:
一般传统电子产品作为单品独立运行,无法进行联网交互操作,如何让这些电子产品也能连接上网,这也正是MXCHIP公司要做的事情。
物联网和可穿戴设备等新兴产业的发展,促进了微控制器和处理器的发展。处理器越来越轻量化、便携化;微控制器处理性能越来越高。如ARM公司发布了Cortex-M7产品,其主频最低是200MHz,未来最高可达400MHz,主要面向高端嵌入式市场,包括马达控制、工业自动化、高级音频、图像处理、联网车载应用、物联网和穿戴式设备等应用领域;Intel公司针对物联网、可穿戴领域推出主频为400MHz的Quark处理器,支持Yocto Linux、VxWorks等操作系统。微控制器和处理器相向发展,在物联网、可穿戴等新兴产业领域里交融。在市场中各有各自的优势,微控制器性能的提升及其低功耗特性,可以较低的成本满足一些高端嵌入式应用需求;处理器可以继续发挥原有的一些资源优势,拓展和延伸了应用范围。MXCHIP公司的产品是基于微控制器的应用,为现有产品或创新产品以低成本解决方案接入互联网。
发展往往是从新开始的。新兴的市场为MiCO物联网操作系统的应用带来了新的发展空间。
操作系统要在不同内核和指令集的微控制器上运行,需要进行相关的移植工作。MiCO物联网操作系统为开发者移植好了基于市场主流的微控制器。目前,MiCO操作系统支持的微控制器厂家有:
操作系统
嵌入式微控制器为什么需要操作系统?早期的微控制器程序容量好多都是4/8KB,功能简单,一般直接用汇编语言或C语言开发,没有必要去跑一个嵌入式操作系统。嵌入式微控制器性能的提升以及物联网连接需求的发展,中间件或组件的增多,工程项目复杂度的提高,就需要一个操作系统来管理MCU资源、分配调度任务、调用系统功能,使开发者仅需关心自己的应用。
基于微控制器的MiCO物联网操作系统不仅仅是一个简单的嵌入式实时操作系统(RTOS),而且还包含了大量中间件或组件,提供互联网接入的支持。
市场上也出现了不少关于物联网的操作系统,下面列出了市场一些主要的操作系统:
从一些公开的信息来看,华为LiteOS和HelloX采用了跨芯片架构,使得其既可以在处理器上运行、又可以在微控制器上运行。未来可能会来的Google Brillo和Windows 10 IoT则会在处理器上运行。从目前MiCO官方来看,还没有支持在处理器上运行,这也跟其市场定位有关,专注嵌入式MCU市场应用。
一个嵌入式物联网操作系统需要具备那些要素?笔者列出了下面几点:
联网、兼容不同协议是物联网操作系统的内在需求,也在物联网核心的价值。操作系统提供基础的系统服务,不少的操作系统也都是开源免费的,通过操作系统来盈利较难,提供基于操作系统安全可靠的中间件/组件或协议栈是非常有商业价值的。
由于半导体技术的进步,微控制器性价比越来越高,价格越来越便宜,价值正从下面向上转移(如下图),当所有“物”连接成网,基础设施建设好以后,人们得到的将会是信息和服务。物联网的发展,不仅仅是将 “物”连上了网,而且也会连接出了一些新的商业模式。
物联网的发展催生了许多做模块的公司,连接上网变得简单了。如果能将中间件/组件或者协议栈,都可以移植、运行于一些主要的操作系统上,那么对于开发者来说会更加方便,对物联网开发也是一个促进。基于ARM Cortex-M系列产品的厂家众多,统一的内核和指令集也为实时操作系统(RTOS)移植和兼容提供了方便的基础。“万物并育而不相害,道并行而不相悖”。
互联网接入
MXCHIP无线产品列表:
从MXCHIP无线模块的产品来看,还是以Wi-Fi模块为主,Wi-Fi也是互联网接入较为方便的入口。MXCHIP在Wi-Fi开发和应用上有了多年的经验积累。
MiCO也在支持和发展一些中间件,如Wi-Fi、ZigBee、TCP/IP、Bluetooth、NFC等。
MiCO物联网操作系统互联网接入示意图:
物联网开发
微控制器的开发离不开编程语言,从早期的机器语言到现在的C语言,C语言已是开发者主要的开发语言了。无论是那种语言最后都是需要编译器将其翻译成机器语言,下载到微控制器里才能运行。
编程技术总是在不断地向前发展,半导体公司总是想方设法让开发者越来越简单地使用产品,开发者总是追求敏捷高效地进行产品的开发和创造。MiCO以C/C++为主,并已经支持Java、脚本语言Lua等。
ST公司的STM32Cube软件,让工程师开发越来越简单,开发软件集成了最基础最基本的功能固件,开发者只需要点下鼠标,就可以生成需要的工程文件,包括STM32使用的各种中间件或固件,大大方便了开发者的开发。Arduino则是面向了电子爱好者的电子原型平台,降低了开发者的门槛,不需要了解深入的原理和驱动,使用简单的高级语言就可以开发出一些创意的产品出来。如果Arduino是面向电子爱好者的话,那基于Scratch的Arduino编程环境-S4A,则是面向少年的编程工具,编程更为简单,拖动一下就可以完成。
传统的电子产品开发都还是基于单品的开发,需要深入了解微控制器结构原理。而在物联网时代,物联网的开发已不再是单品的开发,是一个系统产品的开发,也是一个模块化“组装”,将不同的产品连接在一起实现一个物联网的应用。
流行的一句话是:不重复制造轮子。模块化的产品是物联网开发的“轮子”,语言是协议。从物联网产品开发的角色来看,可以分为开发者、使用者、创造者。MXCHIP显然是“轮子”的开发者。
MiCO提供了无线模块以及基于无线模块的应用和接口,为工程师提供了丰富的“轮子”或“材料”,让工程师开发更加简单高效。
MiCOKit开发套件提供了一个开箱即用的智能硬件解决方案,使您的产品可以快速、安全地连接至云服务平台和手机端。套件包括MiCOKit开发板和快速连接到云平台的演示应用程序,使用智能手机或平板电脑就能进行安全控制和操作。
开放的生态
MiCO开放生态
物联网的开发不再是一个产品简单的开发,涉及到手机和云服务等的方方面面。MXCHIP正建立一个开放的生态,为开发者提供全面的支持。
为推进MiCO的发展,MXCHIP专门开设了mico.io论坛,加强与开发者的交流互动。还与国内一些知名论坛合作(阿莫论坛、正点原子、CSDN、21ic、电子发烧友等)合作,与院校合作推进物联网教育、培养物联网复合型人才,为创客们提供一些支持及项目孵化。
创客作为中国有创意、有活力的一个群体,MXCHIP提供了比较全面的支持,支持创客并孵化其项目。
商业生态系统
生态系统一般是指自然界中生物与环境之间的关系,现常于商业环境中,称之为“商业生态系统”。商业生态系统中企业、组织或参与者之间相互依存、共生、共荣。
物联网时代,不仅仅是产品的连接,连接的也是一种新的商业模式。ARM公司建立了社区化的生态系统,尤其是mbed.org,改变了之前MCU各自为核,相互竞争的态势,将不同公司不同产品的资源整合到了一起,产品有竞争也有合作。Intel通过“硬享公社”并通过互联网的形式提供快速、便捷且能满足中小企业和创客需要的服务支持,覆盖“创意—原型—产品—销售”各个环节,形成闭环从而实现一站式服务。
物联网的开发已不再是一个单品开发,是一个系统化的产品开发,这就需要开放与协作。 物联网是一个创新共享的时代,资源的共享为创新提供了一个平台。竞争不再是一个单品的竞争,而是一个商业生态系统的竞争。
“既以为人,己愈有;既以与人,己愈多”。合作才能共赢、帮别人成功自己才会成功。
(文章与图片来源:网络,版权归原作者所有,如有侵权联系删除)