Weave 存在于家庭区域网络 (HAN) 中的每个节点上、在协助配对或控制节点的移动设备上,以及使节点和移动设备保持同步的服务中。在 Weave 系统中,这些元素(节点、设备、服务)称为资源
。Weave 可以为每个资源提供数据可信来源,并在它们之间安全地进行通信。
Weave 包含四个主要组件。在探索它们之间彼此交互的方式以及形成一个系统中的分层之前,从较高层面上理解它们是很有用的。
架构
架构
是 Weave 平台的数据模型。该架构定义了三个元素:
- 特征 基本功能单元,例如属性的状态、状态通知或更改状态的请求
- 接口 :一组代表特定功能的属性,例如构成门栓锁的属性和事件
- 资源 由特征和接口(例如 Nest 设备、结构或用户)组成的逻辑或物理事物
可以将架构视为分布在多个资源的数据库中,其中每个特征(“可信来源”)的“副本”并非完全位于单个资源中,而是按特征分布在各个资源中。特征的主资源是特征的发布者,而其他资源是该特征的订阅者。
例如,您可能有一个由三个资源共用的两个特征的简单架构。资源 1 可能是特征 A 的发布商,而资源 3 可能是特征 B 的发布商。其他资源是这些特征的订阅者:
根据系统的需要,可能有多个资源充当同一特征的发布商。
服务
Weave 中的服务通常称为资源,但是从架构的角度来看,它可能会以多种资源的形式呈现。换句话说,Weave 系统中的所有其他资源。
例如,传感器可能只需要发布和订阅与其功能相关的特征,其中一些特征可能与其他资源(如 hub 或节点)共享。这些资源可能具有传感器未订阅的其他特征。不过,该服务可以订阅或发布所有这些特征。
个人资料
Weave 功能分为名为 profile OpenWeave 上有将近 20 个配置文件。
的逻辑结构。每个配置文件都对应一组特定的 Weave 功能,包括协议、消息类型和错误代码等元素。例如,数据管理
配置文件可以在发布-订阅消息传递模式中处理实时特征管理。它可能会根据来自其他资源的输入将住宅资源中的占用情况状态更新(将状态从“居家”改为“外出”),因为您的移动设备检测到您不在家。另一个配置文件是 Echo
。此配置文件类似于网络 ping,用于测试网络连接、延迟时间、安全性和活跃性。另一个配置文件是 Network Provisioning
。此配置文件包含用于扫描无线网络以及设置其凭据以便在该网络上预配资源的函数。消息
要实现配置文件的功能,HAN 中的资源需要能够互相发送消息。Weave 采用一个消息层
来处理系统中资源之间的所有消息传递。消息分为以下两种类型:
- 一般消息 封装一般 Weave 内容
- 隧道消息 封装 IP 数据包
每个配置文件都有自己的一组消息类型,用于传达其功能。例如,数据管理配置文件可能会发送一条更新请求常规消息以更改特征的状态。回声配置文件可能会向资源发送 Echo 请求常规消息,后者会在回应中发送回声响应消息。
织物
如需在资源之间传递所有这些消息,必须预配 Weave 结构
。结构体是一组支持 Weave 的资源,它们协作为其他资源和服务提供服务。结构中的所有资源都使用 Weave 的通用语言,而无论底层连接或网络类型如何。结构中的每个节点都有一个额外的 IPv6 地址,以供 Weave 应用安全使用。
Weave 使用底层传输技术(例如 WLAN 或线程)在结构 IPv6 地址之间发送消息。
要点总结
您学到的内容:
- 在 Weave 系统中,节点、设备和服务称为资源
- Weave 为 Weave 系统中每个资源提供数据可信来源和安全通信
- Weave 包含四个主要组件:
- 架构 数据和 API 模型
- 配置文件 可管理一组功能的应用协议
- 消息传递 可处理资源之间的所有消息传递
- Fabric :一系列支持 Weave 的资源