• 物联网工程师开发服务平台

MiCO 简介

MiCO(MCU based Internet Connectivity Operating System)是一个基于微控制器的互联网接入操作系统,是一个开发物联网设备的理想软件平台。

MiCO 内含一个面向 IoT 设备的实时操作系统内核,特别适合运行在资源受限的微控制设备上。MiCO 包含了底层芯片驱动、无线网络协议、射频控制技术、应用框架,此外,MiCO 还包含了网络通信协议栈,安全算法和协议,及硬件抽象层,编程工具等开发 IoT 必不可少的软件功能包。 它提供 MCU 平台的抽象化,使得基于 MiCO 的应用程序 开发不需要关心 MCU 具体件功能的实现,通过 MiCO 中提供的各种编程组件快速构建 IoT 设备软件。

关键特性

简单来说,MiCO 是智能硬件底层的一个开源软件系统,有先进的动态功耗管理技术,可灵活适用于广泛的 MCU,具有完整的云端接入框架和应用范例,支持多种类云平台,安全可靠,便于进行二次开发。

MiCO 关键特性如下:

  • 支持多种网络协议栈:Bluetooth®low energy-蓝牙, Wi-Fi,并持续增加中;
  • 多 RTOS 内核可选,并且提供标准的 OSAL 层;
  • 支持 Cortex-M 架构系列微控制器,提供 MCU 平台级的抽象-HAL硬件抽象层接口,使应用程序在各个MCU平台上无缝移植;
  • 全自动并且高效的功耗管理;
  • 支持 IPv4/IPv6 的 TCPIP 协议栈,内置可商用的传输层安全协议 TLS 协议;
  • 基于 MiCO 开发的大量云接入协议,使设备数据快速直达云端;
  • 面向开发者的大量示例程序和说明,可以快速上手;
  • 提供代码管理与维护脚本工具-MiCO Cube,提供完整的开发工作流管理,集版本维护,协同开发,编译下载调试为一体;
  • 提供基于Eclipse开发的集成开发环境-MiCoder IDE,高度可扩展性提升开发效率;
  • 为组件化开发高度定制的编译系统,实现快速的软件集成;
  • 配套提供完整的设备量产技术,如:引导程序,量产烧录,生产测试程序等;

系统架构

mico_frame

简单来说,MiCO本身包括:接口,框架,核心功能和非核心功能四部分。

1.接口

MiCO 定义了两套标准的 API 接口:

  • 面向底层的硬件抽象层HAL API,方便操作系统和应用程序在不同硬件平台上的移植。

  • 面向上层应用的接口函数 MiCO API,应用程序通过这些接口函数实现 MiCO 提供的各项系统功能。

通过这两层标准的 API 接口,使得 MiCO 系统独立于不同的硬件设备,也使得在 MiCO 上的应用程序可以保持独立。遵照这些接口的定义开发,可以保证系统和应用的兼容性。

2.框架

MiCO 中的应用框架是我们从应用中归纳的一些开发范式,开发者在框架下开发,可以以规范的方式快速地实现应用的需求。

  • 应用层框架:在不需要做任何代码编写的情况下,就已经实现了基本和必需的功能框架。当然开发者也可以通过设置和直接调用 API 的方法来实现特殊的运行流程。
  • 硬件配置框架:当改变了硬件设备的连接方式后(如引脚修改),可以在板级配置中快速,简单地修改连接参数。
  • 云服务接入框架:云接入协议组件也为应用程序提供了简单有效的应用框架,应用程序仅需要实现和应用相关的部分即可快速实现应用功能。

3.核心功能

MiCO 系统包含的核心功能,提供了嵌入式设备在物联网开发时必不可少的功能。包括:

  • 实时多线程内核;
  • 网络通讯协议栈;
  • Wi-Fi 网络接口管理;
  • 安全加密算法和协议;
  • 无线网络管理;
  • 文件系统;
  • MiCO 系统服务和框架(核心数据存储,通知系统,本地发现,Wi-Fi配网,本地配置,命令行接口等);
  • MCU 平台硬件驱动;

4.非核心功能

非核心功能为应用程序提供额外的支持,简化开发难度,这些功能有:

服务:在 MiCO 上长时间运行的功能代码,本身就可以实现特定的应用功能,例如,HTTP服务器,HomeKit服务器,DHCP服务器,DNS服务器,本地配置服务器(一些服务由于通用性,已经整合在 MiCO 的核心功能中)等。

通讯协议:符合标准的网络通讯协议,例如:MQTT协议,SNTP协议,HTTP和HTTPS协议,WebSocket,阿里智能云接入协议,以及常用的云接入协议,这些功能可以在应用或者服务中被调用,实现和对端的网络设备进行数据交互。

工具:这些软件模块实现一些常用的软件对象的处理和算法,如Json工具,可以实现Json数据包的构建和解析,String工具,可以实现字符串内容的各种常用处理,URL工具可以用于协议URL地址。这些工具的目的,就是为了简化应用程序的开发难度。

