分类:Matter

一文带你学懂 Thread

Thread® 是一种基于 IPv6 的网络协议,专为低功耗、Mesh 组网的 IoT 设备设计,基于 IEEE 802.15.4-2006 的无线 Mesh 网络,通常称为无线个域网(WPAN)。Thread 与其他 802.15 Mesh 网络协议(如 ZigBee、Z-Wave 和蓝牙低功耗)相似,但是独立无关。

Thread 的主要特点包括:

  • 简便性

    安装、启动和操作简单;

  • 安全性

    Thread 网络中的所有设备都经过身份认证,所有通信都经过加密;

  • 可靠性

    自愈合的 Mesh 网络,没有单点故障,并采用扩频技术以提高抗干扰性;

  • 高效性

    低功耗的 Thread 设备可以休眠并以电池供电运行多年;

  • 可扩展性

    Thread 网络可以扩展到数百台设备。

查看完整的规范,点击 Thread 协议规范下载。

在 Thread 网络中,按照节点是否参与参与消息转发被区分为两种转发角色:

Router 是一个节点,具有以下功能:

  • 为网络设备转发数据包;
  • 为试图加入网络的设备提供安全的 Commissioning 服务;
  • 始终保持其 RF 收发器开启。

End Device (ED) 是一个节点,具有以下功能:

  • 主要与单个 Router 通信;
  • 不会为其他网络设备转发数据包;
  • 可以关闭其 RF 收发器以减少功耗。

此外,节点还可以按照设备类型区分。

Full Thread Device (FTD) 始终保持其无线电开启,订阅所有 ...

Matter 系列之 Data Model

Matter 中的具有定义明确的设备数据模型 (Device Data Model),它是对设备功能的分层建模,在此模型最顶层的实体就是设备。

Matter 中所有的设备,包含手机,家庭语音助手的音箱都统称为 Nodes。Node 作为网络中节点,它是网络中唯一可识别和可寻址的资源,用户可以将其视为一个功能的整体。同样地,通信中原地址和目的地址也是描述 Node。

Node 是 Endpoint 的集合。每个 Endpoint 都包含一个特定功能集。例如,一个 Endpoint 与照明功能相关,而另一个与运动监测相关,再一个与系统(例如设备 OTA)相关。

一个 Endpoint 包含一个或者多个 Clusters。Cluster 是设备数据模型描述的另一个层次,它是特定设备功能分组,例如智能插座上的 On/Off Cluster,或者是可调光设备 Level Control Cluster 。

然而,不同 Endpoint 也可以一个相同功能的实例。例如,多键开关上面的开关独立控制,或者插板插座的需要对每一个插孔进行控制,而这里每一个开关或者插孔都可以是一个 Endpoint。

如下分层和包含关系,最后一级就是 Attributes。他是 Node 的一个状态集合。例如可调光灯的当前调光值。Attributes 可以有不同的数据类型, uint8, strings 或者 arrays。

除...

Matter 系列之 Device Attestation

设备认证特指 CSA Matter 认证产品的验证流程,也就是 Matter 设备在 Commissioning 过程需要向 Commissioner 证明其是一个合法的设备。该流程主要是利用设备在生成阶段烧录的 DAC 证书、私钥和和证书链。Commissioner 会在该阶段完成如下验证:

  • 是否是认证厂商生产制造;
  • 是否是合法设备;
  • 是否通过 Matter 兼容性测试;

在 Matter 开发阶段,开发者是可以在没有认证的前提下完成所有功能开发。一旦打算进入量产,那么需要联系 Matter 认证实验室完成认证,认证实验室会将认证状态同步到 DCL,保证 Commissioning 阶段能够完成 DAC 流程。

认证通过 Public Key Infrastructure (PKI) 系统构造根证书、中间证书和 DAC 的三级证书结构。这和我们常使用的 HTTPs 的认证体系是一致的。

