Matter理论介绍-通用-1-03:桥接器-数据结构

源码文档软件硬件技术交流技术支持入口文末
【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用

 

持续更新中,欢迎关注!

【活动报名】2023.03.03
【拿破仑】芯科Matter实战分享
https://jinshuju.net/f/Ob2hRC

本次分享活动特点:
【1】完全站在开发者的角度思考问题
【2】在官方指导的基础上,进一步简化开发流程
【3】所有例程、开发板等软硬件资料全部免费提供
【4】零基础可上手
【5】所有演示可100%轻松复现


一、简介

Bridge(桥接器)存在的意义在于让Matter生态系统能够兼容非Matter的设备,从而达到用户可以同时使用原本就存在的智能设备和新的Matter设备。

下图从逻辑上简单表明了桥接设备实现的功能:非matter设备被视Matter生态系统中桥接设备上的一个节点。 Matter节点既可以和Matter设备通信,同时也可以和桥接器上的Bridged Device(桥接设备)节点进行通信(网桥设备需要实现两种协议之间的转换)。

在这里插入图片描述

接下来说明如何基于数据模型的概念认识桥接设备。

二、桥接器的数据结构

当桥接器成功入网后,其被Matter生态系统视为至少一个节点。在这个节点中必须包含以下信息。

  1. 包含并公开一组对应非Matter协议的设备的端点。
  2. 包含并公开一个设备类型为 Aggregator 的端点,该端点中Descriptor cluster包含PartsList attribute属性,PartsList attribute中包含了所有的非Matter协议设备的端点信息。
  3. 每个桥接设备端点都与 Aggregator 端点中的PartsList属性相对应。并且桥接设备端点上的Descriptor cluster提供了关于桥接设备的特定信息,比如设备类型等。

在这里插入图片描述

当一个桥接器需要桥接多种技术/逻辑分组的情况下,可以在桥接器的数据结构中进行对应的分层与集合,来区分不同的桥接技术以及他们分别对应的设备,并且每一个分层都有自己的Aggregator 的端点来表示相关信息。

在这里插入图片描述

上面两幅图的桥接设备都使一样的,唯一的不同点在于分类方法。

2.1 桥接器的拓扑或逻辑分组

桥接器需要包含桥接设备的拓扑或者逻辑分组信息。假设桥接器包含了50盏灯却不包含这些灯的逻辑分组或者命名信息,那么用户在控制器上只能看见一个由50盏灯组成的列表,而不知道这些灯在那间屋子里,或起到什么功能,这显然是不能接受的。

如果桥接器包含了拓扑或逻辑分组信息,那么这些信息会在Aggregator 端点的ActionList clusterEndpointLists attribute中进行公开,而ActionList attribute在没有动作时为空。桥接设备可以有选择性地向Matter生态系统公开部分或者全部拓扑信息。

以下图片展示了包含拓扑或逻辑分组信息的桥接器。需要注意的是除此之外还有组合桥接设备的组合端点情况(EP24,25,26),称EP24为根端点,EP25、26为叶端点。并且可以看到EP 25,26被列在EP 24的PartsList中,这表明它们继承了EP24的设备类型和基本信息。

在这里插入图片描述

此时用户在控制器上所看到的界面就是明确有序的。

在这里插入图片描述

2.2 桥接器的原生matter功能

桥接器除了具有桥接功能外完全还可以具有原生Matter功能,其原生Matter功能也抽象为一个端点(endpoint)存在于网桥的数据结构之中,但不同的是对应的EP数据结构有所不同(例如没有Bridged Node设备类型等)。

而且Aggregator 端点的ActionList clusterEndpointLists attribute属性中也不会包含原生Matter功能对应的端点。

下图黄色部分代表Matter原生功能。

在这里插入图片描述

2.3 桥接设备相关信息

桥接器上的每一个由桥接设备抽象来的端点都应该包含一个名为Bridged Device Basic Information 的cluster来体现这个桥接设备基本信息。

而桥接器本身应该包含一个Descriptor cluster ,其中的PartsList属性包含所有的由桥接设备抽象而来的端点,并且每个端点的设备类型属性后都要加上Bridged Node。(上面的图中都表现出了这一点。)

当一个桥接设备被抽象为多个端点时,此时端点的Bridged Device Basic Information 和桥接器的Descriptor cluster都应该只针对这一组端点的根端点。(如图43、EP24所示)

当桥接设备包含电源并且桥接器能够获得有关电源状态的信息时,桥接设备对应的端点上应该包含Power Source Configuration clusterPower Source cluster来展示相关信息。(如图43、EP23所示)

还有两种特殊情况需要说明:

  1. 当桥接设备被抽象为多个端点,并且该设备仅包含一个电源,则Power Source Configuration cluster应该出现在根端点处,而Power Source cluster出现在对应包含电源的设备端点上。
  2. 当桥接设备含有多个电源时,每一个电源都要由相应的Power Source cluster来表示其信息,并出现在包含电源的设备对应端点上(每个端点最多出现一个);而Power Source Configuration cluster应该出现在这组端点的根端点上,里面包含了这个桥接设备所有含有Power Source cluster的端点号。

当桥接设备不包含电源或者电源信息对桥接器不可见的情况下,桥接设备的端点不包含Power Source Configuration clusterPower Source cluster

2.4 桥接设备功能的Clusters(设备类型)

对于每个桥接设备,桥接器应将其相对应的Matter设备类型的所需的Cluster都展示出来。

这样就使得Matter设备可以识别桥接设备的设备类型并与它的Cluster进行交互,就像是与相应类型的原生Matter设备的交互那样。

【参考目录】

(注:任何相关问题,欢迎在文末技术交流QQ群中交流讨论。)


在这里插入图片描述

 

持续更新中,欢迎关注!

 

【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用
源码文档软件硬件技术交流技术支持入口文末

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿破仑940911

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值