Matter學(xué)習(xí)筆記(2)——數(shù)據(jù)模型和設(shè)備類型

一囚霸、設(shè)備數(shù)據(jù)模型

Matter 中的設(shè)備具有明確定義的 數(shù)據(jù)模型(DM)读规,它是設(shè)備功能的分層建模宜咒。使用 屬性(Attribute)幌绍、命令(Command)事件(Event) 的概念描述 Matter 節(jié)點支持的遠程操作,并分組為稱為集群的邏輯塊趾牧。Matter 應(yīng)用集群規(guī)范中包含的集群具有明確定義的范圍和行為检盼,以確保不同供應(yīng)商開發(fā)的 Matter 節(jié)點之間的互操作性。集群可以是抽象的武氓,這意味著它可以作為多種設(shè)備類型的基礎(chǔ)梯皿,以減少向 Matter 引入新產(chǎn)品類別的時間和成本。

此層次結(jié)構(gòu)的頂層有 設(shè)備(Device)县恕。

1.1 節(jié)點和端點

所有設(shè)備(包括智能手機和家居助理)都由一個或多個節(jié)點 節(jié)點 組成东羹。節(jié)點是網(wǎng)絡(luò)中唯一可識別且可尋址的資源,用戶可以將其視為整個功能忠烛。Matter 中的網(wǎng)絡(luò)通信源自和終止于節(jié)點属提。

節(jié)點是 端點 的集合。每個端點都包含一個功能集美尸。 例如冤议,在語音控制門鎖設(shè)備中,一個端點可以包括用于操作門鎖的功能集师坎,而另一端點可以包括用于處理溫度傳感器的功能集恕酸,而另一個端點與實用程序(例如設(shè)備 OTA)相關(guān)。

注意:端點 0 始終保留給 Matter 的實用程序集群胯陋。這是每個 Matter 設(shè)備的唯一強制端點蕊温。其中包含端點的服務(wù)功能,例如發(fā)現(xiàn)遏乔、尋址义矛、診斷和軟件更新。

節(jié)點角色 是一組相關(guān)行為盟萨。每個節(jié)點可以有一個或多個角色凉翻。節(jié)點角色包括:

  • Commissioner:執(zhí)行調(diào)試的節(jié)點。
  • 控制器:可以控制一個或多個節(jié)點的節(jié)點捻激。例如 Google Home app (GHA)制轰、Google Assistant 和 Google Nest Hub (2nd gen)前计。某些設(shè)備類型(例如開/關(guān)燈開關(guān))具有 Controller 角色。
  • 受控方:可由一個或多個節(jié)點控制的節(jié)點艇挨。大多數(shù)設(shè)備類型都可以是控制方残炮,但具有“控制器”角色的某些設(shè)備類型除外韭赘,例如開/關(guān)燈開關(guān)缩滨。開/關(guān)燈開關(guān)只能是控制器。不能是被控制方泉瞻。
  • OTA 提供方:可以提供 OTA 軟件更新的節(jié)點脉漏。
  • OTA 請求方:可以請求 OTA 軟件更新的節(jié)點。

1.2 集群

詳細內(nèi)容查看:Application Cluster Specification

端點由一個或多個集群組成袖牙,這些 集群 對屬性侧巨、命令和事件進行分組,這些屬性鞭达、命令和事件共同構(gòu)成了一組中的每個功能司忱。例如智能插座上的“開啟/關(guān)閉”集群,或可調(diào)暗的淺色端點上的“級別控制”集群畴蹭。

一個節(jié)點可能還有多個端點坦仍,每個端點都會創(chuàng)建一個功能相同的實例。例如叨襟,燈具可以單獨控制各個燈繁扎,或者電源板可以對各個插座進行控制。

1.2.1 客戶端和服務(wù)器