DAC 是一个 X.509 v3 证书,包含一个公钥、以及证书撤销集 Certificate Revocation List (CRL),由RFC5280 完整定义,当然还包含如下其他信息。

  • Public Key
  • Issuer
  • Subject
  • Certificate Serial Number
  • Validity, where expiration can be indeterminate
  • Signature

其中 Vend...

Matter 系列之 Commissioning

Commissioning 在 Matter 特指给一个新设备分配 Fabric 操作凭据的一系列流程。该流程中区分两个不同的角色,Commissioner 作为该流程的操作者, Commissionee 即为该新设备。

通常地,手机 App 作为这里的 Commissioner ,而我们购买的智能硬件作为 Commissionee。如下流程指示 Commissioning 流程的关键步骤。

区分的不同的 Commissioning 方法和产品形态,这里的设备发现可以是 Commissioner 发现 Commissionee ,也可以是 Commissionee 发现 Commissioner。 对于 Matter 里面约定为:

  • Commissionable Node 发现

  • Commissioner 发现

当然在 Commissionee 成功加入 Fabric 后这里还包含 Operationnal 发现,对应如上图的倒数第二关键步骤。

在智能手机作为 Commissioner 的情形下通常是手机通过蓝牙或者基于 mDNS 的 DNS-SD 进行设备发现。是蓝牙还是 mDNS 取决于Commissioner 和 Commissionee 是否已经在同一个局域网,WiFi 设备通常需要是蓝牙,因为它还需要后续步骤配置用户家庭路由器的 SSID 和 Password,对于以太网设备插上网线即已...

Matter 系列之 Fabric

对于 Fabric ,字面意思为织网,这里不翻译。Matter 定义为同一安全域下 Node 的集合,在该安全域下 Node 能够彼此认证建立安全通信。一个 Fabric 共享同一证书机构(Certificate Authority (CA))的根证书(Root of Trust),同时约定一个 Fabric ID。

在 Commissioning 过程中会为需要加入 Fabric 的 Node 分配证书,也就是 NOC。

基于如上安全特性,通常一个生态可以描述一个 Fabric,如上的 Google Fabric。一个设备可以同时加入多个 Fabric,也就是同时被多个生态使用,取决于设备能力。在 Matter 里这个重要功能被定义为 Multi-admin。

这里详细介绍一个 Fabric 的 Operational 凭据。

  • Root of Trust

    即根证书, Commissioning 阶段会安装到设备上,之后可以通过管理员更新。通常一个生态为一个Trusted Root Certificate Authority (CA)。

  • Node Operational Identifier

    Operational Node ID,64位唯一数,在 Fabric 下设备唯一标识符。

  • Node Operational Certificate

    同一 Fabric 通信认证凭据,如下流程产生。

如上流程流...

Matter 系列之 什么是 Matter?

早在 CHIP 工作组成立之初,我在 开源 HomeKit ADK 文档中就表达对这新协议的兴奋。两年多时间一直在不间断跟踪学习,在其最后发布阶段。整理翻译了Google 关于 Matter 的初级读本系列开发文档。翻译为主,也谈了一些个人浅显理解。建议直接阅读原文和 Connected Home over IP Specification 以及阅读源码。

Matter 是一个智能家居协议的开放标准,基于该协议所有的 Matter 认证的智能硬件能够彼此通信,协同工作。Matter 标准来自由谷歌、苹果、亚马逊、ZigBee联盟等100多家组成的 CSA联盟共同制定,并且开源实现,connectedhomeip

对比如上的 TCP/IP OSI 4/7 层模型,Matter 协议的主要实现在应用层,但是选择了 WiFi、以太网、802.15.4 Thread 和 BLE 作为 媒介层、网络层和传输层,其中 BLE 主要是用以入网配置。

对于传统的无线技术 ZigBee、Bluetooth Mesh、Z-Wave 可以选择作为 Bridge 接入。

对于我们熟悉的 WiFi、BLE、ZigBee,以及在这之上的应用协议米家小米 IoT、苹果 HomeKit、亚马逊 AWS IoT 。...