
2014年7月22日,上海庆科(MXCHIP)信息技术有限公司(以下简称上海庆科)携手阿里物联平台在沪发布了由上海庆科研发的中国首款物联网操作系统MICO。

MICO(Micro-controller based Internet Connectivity Operatingsystem,基于微控制器的互联网接入操作系统)是一个面向智能硬件设计、运行在微控制器(MCU)上的高可靠、可移植的操作系统和中间件开发平台。
MICO作为针对微控制器(MCU)的物联网应用操作系统(OS),并不是一个简单的实时操作系统(RTOS),而是一个包含大量中间件的软件组件包,它可支持广泛的MCU,上海庆科拥有的完整Wi-Fi连接解决方案,可通过内建的云端接入协议,以及丰富的中间件和调试工具,支持快速开发智能硬件产品。该系统包括了底层的芯片驱动、无线网络协议、射频控制技术、安全、应用框架等模块,同时提供阿里物联平台、移动App支持,以及生产测试等一系列解决方案和SDK。
这使得“软制造”创业者可以简化底层的投入,真正实现产品的网络化和智能化,并快速量产。
MICO系统具有以下特点和优势:
● 高能效:该平台上CPU的利用率极高,为智能硬件提供了多线程实施操作方案。
● 实时性:精确的时间控制,可以实现硬件端、移动端、云端的实时交互和状态更新。
● 灵活性:可运行在多种MCU平台上,用户可以针对应用方向和喜好选择嵌入式硬件平台。
● 连通性:拥有完整的解决方案,包括简易的无线网络配置,智能硬件的初次设置,超快速无线网络接入,本地设备、服务的发现,异常处理,身份认证,以及安全交互等。
● 云服务:提供完整的接入框架和应用范例,支持国内外典型的云计算平台,如阿里云。
● 低功耗:先进的动态功耗管理技术,可根据当前的应用负载,采用自适应的功耗控制策略。
● 安全性:完整的网络安全算法,保证云端数据的安全可靠。
● 易用性:提供面向物联网的应用程序框架及移动端应用范例,包括对AppleHomeKit及中国闪联协议的支持。
● 稳定性:历经10年国内外800多家客户的测试和验证,是一个已被证明了的稳定、可靠的物联网操作系统。

庆科物联网操作系统结构
MICO作为独立的系统,拥有开放架构,它并不依赖于微控制器(MCU)型号,同时具有硬件抽象层(HAL)。此外,固件的应用开放接口已实现多种应用层协议:海尔、美的、AO、Apple MFi 、HomeKit、Siri语音控制等。MICO在提供完整智能产品解决方案的基础上,充分利用阿里物联平台稳定可靠的基础架构和服务平台,可快速实现智能产品的云端可靠接入和有效管理。
与传统硬件的开发流程相比,由于涉及App开发设计、云端方案、联网硬件方案,以及教育用户、培育市场等环节,使得智能硬件开发过程更为复杂和冗长。在这一背景下,上海庆科着重提供物联网生态环境培育,降低物联网应用开发的成本和时间,为物联网系统的良性发展奠定基础。
MICO TM的产业生态系统包括开发环境、应用范畴和行业应用。列举如下:
● 以32位微控制器为基础,支持Eclipes、IAR、KEIL等编译环境。
● 支持ST、Atmel、NXP、Freescale和Microchip系列主流厂商。
● 支持Broadcom Wi-Fi低功耗射频技术。
● 支持Apple Homekit、阿里智能云、京东智能云。
● 定位于智能家电、照明、医疗、安防、娱乐行业。
作为此次MICOTM发布的协助者,阿里物联平台拥有强大的营销资源、云计算能力、大数据能力、安全保障能力及技术资源,能够帮助智能硬件降低生产成本,提供营销渠道和系统服务,这也是上海庆科与阿里物联平台成为平台级合作伙伴的原因。采用庆科MICOTM与阿里物联平台之后,开发者可以降低50%以上的工作量。
相关数据显示,2020年物联网市场价值将达到1.1万亿美元,MICOTM的诞生将为迅速崛起的国内物联网市场搭建起一盏“领航灯”,让物联网在各个领域的发展前景更加光明。
MICO物联网操作系统主要有四个主要要素:微控制器、操作系统、互联网接入、安全。
1.微控制器
MICO物联网操作系统是运行于微控制器(MCU)上的嵌入式实时操作系统(Embedded RTOS)。我们日常所用电子产品一般都会有微控制器和处理器。微控制器与处理器有什么不同?下面从应用上做个简单的比较了解

