首页 首页 物联网 查看内容

物联网操作系统的研究与实践

木马童年 2019-8-14 15:45 30 0

潘爱民 (杭州指令集智能科技有限公司CEO,浙江杭州310012)摘要:物联网相关的系统技术是当前的一个热点,既有基于云计算的物联网平台技术,也有物联网设备 采用的操作系统技术,还有边缘计算所用到的系统软件技术 ...

潘爱民 (杭州指令集智能科技有限公司CEO,浙江杭州310012)

摘要:物联网相关的系统技术是当前的一个热点,既有基于云计算的物联网平台技术,也有物联网设备 采用的操作系统技术,还有边缘计算所用到的系统软件技术等。本文首先阐述了在物联网场景中所需要的 系统软件,并回顾了物联网设备常用的操作系统,然后提出了本文对于物联网操作系统的定义,它是特指 在物联网设备的使用场景中,能够将各种物联网设备集合起来发挥作用、管理此场景中软硬件资源的系统 软件。最后介绍了一个工业界实践中的物联网操作系统—指令集智能操作系统。

关键字:操作系统;物联网;智能设备;物联网操作系统

1 操作系统的演进

操作系统经过了几代的发展,从最早期的多任 务操作系统,如Multics和UNIX,到适用于个人电 脑的多处理器操作系统,如Linux和Windows,再 到最近10多年广泛流行的移动操作系统,如iOS和 Android,其核心技术已经非常成熟,软件复杂度 也达到了上亿行代码的规模。操作系统的每一次大 发展必定跟计算机硬件的发展密切相关。随着物联 网(IoT)时代的到来,操作系统也必将迎来新的 发展。

表1 总结了每一代操作系统的特征。

物联网操作系统的研究与实践

2 物联网需要什么样的基础软件

  物联网的核心是各种物体连接到互联网:互联网仍然是基础,物联网并没有再造出一个独立的网络, 但是对互联网进行了扩展和延伸,允许各种物体通过 互联网交换信息和通信。大量的物体都连接到了网 络,最直接的效果是,这些物体都可以被远程操控, 例如,物体的状态显示在任何一个屏幕上,物体上的 开关可以由远端的软件来控制。譬如,在图1中,体重计是一个物联网设备,它能够连接到后台服务器, 上报数据和状态,远程用户可以通过连接服务器来获 得体重计的数据和状态。

物联网操作系统的研究与实践

  在这样的环境下,我们可以看到有三个地方需要软件:一是体重计上的软件;二是服务器上的软件,完成体重计设备的状态监测以及数据记录和报告;三是客户端的软件,显示所需要的信息或者接受用户的指令。

  首先,体重计需要一个操作系统来完成基本硬件的能力,包括连接网络的能力。这样的系统很成熟,门槛也不高,对于体重计,用一个单片机(MCU)就可以让它工作起来,或者也可以用一个嵌入式系统,功能更强大。其次,在后台服务器需要一个服务软件,一方面与体重计进行连接与通信,另一方面也允许远程用户连接上来并指定相应的体重计设备,以便查看信息或者对它进行控制。客户端的功能通常用浏览器来完成,不需要额外安装软件;也可以用移动应用或者各种形态的小程序的形式来跟服务器通信。

  几乎每一种物联网设备,为了让它们以联网的方式工作起来,都需要像体重计这样的软件架构。概括起来,物联网设备的软件分如下两部分(如图2)。

物联网操作系统的研究与实践

  在设备硬件上,用一个软件程序让设备工作起来,并且具备连接网络的能力;

  需要有一个服务软件能够为这个设备提供各种便利的服务。

  在某些特定情况下,可以把以上两方面的软件功 能都放在设备上完成,这样就不需要后台服务器,因 而客户端可以直接连接设备。但这通常仅限于一些计 算和存储能力较强的设备,并且对部署方式也有要求 (比如智能路由器)。本文不讨论这样的设备实例和 软件架构。

操作系统的意义在于,对硬件的基本功能进行抽 象,从而做到各种应用软件无需直接跟硬件打交道就 可以操控硬件。针对如图2所示的软件划分,我们可 以抽象出下面的操作系统来协同工作。

物联网设备操作系统。这是运行在设备上的软 件,常见的是嵌入式操作系统,用恰当的软件把设备 驱动起来,让它们正常地工作;

物联网操作系统。这是工作在设备之外的服务 器上的软件,它提供了设备功能之外的扩展或延伸能 力,譬如远程访问能力、历史数据记录和分析能力、 多个设备的协同功能,等等。

