标签 WoT 下的文章

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking Group Note

本系列将从WoT标准本身出发,对目前已经进入CR阶段(W3C标准的阶段参见下图)的WoT Architecture(WoT架构)、WoT Thing Description(WoT物描述)以及处于WD阶段的WoT Scripting API(WoT编程API)进行一次快速解析。

如下图所示,标准进入CR阶段意味着内容已经相对稳定,WD阶段则意味着较大的不确定性,而Working Group Note(工作组备忘)则变数很大。因此处于CR阶段的“架构”和“物描述”是值得花时间了解的(成为正式推荐标准REC的可能性很大),而处于WD阶段的编程API在2019年10月28日做了一次大的内容改版,几乎完全废弃了上一版的内容,只能说接近稳定状态,但编程API始终是开发者所喜闻乐见的,所以本系列也会介绍。

W3C Process Document,https://www.w3.org/2019/Process-20190301/#recs-and-notes

1. 编程API简介

WoT Scripting API描述如何通过脚本暴露和消费物体,同时定义了通用的物发现API。基于WoT架构定义的“消费体”(consumed thing)和“暴露体”(consumed thing),这个规范提供了不同层次的交互操作能力。

首先,客户端通过消费TD(Thing Description)可以创建一个本地运行时资源模型,即消费体。消费体支持访问远程设备上的服务端物体暴露的属性、动作和事件。

其次,服务端负责暴露物体,为此需要:

  • 定义TD
  • 初始化一个实现该TD所定义WoT接口的软件栈,以服务于对暴露属性、动作和事件的请求
  • 最终发布TD(比如发布到一个物体目录,以便消费者发现)

- 阅读剩余部分 -

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking Group Note

本系列将从WoT标准本身出发,对目前已经进入CR阶段(W3C标准的阶段参见下图)的WoT Architecture(WoT架构)、WoT Thing Description(WoT物描述)以及处于WD阶段的WoT Scripting API(WoT编程API)进行一次快速解析。

如下图所示,标准进入CR阶段意味着内容已经相对稳定,WD阶段则意味着较大的不确定性,而Working Group Note(工作组备忘)则变数很大。因此处于CR阶段的“架构”和“物描述”是值得花时间了解的(成为正式推荐标准REC的可能性很大),而处于WD阶段的编程API最近(2019年10月28日)刚刚做了一次大的内容改版,几乎完全废弃了上一版的内容,只能说接近稳定状态,但编程API始终是开发者所喜闻乐见的,所以本系列也会介绍。

W3C Process Document,https://www.w3.org/2019/Process-20190301/#recs-and-notes

1. 物描述简介

WoT物描述,即Thing Description,简称TD,是WoT的核心组件。顾名思义,物描述(TD)就是对物的描述,其序列化(文本化)形式是一个JSON文档。

简单起见,可以将TD看成是描述物及其能力的入口(就像一个网站的index.html)。一个TD的实例由4个部分组成:关于物体本身的元数据、表示如何使用物体的交互可识别功能、方便机器理解的数据交互模式和与物体相关的其他物体或资源的链接。

WoT交互模型定义了三种交互可识别功能:属性、动作和事件 。其中,属性(在TD中以PropertyAffordance类表示),可用于检测和控制参数,如取得当前属性的值或设置某个操作状态。动作(在TD中以ActionAffordance 类表示),对物理(因而耗时的)流程建模,也可用于抽象类似RPC的对既有平台的调用。事件(在TD中以EventAffordance类表示),用于推送通信模型,异步将通知、离散事件或值流发送给接收者。详情可参考WoT架构。

TD提供由URI模式(如httpcoap等)标识的不同协议绑定的元数据、基于媒体类型(如application/jsonapplication/cbor)的内容类型和安全机制(用于认证、授权、保密等)。TD实现的序列化是基于JSON的,其中JSON中的名称(属性/字段)引用预定义词汇表中的术语,同样也在WoT物描述标准中定义。此外,TD的JSON序列化遵循JSON-LD 1.1语法,可以方便扩展和进行富语义处理。

下面展示了一个TD的示例,描述了名称为MyLampThing的物体。

- 阅读剩余部分 -

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking Group Note

本系列将从WoT标准本身出发,对目前已经进入CR阶段(W3C标准的阶段参见下图)的WoT Architecture(WoT架构)、WoT Thing Description(WoT物描述)以及处于WD阶段的WoT Scripting API(WoT编程API)进行一次快速解析。

如下图所示,标准进入CR阶段意味着内容已经相对稳定,WD阶段则意味着较大的不确定性,而Working Group Note(工作组备忘)则变数很大。因此处于CR阶段的“架构”和“物描述”是值得花时间了解的(成为正式推荐标准REC的可能性很大),而处于WD阶段的编程API最近(2019年10月28日)刚刚做了一次大的内容改版,几乎完全废弃了上一版的内容,只能说接近稳定状态,但编程API始终是开发者所喜闻乐见的,所以本系列也会介绍。

W3C Process Document,https://www.w3.org/2019/Process-20190301/#recs-and-notes

1. WoT架构

WoT架构规范的核心分别从7个方面描述了WoT相关的术语及这些术语之间的相关关系。架构的本质就是术语及其关系。术语代表业界约定俗成的概念,是架构的骨骼和肌肉;关系描述术语的交互与特性,是架构的血液和神经。

  • Overview(概述)
  • Affordances(可识别功能)
  • Web Thing(Web物)
  • Interaction Model(交互模型)
  • Hypermedia Controls(超媒体控件)
  • Protocol Bindings(协议绑定)
  • WoT System Components and Their Interconnectivity(组件及互联)

- 阅读剩余部分 -

10月20日,第六届世界互联网大会在浙江乌镇开幕。国家主席习近平致贺信。

习近平指出,今年是互联网诞生50周年。当前,新一轮科技革命和产业变革加速演进,人工智能、大数据、物联网等新技术新应用新业态方兴未艾,互联网迎来了更加强劲的发展动能和更加广阔的发展空间。发展好、运用好、治理好互联网,让互联网更好造福人类,是国际社会的共同责任。各国应顺应时代潮流,勇担发展责任,共迎风险挑战,共同推进网络空间全球治理,努力推动构建网络空间命运共同体。

(新华社北京10月20日电:http://www.xinhuanet.com/politics/2019-10/20/c_1125127764.htm

社交媒体实现了“人联网”,在线支付实现了“财联网”。如今,人工智能、大数据技术的发展正有力地推动“物联网”的兴起。不难想象,物联网将在智能家庭、产业、城市,乃至智能国家、智能地球的建设中发挥基础性作用,为未来的人类和社会造福。

然而,由于联网设备的制造厂商不同、接入互联网使用的协议不同,如今的物联网(IoT,Internet of Things)依旧呈现“一盘散沙”、“各自为政”的状态。IoT平台和生态虽然层出不穷,快速演进,但各家协议栈和软件应用之间缺乏互通,形成了千千万万个专有IoT“孤岛”。W3C称IoT的这种状态为“碎片化”(fragmentation)。碎片化导致用户与供应商绑定、开发交付成本高昂、软件组件难以复用,这些问题成为阻碍IoT向更深、更广领域应用迈进的巨大障碍。

- 阅读剩余部分 -