一般传统电子产品作为单品独立运行,无法进行联网交互操作,如何让这些电子产品也能连接上网,正是物联网技术要解决的事情。物联网和可穿戴设备等新兴产业的发展,促进了微控制器和处理器的发展。处理器越来越轻量化、便携化;微控制器处理性能越来越高.

例如,ARM公司发布的Cortex-M7产品,其主频最低是200MHz,未来最高可达400MHz,主要面向高端嵌入式市场,包括马达控制、工业自动化、高级音频、图像处理、联网车载应用物联网和穿戴式设备等应用领域;Intel公司针对物联网和可穿戴领域推出了主频为400MHz的Quark处理器,支持Yocto Linux、VxWorks等操作系统。微控制器和处理器相向发展,在物联网、可穿戴等新兴产业领域里交融。

微控制器和处理器在市场中各有优势,微控制器性能的提升及其低功耗特性,可以较低的成本满足一些高端嵌入式应用需求;处理器可以继续发挥原有的一些资源优势,拓展和延伸了应用范围。物联网领域的产品是基于微控制器的应用,为创新产品以低成本接入互联网提供了解决方案。
发展往往是从创新开始的。新兴的市场为MICO物联网操作系统的应用带来了新的发展空间。
操作系统要在不同内核和指令集的微控制器上运行,需要进行相关的移植工作。MICO物联网操作系统为开发者移植到基于市场主流的微控制器。

MICO物联网操作系统支持的微处理器
2.操作系统
嵌入式微控制器为什么需要操作系统?早期的微控制器程序容量好多都是4KB或8KB,功能简单,一般直接用汇编语言或C语言开发,没有必要去跑一个嵌入式操作系统。嵌入式微控制器性能的提升,物联网连接需求的发展,中间件或组件的增多,以及工程项目复杂度的提高,都需要一个操作系统来管理MCU资源,分配调度任务,调用系统功能,使开发者仅需关心自己的应用即可。
基于微控制器的MICO物联网操作系统不仅仅是一个简单的嵌入式实时操作系统(RTOS),而且还包含了大量中间件或组件,提供互联网接入的支持。
市场上也出现了不少关于物联网的操作系统,下面列出了市场上一些主流的操作系统。

从一些公开的信息来看,华为LiteOS和HelloX采用了跨芯片架构,使得其既可以在处理器上运行,又可以在微控制器上运行。谷歌Brillo和Windows 10 IoT则会在处理器上运行。目前MICO还不支持在处理器上运行,这也跟其市场定位有关,其专注于嵌入式MCU市场应用。
一个嵌入式物联网操作系统需要具备哪些要素?

联网、兼容不同协议是物联网操作系统的内在需求,也是物联网核心的价值。操作系统提供基础的系统服务,而且不少的操作系统也都是开源免费的。通过操作系统来盈利较难,提供基于操作系统安全可靠的中间件/组件或协议栈则是非常有商业价值的。
由于半导体技术的进步,微控制器性价比越来越高,价格越来越便宜,价值正从下面向上转移,当所有“物”连接成网,基础设施建设好以后,人们得到的将会是信息和服务。物联网的发展,不仅仅是将“物”连上了网,而且也会连接出一些新的商业模式。

物联网的发展催生了许多做模块的公司,连接上网变得简单了。如果能将中间件/组件或者协议栈,都移植、运行于一些主要的操作系统上,那么对于开发者来说会更加方便,对物联网开发也是一个促进。中间件的概念如图5.21所示。基于ARMCortex-M系列产品的厂家众多,统一的内核和指令集也为实时操作系统(RTOS)移植和兼容提供了方便的基础。“万物并育而不相害,大道并行而不相悖”。