物联网设备操作系统很容易理解,有大量的教科 书或专著来详细讲解现代操作系统的软件结构和相应 的资源调度算法[1]。物联网操作系统是一个相对比较 新的概念,但事实上又广泛存在着大量的软件在完成 这些功能。很多设备厂商需要搭建一个后台服务系 统,甚至还有不少厂商开发了客户端移动APP。这就 是典型的、在操作系统缺位的情况下,硬件厂商不得 不自己研发软件系统的情形。而理想的情况是:存在 通用的物联网操作系统,可以让设备厂商专注于设备 研发,设备厂商只需开发驱动软件以及简单的应用软 件就可以让设备用起来。

3 物联网设备操作系统

  物联网设备所在的硬件环境往往有以下特点。

   连接。这是物联网设备的必要功能,以特定 的方式连接到计算机网络,进而连接到互联网。常 见的接入协议有Zigbee、蓝牙、Wi-Fi、NB-IoT或 RoLa等。

   低功耗。这些设备需要长时间(几个月,甚至 几年)运行,对电量的消耗有苛刻的要求,通常只能 靠电池供电。

   安全。设备要能报告自己的状态,并且有一定 纠错和保密的能力,还要避免被仿冒和入侵。

   标准。每一种设备都隶属于特定的行业,而成 熟的行业往往已经形成了相应的工业标准,最起码也 有事实上的参考标准。

  运行在物联网设备上的操作系统往往有多种选 择,取决于设备本身的计算和存储能力,一般地,可 分为微控制器(MCU)和中央处理器两大类。典型的 有以下一些操作系统。

   ARM Mbed OS[2]。ARM公司专门针对IoT设备 的开源操作系统,主要支持Cortex-M微处理器。

   FreeRTOS[3]。针对嵌入式设备的开源实时操 作系统,支持众多的微处理器。FreeRTOS有三个商 业性质的衍生版本:SafeRTOS、Amazon RTOS及 OpenRTOS。

   RT-Thread[4]。类似于FreeRTOS的设备侧实时 操作系统,支持大量的微处理器架构。这是难得的国 内成长起来的操作系统,且经营了良好的社区氛围。

   LiteOS[5]。是华为研发的轻量级开源实时操作 系统,在设计上支持Arm、x86和RISC-V微处理器。

   Zephyr[6]。是Linux基金会的一个项目,针对资 源受限和嵌入设备的实时操作系统,支持多种主流的 微处理器架构。

   嵌入式Linux。是Linux操作系统的一个剪裁版 本,它继承了Linux的优势和大量的社区资源,又具 有嵌入式操作系统的特性。OpenWRT是嵌入式Linux 的一个发行版,广泛应用于诸如智能路由器、智能家 居等设备。

   Android Things[7]。Google针对物联网设备的 开源操作系统,它是在Android基础上进行剪裁形成 的,对系统资源的要求比Android低很多。

   VxWorks[8]。是一个老牌的实时操作系统,支持 众多处理器架构,广泛应用于军事、航空、航天等高精 尖和对实时性要求极高的领域,最经典的莫过于NASA 的火星探测车上装载了VxWorks操作系统(如图3)。

物联网操作系统的研究与实践

  以上列举的设备操作系统,除了VxWorks,代码 都是开源的,并且有相应的开发者工具和社区,背后 有商业公司在支持。可以说,这些实时操作系统为物 联网时代设备的繁荣提供了最核心的软件支撑,它们 一方面吸收了操作系统领域的研究成果,另一方面也 针对嵌入式设备或物联网设备进行了优化和剪裁。

  顺便提一下,很多文献资料把设备操作系统称为 物联网操作系统[9-11],甚至提出未来可否有一个统一 的物联网操作系统。笔者认为,由于物联网设备的多 样性和差异性,用一个系统来统一驱动各种设备是不 合理的,也是不现实的,但是这种努力会对设备操作 系统的架构演进有帮助,使架构更灵活,在不同计算 能力的设备上有更好的伸缩性,并且可沉淀出高质量 的可复用软件模块(譬如连接协议、渲染引擎、执行 引擎等)。

物联网操作系统的研究与实践

4 物联网操作系统

设备操作系统解决的是设备怎么联网、如何更方 便地联网的问题,但没有解决联网之后做什么以及如 何做的问题。从长远发展来看,后者无疑更为重要。 这就是前文提到的物联网操作系统,它特指在物联网 设备的使用场景中,能够将各种物联网设备集合起来 发挥作用,并管理此场景中软硬件资源的系统软件。

我们来看一些场景(如图4)。

一组智能灯的协同。单个智能灯可以具备开、 关、调节灯光等基本功能,若跟具体场景结合起来, 可以让这种联网控制能力具有更大的价值。譬如,在 家庭场景,可以根据生活习性和作息时间进行自动调 节;在野外路灯场景,可以根据户外光线做到自适应 环境;等等。