集群可以有以下類型:

  • 服務(wù)器: 負責(zé)保存屬性糊闽、命令和事件的值梳玫。
  • 客戶端: 負責(zé)與其他服務(wù)器集群進行交互,從而執(zhí)行以下操作:
    • 讀取和寫入服務(wù)器屬性右犹。
    • 讀取服務(wù)器事件提澎。
    • 調(diào)用服務(wù)器遠程命令。

雖然數(shù)據(jù)模型在節(jié)點內(nèi)是分層的念链,但節(jié)點之間的關(guān)系不是盼忌。Matter 中的節(jié)點沒有垂直的控制器/外圍設(shè)備或主/從關(guān)系。相反钓账,關(guān)系是水平關(guān)系:任何集群都可以是服務(wù)器或客戶端碴犬。因此,就不同的集群和功能而言梆暮,節(jié)點可以既是服務(wù)器又是客戶端服协。

例如,我們可能有兩個臺燈:節(jié)點 A節(jié)點 B啦粹。這兩個節(jié)點都實現(xiàn)了開/關(guān)燈設(shè)備類型偿荷。此設(shè)備類型包含一個開啟/關(guān)閉服務(wù)器集群窘游,用于控制其各自的物理光輸出。

不過跳纳,與典型臺燈一樣忍饰,我們的實體設(shè)備還會包含用于本地開/關(guān)的開關(guān)設(shè)備類型。此設(shè)備類型必須實現(xiàn)開啟/關(guān)閉客戶端集群寺庄,以便控制服務(wù)器集群艾蓝。

1.2.2 描述符集群(Descriptor Cluster)

這是存在于每個節(jié)點的 Server Cluster,它用于描述節(jié)點信息斗塘,這個節(jié)點可以是一個Endpoint赢织,也可以是多個Endpoint的組合;

每種設(shè)備類型都需要實現(xiàn)描述符集群馍盟。根設(shè)備類型在端點 0 上定義于置。讀取其描述符集群可讓客戶端了解遍歷所有可用端點樹并執(zhí)行適用的操作。

調(diào)試器或控制設(shè)備(如手機或集線器)可以使用在描述符集群上找到的信息對設(shè)備(燈贞岭、開關(guān)八毯、泵、溫控器)以及該設(shè)備的特定實例實現(xiàn)的特定功能進行建模瞄桨,從而向用戶顯示正確的界面话速。

其中描述了端點及其屬性以下枚舉:

  • 設(shè)備類型(DeviceTypeList): 是端點支持的設(shè)備類型以及相應(yīng)修訂版本的列表。它必須至少包含一種設(shè)備類型讲婚。
  • 服務(wù)器列表(ServerList): 列出了端點中的集群服務(wù)器尿孔。
  • 客戶端列表(ClientList): 列出了端點中的集群客戶端。
  • 其他端點筹麸,稱為零件列表(PartsList): 包含用于實現(xiàn)此設(shè)備類型的端點列表活合。
    端點 0(根節(jié)點)的 PartsList 包含設(shè)備本身以外的所有端點(端點 0)。
    其他端點的 PartsList 通常為空物赶。例如白指,溫度傳感器會強制要求運行溫度測量服務(wù)器集群,而不需要任何其他配置酵紫。
    其他設(shè)備類型可能采用由多個 Device Type 實例的樹結(jié)構(gòu)組成告嘲。例如,視頻播放器設(shè)備類型可以由電視奖地、視頻播放器橄唬、音響設(shè)備和不同的內(nèi)容應(yīng)用設(shè)備類型組成,每種類型位于不同的端點上参歹。

1.3 屬性

屬性 是表示物理量或狀態(tài)的數(shù)據(jù)實體仰楚。它們存儲在 Matter 設(shè)備的內(nèi)存中,但也可以根據(jù)需要動態(tài)計算。例如級別控制集群的當(dāng)前級別屬性僧界。屬性可定義為不同的數(shù)據(jù)類型侨嘀,例如 uint8、字符串或數(shù)組捂襟。

1.4 命令

