深入解析物联网操作系统

版权声明:本文为博主原创文章,未经博主允许不得转载。

1

物联网的主要特点

?连接

所谓连接,指的是各种各样的终端设备,都能够通过某种网络技术,连接到一个统一的网络上。任何终端之间都可以相互访问。下一代的基础通信网络,包括未来的5G,通信网络架构重构等,为物联网提供泛连接网络是核心目标。目前也已经有很多厂商推出解决方案,比如Googl的thrad/wav,华为的Hi-Link,以及NB-IoT等。

传统的物联网连接,都是指物联网终端设备与物联网云平台之间的连接,如下图:

在这种模式下,物联网设备通过各种各样的连接技术,比如WiFi,Ethrnt,BLE,Zigb等等技术,连接到位于云端的物联网平台上。需要注意的是,这仅仅是一个逻辑结构,在物理上,物联网设备在接入云平台之前,很可能需要一个物联网网关。因为很多连接技术是无法直接连接到位于Intrnt上的物联网云平台的,比如Zigb,BLE,Z-Wav,NFC等等。这些技术的通信范围是一个小的局域网,比如一个家庭,一间办公室等。而连入Intrnt的技术,则往往是WiFi,Ethrnt,2/3/4G等这类网络技术,大部分物联网设备并不能提供这种连接的支持能力。因此,需要有一个物联网网关,来弥补这个GAP,完成不同技术之间的转换。下图示意了物联网网关的功能和网络位置:

物联网网关往往具备相对强大的计算能力,具备丰富的网络接口,同时具备消息或数据的汇聚和分解功能。

在这种连接模式下,物联网云平台是所有物联网终端设备的“大脑”,云平台统一指挥物联网终端的行为,如果这种连接一旦断开,那物联网终端将无所适从,完全失去控制。

更理想的连接,应该是物联网设备之间,也实现本地的直接连接,如下图所示:

物联网设备之间也建立连接,同时保留与云平台的连接。这样的好处就是,一旦云平台的连接中断,物联网终端可以采用本地之间的终端连接,继续提供服务。同时,物联网设备本地之间的交流和通信,直接通过本地连接完成,而不用再上升到云端。

要实现这种“云端连接”加“本地连接”的模型,需要物联网设备支持消息中继功能。即物联网设备可以把另外的物联网设备的消息或数据,转发到云平台,同时把云平台发下来的数据,转接给另外的物联网设备。

?协同

协同,则是指接入网络的任何设备之间,能够通过学习,实时的了解自己和对方的能力和状态,能够根据特定的输入条件,或者特定的环境状态,多种设备实现有效互动,协调工作,完成某种单一设备无法完成的工作。协同是物联网的核心和本质。协同表现在下面几个方面:

物联网设备之间的自动发现,尤其是不同功能,不同类别的设备,如何相互发现。比如在智慧交通领域,汽车靠近路灯时,应该可以快速发现路灯,并建立联系。这样路灯就可以根据与自己建立联系的汽车数量,来灵活调度信号灯的闪烁时间;

物联网设备之间的能力交互。设备之间,只有相互了解对方的能力,了解对方能干什么,才能实现有效的交互和协同。类似中国人之间的“找关系”,只有知道对方是干什么的,有哪些能力,才会有目的的去“发起请求”,从而一起协作达到目标;

新增物联网设备或功能的自动传播。比如在一个局域网(智慧家庭)中,新加入了一个新的功能设备,这个新的设备需要尽快的“融入”原有的设备之中。这包括有一种机制,能够广播自己的能力,同时,原有的设备,应该也可以快速的“理解”新加入的设备的功能和角色,这样后续就又达到一种统一的状态。

?智能

智能,则是指物联网设备具备“类似于人”的智慧,比如根据特定条件和环境的自我调节能力,能够通过持续的学习,不断优化和改进,更“人性化”的为人类服务。

如果物联网设备只是连接在一起,能够远程控制,被动的听从人们的指挥,那不能算是真正的物联网,只能算是“控制网”。理想的目标是,物联网设备应该具备自我学习能力,能够通过积累过往的经验或数据,能够对未来进行预判,为人们提供更加智能的服务。这种“机器学习”的能力,我们认为应该属于物联网操作系统的一部分,应该能够抽象成一些基本的服务或API,内置到内核中,供应用开发者或者设备开发者调用。

而且,这种机器学习的服务,不仅仅只是位于终端操作系统中的一段代码,还应该有一个庞大的后台进行支撑。大量的计算和预测功能,在后台上执行。而终端上只是做一些简单计算和结果的执行。这样终端加后台软件,就形成一个分布式的计算网格,有效分工,协同计算,有序执行,形成一个支撑物联网的数字神经。

2

物联网操作系统整体架构概述

物联网操作系统是支撑物联网大规模发展的最核心软件。根据上面总结的物联网的主要特征,结合操作系统的主要功能和分层结构,我们总结出如下的物联网操作系统整体架构:

总体来说,物联网操作系统是由操作系统内核,外围功能组件,物联网协同框架,通用智能引擎,集成开发环境等几个大的子系统组成。这些子系统之间相互配合,共同组成一个完整的面向各种各样物联网应用场景的软件基础平台。需要说明的是,这些子系统之间有一定的层次依赖关系,比如外围功能组件需要依赖于物联网操作系统内核,物联网协同框架需要依赖于外围功能组件,而公共智能引擎,需要依赖于下层的内核,外围功能组件,甚至是物联网协同框架等。在这个架构图中,也反映了这种层次化的依赖关系。

目前主流的物联网操作系统,比如Googl的Brillo,Linux开放基金会的Ostro项目,以及HlloX项目,都遵循这样一种框架。下面对这几个子系统做简要介绍。

?物联网操作系统内核概述

内核是任何操作系统都有的核心组件,操作系统的核心功能和核心机制,都是在内核中实现的。比如最核心的线程/任务管理,内存管理,内核安全和同步等机制。虽然从功能上说,大部分操作系统的内核都相差不大,但是在这些具体功能的实现上,面向不同领域的操作系统,其实现目标和实现技术都是不同的。

比如对传统的通用个人计算机操作系统来说,内核更加







































北京治疗白癜风花多少钱
郑州治疗白癜风的医院



转载请注明:http://www.jiaju1314.com/jyqj/9734.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了