建筑体的健康检测。拿桥梁来举例,一座大桥 的检测系统会有大量的传感器来采集数据,然后再通过专业的模型来分析桥梁的健康状况。单个传感器只 反映一个局部状态,所有传感器集合起来进行分析可 以获得关于桥梁的健康评价。

物联网操作系统的研究与实践

  以上列举的这些场景都需要数量众多的物联网设 备协同起来发挥作用,不同的场景目前有各自独立的 解决办法。有的开发专门的应用系统来解决场景中的 设备协同工作需求,例如桥梁检测系统、灯光控制系 统等。还有一种解决办法是用云服务平台来连接所有 的设备,然后利用云服务平台的功能来开发相应的场 景智能系统。例如,针对智能家居的场景,可以通过 云服务平台来实现设备之间的协同。有些智能音箱厂 商通过这种方式来实现语音控制电器。

  这就回到本节开始提到的问题:物联网设备连接 以后做什么和如何做的问题。本质上,这需要一个软 件系统,我们根据对各种场景进行抽象,按照两层架 构来实现这样的软件系统:最基础的一层软件是通用 的,可适用于各种物联网场景,包括设备连接和管 理、数据采集和处理等;另一层是应用软件,用于实 现各个场景中需要的功能逻辑。前者正是物联网操作 系统,后者是物联网操作系统之上的应用软件。这与 本文第二节讲到的软件划分是一致的,如图5所示。

  物联网操作系统承载的是通用的能力,包括但不 限于以下功能。

   设备接入。使得各种不同类型的设备通过局部 的模块(驱动程序)连接到操作系统中,从而操作系 统可以获取设备的状态信息。

   反向控制设备。操作系统可以向设备发送命 令,达到控制设备的目的。

   设备管理。对于连接到一个操作系统上的设备 进行管理,包括查看它们的状态、设置报警条件、设 置位置、诊断驱动程序,等等。

   数据采集。采集来自于物联网设备的数据,可 定制表结构和数据目录。作为系统完整性,也要有扩 展能力,可接受外部的数据。

   数据分析和检索。操作系统提供功能对采集到 的数据进行分析,并更新指标值。指标是一个业务相 关的衡量单位或特征,有名称和值。指标的计算既可 以实时完成,也可以定时完成,或者通过事件或应用 层命令来触发。操作系统也提供数据检索的能力,方 便应用层引用或者搜索数据。

   数据展示。操作系统提供常见的数据展示能 力,包括结构化和非结构化数据的图形化显示,各种 指标的统计图表等。

   日志。日志是一个操作系统的基本能力,在物 联网场景中尤为重要。完善的日志能力可便于诊断各 个物联网设备的异常情形。

   算法。操作系统提供一个基础的算法库,包括统 计分析算法、AI算法等,便于应用程序实现各种业务 逻辑。在物联网场景中,这相当于一个数据武器库。

物联网操作系统的研究与实践

  对于一个具体的物联网场景,仅仅以上的通用功能往往不足以支撑这个场景中的基本需求,譬如,办公室环境还需要门禁和无线投屏的能力,酒店环境需要智能灯光调节、服务呼叫等功能。因此,物联网操作系统的定制和扩展能力非常重要,针对特定类型的场景,可以在基础系统之上叠加扩展包,形成针对场景的智能操作系统(比如智慧办公 操作系统、智慧酒店操作系统等)。

  而从物联网操作系统的角度,它存在的价值是: 将设备与服务软件解除了耦合,不同类型或不同数量 的设备可以动态链接进来,即使在不重新安装或启动 操作系统的情况下,也能适应设备增删的变化。对于 截然不同功能的场景,可以使用同一个操作系统来提 供基础服务。另一方面,从物联网应用的角度,应用 开发可基于统一的一层服务,再辅助以操作系统的开 发工具,可以极大地提高开发效率

5 指令集智能操作系统

  杭州指令集智能科技有限公司提出了商业智能操 作系统(BI-OS,Business Intelligence Operating System)来实现物联网设备的互联互通,完全符合上 一节介绍的物联网操作系统的要求。图7显示了BI-OS 的总体技术架构[12]。

BI-OS运行系统分五层,由底向上分别是设备子 系统、设备层、数据层、服务层,以及应用层。其中 设备子系统是由设备厂商提供的,本质上是运行物联 网设备操作系统的那个设备侧软件;应用层是指建立 在BI-OS上的应用软件,它们调用BI-OS所提供的系统 服务,来满足客户的需求。而中间的三层是BI-OS的 核心。