今后一些不重要的非核心功能将逐步从MiCO OS中剥离,提供独立的组件,由开发者有选择性地添加。

5.发布历程

2014年7月22日,上海庆科(MXCHIP)信息技术有限公司携手阿里物联平台发布了全球首款物联网操作系统MiCO。该系统由上海庆科独立研发,是其多年来在嵌入式无线应用领域开发经验的结晶。

2014年底,MiCO 发布不到半年的时间形成了囊括芯片原厂、智能硬件厂商、阿里智能云等的强劲有力的 MiCO 生态联盟。 2014年12月5日,上海庆科(MXCHIP)集结阿里智能云、淘宝众筹、国家体育总局、汉威电子、豹米、鸿雁、杜亚等众多合作伙伴,在上海普陀长征镇举办【集结•突围】首届MiCO联盟峰会,共同探讨“互联网+”背景下厂商如何通过联盟化战略实现共赢。

2016年8月18日,上海庆科发布 MiCO v3.0 版本,及其配套的 MiCoder IDE 集成开发环境,同时发布全新的 MiCO 载体 – 专门针对物联网智能硬件产品的无线通信 MOC 芯片。

为了迎接物联网时代的到来,我们将 MiCO 系统开放出来, 希望它能够帮助 IoT 设备开发者降低软件开发难度,快速形成可以量产的产品,也希望能够得到广大开发者的支持,使它的内涵更加丰富,功能更加强大,开发更加方便,成为 IoT 领域创新的基础平台。

6.其它优势

除上述主要特性,MiCO 还有一些特点成为它区别于其他平台的主要优势,如:

  • 易用性:MiCO 本身脱胎于庆科信息10多年的物联网终端设备开发经验,不仅仅提供一个基础的软件平台,而是提供了大量的软件工具包,并以开源方式呈现,随着版本的升级不断扩充,在开发者平台上也不断有新的软件包可以提供分享。 低功耗:针对嵌入式平台进行优化,软件和硬件的紧密结合大大降低了设备的功耗。处理器和无线网络设备相互配合,均有独立的低功耗模式,并且在必要的时候唤醒对方完成必要的数据处理。

  • 安全性:安全性是物联网可用性的保证,不安全的网络通讯不仅会引起各种用户隐私泄漏问题,还会导致对用户设备的网络攻击,损毁设备,最终摧毁整个物联网服务体系,MiCO内置常用的网络安全算法和安全协议,并在性能受限的嵌入式设备上优化,通过这些功能,可以保证网络通讯的安全和保密,使应用顺利地接入各种安全的云服务。

  • 和云服务的紧密联系:MiCO本身就是实现物联网终端设备的基础软件平台,目的就是方便产品实现物联网的接入。因此,MiCO本身就提供了各种云服务的交互方法,可以方便的接入国内外常用的云平台,如Fog云,机智云,阿里智能云,微信,亚马逊,Azure等。

  • 无线网络和工具:MiCO 的网络连接形式是无线的,保证终端设备的可移动性,也更易于部署。MiCO当前主要支持的无线形式是Wi-Fi,配合庆科信息的Wi-Fi通讯模块可以很方便地在嵌入式设备上增加无线网络功能,通过路由器接入 Internet。 为了方便用户设定无线网络参数,MiCO 可以提供业界最全面的无线网络配置方案,支持EasyLink,AirKiss,Soft AP,WiFi WAC,在同一个MiCO固件上可以同时配合微信,阿里小智,EasyLink等实现网络配置。此外,MiCO 还支持低功耗蓝牙通讯,配合EMW3239模块可以和其它蓝牙设备互联,实现物联网网关应用。

  • 量产工具:基于 MiCO 的智能物联产品已经大量地进入千家万户,在此过程中积累了大量的生产测试经验,这些经验也都融合在 MiCO 中。MiCO 内置的测试模式,可以和庆科信息的生产测试系统配合,用于生产可靠的,可追溯的智能硬件产品。

此外,MiCO本身的代码经过了大量产品的验证,各种在量产中暴露的问题也都一一得以解决。可以说,MiCO 系统是可以帮助开发者实现产品批量的绝佳的系统解决方案。

7.结语

MiCO 系统也在不断的发展中,我们和广大开发者一起,不断地将新技术,新功能整合进去。同时我们将更加专注 MiCO 系统的核心功能,为大家提供更加专业,更加可靠的基础平台。在架构上,通过新技术使得基于 MiCO 的软件更加模块化,开发更加自动化。我们会加大研发新型的嵌入式设备开发方法,提供统一的集成开发环境,调试工具,导入互联网行业的开发语言,进一步简化开发。同时大力发展 MiCO 软件的发布平台,使广大开发者能够在平台上开发,管理,分享各种软件模块。

文本导读目录