聚焦:芯产品,芯市场,芯资讯
近期对Matter有做更深入的学习,打算写出来,和大家一起分享; 对Matter协议有兴趣的,欢迎加好友一起交流;
前言
记得17年蓝牙Mesh发布的时候,感觉物联网的春天要到了,因为所有的手机都可以做到原生支持;4年多时间,蓝牙Mesh虽然国内发展不错,但是和当时想象的在标准性,互通性方面还是有差距;
现在看Matter协议,比当初看蓝牙Mesh觉得机会更大,原因是现在的封闭的生态带来的用户体验,品牌割裂,导致了不够理想的用户体验以及更改的品牌商成本,而Matter也是基于这个点出发,有希望改善问题,从而把家具物联网蛋糕做大;
今天通过空调实例,介绍Matter协议中的重要概念,如Node,Endpoint,Cluster,Attribute等,以及Matter的一些基础Cluster;
本文一共1268字,阅读时间估计15分钟
01
空调功能拆解
空调具备如下能力:
启动/关闭;
温度调节,含向上调节,向下调节;
模式调节,含制热模式,制冷模式,通风模式;
风量调节,含低,中,高;
把上述功能按Matter的数据模型进行拆解,得到如下结构
02
Matter名词概述
我们结合上面的空调,来看下Matter里面的名词
Node
Matter网络里面的可寻址的,唯一的,具备一系列功能和能力的单元,可以是一个独立的设备,也可以是一个手机APP;这里,空调即属于一个Node;
Endpoint
Endpoint是服务的实体,比如这里的空调服务;一个Node可以包含多个Endpoint,,这里额外举一个例子,比如一个三键开关,其实分别对应控制3个不同的灯,因此这个三键开关可以有3个Endpoint;
这里Endpoint 0 需要预留,用于描述Node本身的信息;
Cluster
Cluster是Endpoint具体的功能模块,它一般支持具体的接口/服务,它通过Server和Client的定义实现交互;比如这里的空调,可以提供的能力拆分成对应的Cluster,OnOff Cluster,
Cluster分为Utility Cluster(非功能的,比如OTA,配置服务等)和Application Cluster;
Attribute
属性,这个好理解,比如开关包含OnOff属性,调温包含CurrentLevel属性;
Attribute可以长期有效,也可以设备重启后恢复默认;Attribute可以是只读类别,也可以是可读,可写;
Command
命令,用于Client去控制Server的行为;比如OnOff Cluster中的Toggle(翻转) Command;
03
Cluster Server/Client
类似蓝牙Mesh中的Model一样,每个Matter Cluster有自己的服务端,和客户端;服务端提供设备能力,客户端提供控制设备的能力;
本示例中的空调,配套空调控制器,以及手机APP,示意如下图
04
基础Cluster及其功能
Binding Cluster
Binding (绑定)Cluster,用于建立Client Endpoint和其他一个/多个Endpoint/分组的联系;这个Binding Cluster的Attribute是一个List,用于存储上述关系;
比如针本文的空调控制面板,会和空调建立Binding关系,支持后续的空调控制;
Descriptor Cluster
这是存在于每个节点的Server Cluster,它用于描述节点信息,这个节点可以是一个Endpoint,也可以是多个Endpoint的组合;
因此,这个Cluster的Attribute包含了多个List;
以上面的空调的Descriptor Cluster为例,他的ServerList里面将包括手机和空调面板2个;
如果以3按键开关为例子,PartsList将会包括除了Endpoint0外的3个Endpoint的信息;
Access Control List (ACL) Cluster
每一个节点都具有一个ACL Cluster,用于管理节点的访问权限;这个后续展开;
05
交互模型
交互模型描述网络中的系统行为; 它覆盖了状态更新,订阅,读,写,匹配等;
比如我们增加了一个传感器,传感器保护了一个温度传感的Endpoint,这个Endpoint有一个温度的属性;
空调可以通过订阅温度属性,当传感器温度发生变化时候,会主动推送消息给到空调,从而完成自动的控制;
>> 历史相关文章
浅聊Matter协议 (原CHIP协议)
Matter协议特性解析(一) 支持非Matter协议
~~ “交个朋友” ~~