术,将各种物联网设备采集的数据上 传到数据层,与其他数据进行融合计算。

   数据层:这一层包括数据中心、计算中心和算 法模型库。

   服务层:将不同场景中应用共有的基础性和关 键性的服务进行抽象,统一在服务层夯实。

  BI-OS作为一个通用的物联网操作系统,可以应用 到各种商业场景中。一个典型的商业场景是智慧楼宇, 通过BI-OS将一个大楼内的所有联网设备连接到一个系 统中,这样不仅做到更高效的自动化管理,而且随着 大楼运营一段时间,数据累积起来,可以优化运营策略(譬如节省能耗、人流引导、堵住安全缺陷,等等)。

物联网操作系统的研究与实践

参考文献

[1] 何小庆.嵌入式操作系统风云录:历史演进与物联网未来[M].北京:机械工业出版社,2016.

[2] ARM Mbed OS[EB/OL].https://www.mbed.com.

[3] FreeRTOS[EB/OL].https://freertos.org/.

[4] RT-Thread[EB/OL].https://www.rt-thread.org/.

[5] LiteOS[EB/OL].https://www.huawei.com/minisite/liteos/cn/index.html.

[6] Zephyr[EB/OL].https://www.zephyrproject.org/.

[7] Android Things[EB/OL].https://developer.android.com/things/.

[8] VxWorks[EB/OL].https://www.windriver.com/products/vxworks/.

[9] 虞保忠, 郝继锋.物联网操作系统技术研究[J]. 航空计算技术, 2017(3).

[10] 何小庆.物联网操作系统研究与思考[J]. 电子产品世界, 2018(1):27-31.

[11] 彭安妮, 周威, 贾岩,等.物联网操作系统安全研究综述[J]. 通信学报, 2018.

[12] 指令集商业智能操作系统[EB/OL].http://www.isyscore.com.

作者简介:

潘爱民(1970-),男,博士,主要研究方向:移动操作系统、信息安全、大数据、移动互联网和 物联网技术

恩智浦MCU出击跨界和AIoT

迎 九

AIoT时代,传统MCU大佬在做什么?不久前,恩智浦半导体的微控制器(MCU)业务部在京举办媒 体见面会,恩智浦资深副总裁兼微控制器业务总经理 Geoff Lees 携多位部门高管亲临现场,介绍了恩智浦 今年及明年部分产品战略。

  跨界处理器有从MCU跨界到MPU的RT1010, 主频500 MHz,价格只有6.68元人民币,苏州设计、 SMIC(中芯国际)北京生产。从MPU跨界到MCU的 跨界处理器7ULP,带有A7核与M4核,是Linux处理 器,同时可实现MCU级的低功耗。

  在AIoT(人工智能物联网)方面,恩智浦推出 了机器学习软件开发环境eIQ,使恩智浦全线MCU、 MPU可进行机器学习,预计2020年将推出AI芯片。 另外,北京软件团队开发了EdgeVerse平台,是安全 管理/加密系统,适合从物联网小节点到云端、车规级 的保密系统。

  上述的部分芯片和软件产品,是“在中国定义、 设计和制造,并服务于中国”的,符合恩智浦多年来 在中国的这一战略愿景。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

智能科技 物联网 云计算 物联网平台 物联网设备 操作系统
0
为您推荐
5G时代的到来,能推动万亿规模的物联网吗?

5G时代的到来,能推动万亿规模的物联网吗?

据预测,未来5年,差不多所有人们能看见的东西都将被纳入物联网。大到国防安全、智慧…...

智能社区带来的楼宇对讲系统变化

智能社区带来的楼宇对讲系统变化

如果说这几年的变化,我们可以看到城市化的快步,电子技术的更新速度变快,电子产品更…...

物联网领域已成为当下热门的新战场,物联网智能化的关键是什么?

物联网领域已成为当下热门的新战场,物联网

随着智能设备的普及以及硬件成本的下降,物联网(IoT)领域已成为当下热门的“新战场”…...

大数据智慧城市水务系统,为杭州加了5个西湖

大数据智慧城市水务系统,为杭州加了5个西

希望能将大数据、云计算、物联网等信息技术和手段应用到城市水务系统安全运行的检测与…...

要成为物联网的paas平台,需要哪些条件做为支撑?

要成为物联网的paas平台,需要哪些条件做为

物联网的平台企业具有天然的垄断性,平台型企业的数量是有限的,所以想成为物联网的平…...

物联网正处于成为现实的边缘,我们还要继续等吗?

物联网正处于成为现实的边缘,我们还要继续

云已经在眼前一亮,但它将采取一个杀手级的应用程序,以便在消费者和企业之间完全正常…...