微控制器加载操作系统和中间件
3.互联网接入
从庆科公司无线模块的产品来看,还是以Wi-Fi模块为主,Wi-Fi也是互联网接入较为方便的入口。MXCHIP在Wi-Fi开发和应用上有了多年的经验积累。MiCO也在支持和发展一些中间件,如Wi-Fi、ZigBee、TCP/IP、Bluetooth和NFC等。

4.物联网开发
微控制器的开发离不开编程语言,从早期的机器语言到现在的C语言,而C语言已是开发者主要的开发语言了。无论是那种语言,最后都是需要编译器将其翻译成机器语言,下载到微控制器里才能运行。

编程技术总是在不断地向前发展,半导体公司总是想方设法让开发者越来越简便地使用产品,而开发者总是追求敏捷高效地进行产品的开发和创造。MICO以C/C++为主,并支持Java和脚本语言Lua等。
ST公司的STM32Cube软件,让工程师开发越来越简单,开发软件集成了最基础、最基本的功能固件,包括STM32使用的各种中间件或固件,开发者只需要点下鼠标就可以生成需要的工程文件,方便了开发者的开发。Arduino是面向电子爱好者的电子原型平台,降低了开发者的门槛,不需要了解深入的原理和驱动,使用简单的高级语言就可以开发出一些创意的产品。如果说Arduino是面向电子爱好者的话,那么基于Scratch的Arduino编程环境-S4A则是面向青少年的编程工具,其编程更简单,不同层次的开发环境如图:

传统的电子产品开发都是基于单品的开发,需要深入了解微控制器结构原理。而在物联网时代,物联网的开发已不再是单品的开发,是一个系统产品的开发,也是一个模块化“组装”,是将不同的产品连接在一起实现一个物联网的应用。有句话说:不重复制造轮子。模块化的产品是物联网开发的“轮子”,语言是协议。从物联网产品开发的角色来看,可以分为开发者、使用者和创造者。

MICO提供了无线模块及基于无线模块的应用和接口,为工程师提供了丰富的“轮子”或“材料”,让工程师开发更加简单高效。
MICOKit开发套件提供了一个开箱即用的智能硬件解决方案,使用户的产品可以快速、安全地连接至云服务平台和手机端。其套件包括MICOKit开发板和快速连接到云平台的演示应用程序,使用智能手机或平板电脑就能进行安全控制和操作。

MICO物联网操作系统开发套件(开发板)功能示意图
5.开放的生态
物联网的开发不再是一个简单的产品开发,涉及手机和云服务等方方面面。MICO物联网操作系统正在建立一个开放的生态,为开发者提供全面的支持:

MICO物联网操作系统的生态
为推进MICO的发展,MXCHIP专门开设了mico.io论坛,加强与开发者的交流互动。除此之外,MXCHIP还与国内一些知名论坛合作(如阿莫论坛、正点原子论坛、CSDN社区、21ic论坛、电子发烧友论坛等)合作,与一些高等院校合作推进物联网教育,培养物联网复合型人才,为创客们提供一些技术支持及项目孵化。
生态系统一般是指自然界中生物与环境之间的关系,现常用于商业环境中,称之为“商业生态系统”。商业生态系统中,企业、组织或参与者之间相互依存、共生、共荣。
物联网时代,不仅仅是产品的连接,连接的也是一种新的商业模式。ARM公司建立了社区化的生态系统,尤其是mbed.org,改变了之前MCU各自为核、相互竞争的态势,将不同公司、不同产品的资源整合到了一起,产品有竞争也有合作。Intel通过“硬享公社”并通过互联网的形式提供快速、便捷且能满足中小企业和创客需要的服务支持,覆盖“创意—原型—产品—销售”各个环节,形成闭环从而实现一站式服务。
物联网的开发已不再是一个单品开发,而是系统化的产品开发,需要开放与协作。物联网是一个创新共享的时代,资源的共享为创新提供了一个平台。相应地,物联网时代的竞争不再是单品的竞争,而是商业生态系统的竞争。


