物联网终端设备的类型和功能是千差万别的,终端设备的性能在不同场景下的要求也不一致。物联网终端设备的硬件、软件的碎片化也阻碍了物联网本身的发展。物联网终端操作系统可以解决上面提到的问题,它不仅可以重新规范物联网终端设备,也能够为物联网应用的迅速发展提供了统一的开发环境。本文首先介绍物联网终端操作系统的必要性,然后通过介绍物联网终端操作系统的能力来说明如何设计物联网终端操作系统,最后简单介绍在操作系统之上的物联网应用。
一、物联网终端操作系统的必要性
物联网应用千差万别,物联网终端设备的形态和需求也是难以统一的,这使得物联网终端操作系统呼之欲出。物联网终端操作系统的目标是充分抽象物联网终端设备,提供快速、高效的物联网应用开发平台。具体而言,需要物联网终端操作系统的原因有如下几个:
第一,物联网终端操作系统解决了物联网终端设备碎片化的问题。物联网终端设备各式各样,如果有一个好的物联网终端操作系统来支撑这些设备,那么各种物联网应用就有了发挥自己能力的舞台,物联网终端设备碎片化的问题也得到了解决。
第二,物联网终端操作系统可以培养专有的物联网技术生态链。好的物联网终端操作系统可以提高物联网应用的开发速度并培养健康的技术生态链,它可以隔离软/硬件系统,加快物联网应用的开发速度,提高物联网应用的实用性。
二、物联网终端操作系统的能力
从物联网的实际应用出发,物联网终端操作系统需要具备以下能力:
1. 硬件控制能力
物联网终端设备的一个重要能力是感知和控制物体,这种感知和控制都是由不同的硬件设备完成。由于行业和领域的多样性,物联网硬件可能是多种多样的,那么对硬件的抽象和控制就显得尤为重要。物联网终端操作系统要提供丰富的API 来控制硬件或外设,这些API可以提供硬件的底层控制,也可以提供对高层应用属性的控制。总的说来,物联网终端操作系统要能够提供丰富的硬件设备驱动,同时要提供丰富的硬件控制API。
2. 软件远程控制能力
物联网终端设备的数量非常庞大,并且经常部署在一些比较恶劣的条件下。也就是说,很多终端设备通常都是无人监控和操作的,此时物联网终端设备被远程控制的能力就显得非常重要了。进一步而言,终端操作系统为软件的远程控制能力提供支持,也是物联网终端操作系统的一个特性。远程控制能力可以从两个方面理解:应用的远程升级和系统控制能力的高度开放。其中,应用的远程升级需要操作系统能够将应用的运行环境和应用分离,系统控制能力高度开放指终端操作系统能够为应用提供足够丰富的控制接口。
3. 丰富的网络能力
物联网终端设备具有通过近距离无线通信与其他物联网终端设备进行信息交换的能力,因此,物联网操作系统应该提供丰富的网络接口能力,并支持众多的网络协议。同时,物联网终端操作系统的网络协议应该是精简的,因为精简的网络协议有利于设备、应用的快速开发和部署,并解决物联网终端设备能力不一致的问题。
4. 计算能力
计算能力是物联网终端操作系统需要提供的基础能力,数据的精确度和计算结果的精确度是物联网数据价值的保障。物联网终端操作系统需要能够提供丰富的计算模型,方便开发者开发,同时提供计算模型插件能够支持第三方的技术模型。
5. 系统大小的可伸缩能力
物联网终端设备与计算机、移动终端的一个显著区别是,物联网终端设备外观、尺寸都是不固定的。外观和尺寸的不固定,对操作系统占用空间的大小就会有多种要求,从百K级别到M级别都要适配。在设计时,对物联网终端操作系统的要求是:内核要小,功能可裁剪。内核小,不仅指操作系统内核部分小,而且要求操作系统的最小功能集要很小;功能可裁剪,要求物联网终端操作系统提供丰富的可裁剪的功能模块供选择。
6. 支持云技术能力
在前面的文章中,我们提到过,云技术与物联网是一对天生的搭档。因此,我们要在物联网终端操作系统设计之初就考虑两者的关系,增强物联网终端设备支持云技术的能力。简而言之,为了配合云技术在物联网行业的应用,物联网终端操作系统应该有完善的数据处理的能力。
7. 系统的自我生长能力
在设计物联网终端操作系统时,比较好的设计思想是通用操作系统+行业操作系统(通用操作系统是指物联网终端操作系统的提供者关注操作系统在物联网行业通用领域技术的提升;行业操作系统的指针对不同行业,由行业操作系统提供者制定行业操作系统标准),理由如下:
第一,物联网终端设备多样性,要求操作系统也有多样性的特点。
第二,物联网的应用领域是分行业的,那么需要针对不同行业特性设计不同的终端操作系统。
第三,从整个计算机技术领域发展来说,开源的理念越来越被接受,开源会让更多人和机构参与进来,对培养生态链非常有帮助。
三、物联网应用
根据物联网的特点,可以将物联网应用分为如下几类:
第一类,节点应用。这是单个物联网终端设备应用,它们运行在单个物联网终端设备上。
第二类,协调应用。这是多个设备之间的协调应用,它们通常运行在某一单元网络的网关上,负责单元网络下各个终端设备之间的协调和优化。
第三类,云端应用。它们负责数据存储、计算和展示。
第四类,展示应用。它们运行于PC端或移动终端,负责物联网应用系统最终的展示。
本文介绍了设计物联网终端操作系统的必要性和其具备的能力,并简单介绍了操作系统之上的物联网应用。为了培养物联网行业的技术生态链,设计物联网终端操作系统是一项值得长期研究并投入实践的工作。这不仅能够满足行业本身的技术要求,还能够培养具备物联网行业知识体系的专业技术人才,有利于物联网行业长期稳定的发展。