除了屬性之外咬腕,集群還有命令。命令 是可用于觸發(fā)其他設(shè)備上某些行為的操作葬荷。例如在門鎖設(shè)備中涨共,鎖門命令可用于在物理設(shè)備上觸發(fā)此類操作。命令可以生成響應(yīng)和結(jié)果闯狱;在 Matter 中煞赢,此類響應(yīng)也被定義為反向執(zhí)行的命令。

1.5 事件

最后哄孤,集群還可能包含事件。事件 是一種傳達設(shè)備狀態(tài)更改的特殊屬性吹截。它們也可以被視為設(shè)備狀態(tài)轉(zhuǎn)換的記錄瘦陈。屬性表示當(dāng)前狀態(tài),而事件是過去的日志波俄,包含單調(diào)遞增的計數(shù)器晨逝、時間戳和優(yōu)先級。 它們能夠捕獲狀態(tài)轉(zhuǎn)換懦铺,以及不易用屬性實現(xiàn)的數(shù)據(jù)建模捉貌。

二、設(shè)備類型

詳細內(nèi)容查看:Device Library Specification

Matter 設(shè)備類型是一個或多個端點的正式定義的要求集合冬念。設(shè)備類型旨在確保市場上不同設(shè)備品牌的互操作性趁窃。

所有設(shè)備類型均在設(shè)備庫規(guī)范中定義,該規(guī)范可從CSA 規(guī)范下載請求頁面獲取急前。每個設(shè)備類型定義由以下元素組成:

  • 設(shè)備類型 ID
  • 設(shè)備類型修訂
  • 一個或多個強制集群醒陆,包括每個集群的最小修訂版

設(shè)備庫規(guī)范中的設(shè)備類型定義可能會隨著時間而改變。使用設(shè)備類型修訂值(最初設(shè)置為 )來跟蹤更改裆针。更改不會改變設(shè)備的工作方式刨摩,而只會改進其功能。

設(shè)備類型可以需要其他設(shè)備類型來進行組合世吨,從而使其成為組合設(shè)備類型澡刹。例如強制性集群之外,端點還可以實現(xiàn)其他集群耘婚,包括設(shè)備類型的一個或多個可選集群罢浇,甚至是不屬于設(shè)備類型的集群。


? 由 Leung 寫于 2023 年 11 月 9 日

? 參考:設(shè)備數(shù)據(jù)模型 | Matter | Google Home Developers
    nRF Connect SDK - Matter
    實例刨析边篮,沉浸式掌握Matter重要概念
    【Matter】Matter學(xué)習(xí)筆記1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末己莺,一起剝皮案震驚了整個濱河市奏甫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凌受,老刑警劉巖阵子,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胜蛉,居然都是意外死亡挠进,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門誊册,熙熙樓的掌柜王于貴愁眉苦臉地迎上來领突,“玉大人,你說我怎么就攤上這事案怯【” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵嘲碱,是天一觀的道長金砍。 經(jīng)常有香客問我,道長麦锯,這世上最難降的妖魔是什么恕稠? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮扶欣,結(jié)果婚禮上鹅巍,老公的妹妹穿的比我還像新娘。我一直安慰自己料祠,他們只是感情好骆捧,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著术陶,像睡著了一般凑懂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梧宫,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天接谨,我揣著相機與錄音,去河邊找鬼塘匣。 笑死脓豪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忌卤。 我是一名探鬼主播扫夜,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笤闯?” 一聲冷哼從身側(cè)響起堕阔,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颗味,沒想到半個月后超陆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡浦马,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年时呀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晶默。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谨娜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出磺陡,到底是詐尸還是另有隱情趴梢,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布仅政,位于F島的核電站垢油,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏圆丹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一躯喇、第九天 我趴在偏房一處隱蔽的房頂上張望辫封。 院中可真熱鬧,春花似錦廉丽、人聲如沸倦微。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欣福。三九已至,卻和暖如春焦履,著一層夾襖步出監(jiān)牢的瞬間拓劝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工嘉裤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留郑临,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓屑宠,卻偏偏與公主長得像厢洞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容