What

Mozilla 在 2018 年 2 月份发布了Project Things,它目前有了一个新的名字: WebThings。

这是一个

将设备连接到 Web 的开放框架。

WebThings 旨在用作物联网(IoT)的统一应用程序层,使用现有的 Web 技术将多个基础物联网协议链接在一起。

Mozilla WebThings 是 W3C 新兴的 Web of Things 标准的开源实现。W3C Web of Things(WoT)是 Web of Things Working Group (WoT WG)近期推出的一项计划,旨在减少 IoT 的碎片化。W3C 制定了 Web of Things 的初始标准,目标是降低开发的成本,降低投资者和客户的风险,进而促进 IoT 设备和服务市场的指数级增长。 –Mozilla 全新改进了开源 IoT 平台:WebThings

关于 Mozilla

Mozilla 的使命是:

确保互联网是一种全球性的公共资源,对所有人开放且可访问。真正以人为本的互联网,个人可以在此塑造自己的经历并获得授权,安全和独立。

著名的火狐浏览器便来自 Mozilla。

W3C(万维网联盟)

万维网联盟(World Wide Web Consortium),又称 W3C 理事会,是万维网的主要国际标准组织。为半自治非政府组织(quasi-autonomous non-governmental organisation)。

为解决网络应用中不同平台、技术和开发者带来的不兼容问题,保障网络信息的顺利和完整流通,万维网联盟制定了一系列标准并督促网络应用开发者和内容提供者遵循这些标准。标准的内容包括使用语言的规范,开发中使用的导则和解释引擎的行为等等。W3C 也制定了包括 XML 和 CSS 等的众多影响深远的标准规范。

Web of Things 标准

物联网(IoT)具有广泛的潜力,但其商业潜力却因分散而受阻。传感器本身的价值有限,但结合传感器、执行器和多种信息源的开放服务市场存在巨大机会。Web of Things 旨在解决物联网(IoT)的分散问题,使创建应用程序变得更加容易,而无需掌握各种物联网技术和标准。用于传感器、执行器和信息服务的数字孪生(Digital twins)作为具有属性、动作和事件的本地软件对象,呈现在消费级应用程序中,而与设备的物理位置或用于访问它们的协议无关。

每个事物都由一个 URI 标识,可以据此获得机器可解释的描述。URI 还可以用作丰富描述中的标识符,作为服务提供者和使用者之间语义互操作性的基础。JSON-LD 中表示的内容描述涵盖了行为、交互能力、数据模式、安全性配置和协议绑定。Web of Things 是对现有物联网生态系统的补充,可通过组合多种设备和信息服务来降低创造有价值的应用程序的供应商和消费者的成本和风险。有许多行业将受益,例如智能家居,智能城市,智能产业,智能农业,智能医疗保健等等。

数字孪生(Digital twins)

数字孪生,指在信息化平台内模拟物理实体、流程或者系统,类似实体系统在信息化平台中的双胞胎。借助于数字孪生,可以在信息化平台上了解物理实体的状态,甚至可以对物理实体里面预定义的接口元件进行控制。

数字孪生是物联网里面的概念,它指通过集成物理反馈数据,并辅以人工智能、机器学习和软件分析,在信息化平台内建立一个数字化模拟。这个模拟会根据反馈,随着物理实体的变化而自动做出相应的变化。理想状态下,数字孪生可以根据多重的反馈源数据进行自我学习,从而几乎实时地在数字世界里呈现物理实体的真实状况。数字孪生的反馈源主要依赖于各种传感器,如压力、角度、速度传感器等。数字孪生的自我学习(或称机器学习)除了可以依赖于传感器的反馈信息,也可以是通过历史数据,或者是集成网络的数据学习。后者常指多个同批次的物理实体同时进行不同的操作,并将数据反馈到同一个信息化平台,数字孪生根据海量的信息反馈,进行迅速的深度学习和精确模拟。

Why

  • 弥合连接设备之间的通信鸿沟.

  • 推动物联网标准的安全性,私密性和互操作性.

  • 解决物联网(IoT)的分散问题,使创建应用程序变得更加容易,而无需掌握各种物联网技术和标准.

组成

WebThings Gateway

WebThings Gateway 是用于智能家居网关的软件发行版,它使用户直接通过 Web 监视和控制其智能家居。

目前 WebThings 已经发布了 2 个网关版本(0.9.2),分别针对树莓派和 Turris Omnia 开源路由器:

WebThings framework

WebThings framework是可重用的组件集合,可帮助你构建自己的 web things,这些 things 直接公开 Web Thing API。这意味着可以通过 Web of Things Gateway 或客户端发现它们,然后它们可以自动检测设备的功能并通过 Web 对其进行监视和控制。

WebThings framework 包括多种编程语言的实现,包括:

Home Assistant 的关系

熟悉Home Assistant的用户,可能会觉得 WebThings 与Home Assistant有诸多相似之处,无论是 API 的风格还是项目的结构。

实际上,Home Assistant 的尝试人@balloob在 2018.3.5 在 issue:home assistant && Web Things里提到:

我已经与 Mozilla 的团队进行了讨论,他们正在为此工作,他们很高兴看到 Home Assistant 参与其中。

@balloob进一步阐述说:

物联网的标准化很重要。它使 Home Assistant 可以停止追求专有 API 的集成,而专注于在 UI、自动化、可视化和机器学习之类的标准化 API 之上构建出色的东西。

issue 里有几位 Home Assistant 的开发者也表示愿意加入其中。

这似乎意味着Home Assistant社区参与了 WebThings 的建设,Home Assistant的很多经验和最佳实践融入了 WebThings 之中,这便是 WebThings 似曾相识的原因。

@balloob的这则 issue 可以看出,Home Assistant 未来将兼容Web Things API, 与 Webthings 并列作为Web Things API的实现,当然这两个项目有可能融合也未可知。

参考