在移动互联网之后,我们即将迎来一个万物互联的时代,连接将产生巨大的价值。IoT成为各大科技巨头关注的一个重点,如:CISCO、Google、Apple、IBM、Microsoft等。智能技术的进步更是为IoT的发展推波助澜,将在不远的未来深刻改变人们的工作和生活方式。
IoT的应用
IoT是传统互联网的延伸,海量的传感器和智能设备将产生数以百亿计的连接;连接方式和连接数量的变化将极大地改变人类的生活和工作方式。
连接的增长趋势
从目前来看,随着物联网技术与传统行业的深度结合,通过物联网技术、智能技术为传统行业赋能,催生了智能穿戴、智能出行、智能家居等领域的应用,最近蓬勃发展的共享单车就是目前规模较大的一种IoT应用场景。
IoT的应用领域IoT面临的挑战
这是一个美好的愿景,但是却面临着巨大的挑战。
正是因为巨大的前景,各个厂家都想在这个庞大的市场分得一杯羹,以至于形成了一个个截然不同、相互封闭的生态系统。典型的有苹果、谷歌、小米。
- Google利用自身在互联网的技术优势,构建了强大的云计算和基础设施能力。
- Apple推出了HomeKit框架,用于开发者进行智能家居相关的应用开发。
- 小米2015年推出了米家品牌,并开发了一系列的智能硬件产品,而这些硬件无一例外都是可以联网的。2017年11月小米推出了IoT开发者计划,对开发者开放IoT平台,吸引更多的智能设备接入其平台;并通过与百度合作,共建IoT+AI生态系统。
不同的生态系统给厂商和消费都带来了麻烦。
-
对于厂商来说,生产出来的设备选择哪个生态系统是一个艰难的选择,如果想开发一个跨越多个生态系统的设备,将面临着巨大的成本压力。
-
对于消费者来说,选择了某一个品牌的设备或服务,可能就永远被这个品牌所绑定了。因为不同厂家之间的设备无法相互兼容。
OCF是什么?
OCF的全称是Open Connectivity Fundation,这是它的官方网站。OCF希望在未来能够实现百亿级别设备间的连接,跨越不同的操作系统和平台实现安全、可靠的设备发现和连接机制;带动工业界共同打造一个通用的、互操作的解决方案,构建一个开放、互联的IoT生态系统。
imageOCF的目标是帮助统一物联网标准,以便公司和开发者都能够打造可无缝协作的物联网解决方案和设备。助力于加速行业创新,帮助所有开发者和企业根据单一开放的物联网互操作规范来打造解决方案。借助于OCF规范、协议和开源项目,众多的消费者、企业和不同制造商的嵌入式设备和传感器,都能够安全无缝地协同作业。
OCF目前网罗了除Apple、Google之外几乎所有的主流厂商,包括三星、英特尔、微软、高通、ZTE等,其会员分为钻石、铂金、黄金、学术、基本等5个级别。
OCF的使命与愿景
OCF由之前的OIC( Open Interconnect Consortium)组织演变而来,OIC涵盖了各个领域的顶级企业,涉及IC、软件、平台和成品等领域,它们致力于为物联网解决方案提供这一关键的互操作规范。OCF的使命是,在IoT时代帮助消费者、厂商实现更加安全、可靠的互操作性,保证不同厂家、不同平台的设备可以透明地互相通讯。
就物联网而言,OCF的愿景在于实现数百亿个互联设备(电器、电话、电脑、工业设备)的相互通信,且不受制造商、操作系统、芯片或运输的限制。如果OCF实现了这一目标,任何人——从大型技术公司到家庭作坊——都可以采用OCF的公开标准来创新和竞争,并确保为消费者、企业和工业提供安全的互操作性。
OCF干了些什么?
OCF主要做了以下几个方面的工作:
- 标准的通讯平台
- 桥接规范
- 开源实现
OCF提供了一个开源的参考实现IoTivity,目前运作于Linux基金会之下,采用了Apache 2.0 Lisence。 - 认证流程
包括对OCF规范的兼容性认证,以及设备或应用间的互操作性认证。 -
OneIoTA.org
一个数据模型的仓库,其中的数据模型以RAML和JSON格式来描述。这个网站提供了一个在线的工具,可以让企业和组织创建新的设备模型,或者将已定义的模型引入自己的设备中。
OCF核心架构
面向资源的架构(Resource Oriented Architechture)
OCF的功能基于一种面向资源的架构。OCF架构下交互的所有功能实体,都被抽象和描述为资源(Resource
),通过RESTful风格的操作对各种实体进行无缝的连接。
在此架构下,OCF提供了一个通信和互操作性框架,以适应IoT的各种应用领域(如智能家居、汽车、健康等),屏蔽厂家、操作系统、硬件、通讯网络等方面的差异;OCF提供了一个统一的模型对环境、设备等进行描述,以实现信息的流动和语义上的互操作。此外,OCF还提供了资源发现、识别、安全等相关的协议和机制。
通过以上机制,OCF提供了一种可扩展的解决方案,使得满足这套描述规范的IoT系统能够接入各种能力的设备,从智能家电、传感器,到可穿戴设备。
设计原则
一个满足OCF规范的系统核心架构,如下图所示。
系统概念图,来自OCF_Core_Specification_v1.3.0
核心架构从概念上可以从三个角度进行描述:
-
资源模型(Resource model)
- 资源模型是OCF架构的基础,它提供了一种从逻辑上进行建模,并实现IoT应用间互操作的抽象手段。
- 所有的物理实体(如传感器、设备)都被描述为资源(
Resource
),通过资源的形式暴露给外部世界,实体的状态通过资源表示(Resource Representation
)来描述;每个资源都具有自己的URI和可以支持的接口类型(interface
)。 - 实体间的交互通过基于资源表示的RESTful操作来实现。RESTful操作的发起方对应着上图中的客户端角色(
OCF Client
),RESTful操作的响应方对应着服务端角色(OCF Server
);其中,服务端也是资源的拥有者。
Resource Model of Smart Bulb
上图是一个智能电灯的资源模型。智能电灯这个设备拥有两个属性,分别为开关和亮度。为其建模的资源包括:
- 核心资源(也是每个OCF建模的设备都拥有的资源):
/oic/res, /oic/d
; - 设备特有的资源:开关
Binary Switch
,类型为oic.r.switch.bianry
; - 其它可选资源:亮度
Brightness
,类型为oic.r.light.brightness
。
-
RESTful风格的操作(RESTful operations)
RESTful操作
与RESTful一致,OCF定义了CREATE
、RETRIEVE
、UPDATE
、DELETE
、NOTIFY
五种操作,简称为CRUDN
。分别完成资源的创建、查询、更新、删除和通知。无需关注底层的协议和实现方式。
- 抽象(Abstratiction)
上面提到的资源模型和RESTful操作,都离不开抽象层的支撑。抽象层用于将相应的资源和REST操作映射到具体的物理实体上。
实体处理器(Entity Handler
)用来将实体映射到资源上,或者将资源映射到一个非本地的物理实体上;连接抽象层(Connectivity Abstraction)用来将操作映射到具体的连接层协议和实现上。
功能组成
从功能的组成上看,OCF规范定义可以分为以下几个层次。
OCF功能模块( 来自OCF_Core_Specification_v1.3.0 )
IoTivity
IoTivity是OCF规范的一个参考实现,使得开发者可以在IoT时代更容易地实现设备与设备之间的无缝连接。该项目目前已经开源,并且正在活跃地更新中。
image
架构实现
IoTivity Architectrue协议栈
Rich Device vs. Constrained Device小结
OCF提供了一种选择的可能,使得在IoT时代,能够容易地构建一个开放的生态系统,产业链中各个环节的参与者都能够融入其中。通过规范、开源实现和认证的结合,来实现设备间的互操作性。
当然,市场的选择并非完全由技术决定,技术的发展也日新月异,一个生态圈的形成和成功取决于很多因素。从这个角度来说,OCF还远谈不上成功,它还有很长的路要走。
网友评论