一、簡介
Matter(以前稱為 Project Connected Home over IP 或 Project CHIP)是一個 開源應用層協議,向下屏蔽了設備制造商的生態和系統,旨在創建跨智能家居設備、移動應用程序和云服務的統一通信標準。它支持多種現有技術,包括 以太網
、Wi-Fi
、Thread
和低功耗藍牙 (BLE
),并使用 TCP
和 UDP
等基于 IPv6
的傳輸協議來確保不同類型網絡之間的連接。
Matter 由 開源 SDK(https://github.com/project-chip)實現,該 SDK 不僅包含規范的實現,還包含一套豐富的示例和互操作代碼。核心 Matter 協議適用于 OSI 環境的前三層,這意味著它支持任何類型的 IPv6 傳輸和網絡運行。雖然通過 IPv6 進行控制和其他操作通信,但可能會采用 Bluetooth 低功耗 (BLE) 來調試新設備1。
Matter 既靈活,又可以互操作。它基于低功耗 802.15.4 網絡以及 Wi-Fi 智能家居設備的多年挑戰和成功經驗。與 Thread 類似,Matter 基于 IPv6 構建。它提供強大的加密功能、明確定義的設備類型及其數據建模,以及對多個生態系統管理員的支持。
Matter還支持其他智能家居技術的橋接,(例如 Zigbee、Bluetooth Mesh 和 Z-Wave)。這意味著基于這些協議的設備可以通過橋接器操作,橋接器是 Matter 網絡和其他橋接的物聯網技術的成員設備。橋接器有雙重優勢。使用其他協議的設備可以訪問面向本機 Matter 設備的技術和生態系統。與此同時,Matter 將利用具有大規模已安裝用戶群體的成熟技術,創建一個真正連接的事物網絡。
二、Matter協議架構
Matter 應用層可以分為幾個主要組件。
在最底層,Matter 協議棧與傳輸層交互。有效數據包在發送設備上沿著協議棧向下流動,在接收設備上沿著協議棧向上流動。
2.1 應用程序
應用程序層定義給定最終產品的業務邏輯。例如,對于照明的應用程序可能包含處理打開/關閉燈泡及其顏色特征的邏輯。對于門鎖應用程序,業務邏輯可以根據來自特定虛擬助理技術的語音命令來打開和關閉特定模型的門栓。它還可以定義來自特定 PIN 鍵盤 UI 的輸入、門栓模型上特定 LED 的反應等。
2.2 數據模型
數據模型層使用 屬性(Attribute)
、命令(Command)
和 事件(Event)
的概念描述 Matter 節點支持的遠程操作,并分組為稱為 集群(Cluster)
的邏輯塊。Matter 應用集群規范中包含的集群具有明確定義的范圍和行為,以確保不同供應商開發的 Matter 節點之間的互操作性。集群可以是抽象的,這意味著它可以作為多種設備類型的基礎,以減少向 Matter 引入新產品類別的時間和成本。
2.3 交互模型
數據模型層描述了處理數據的抽象,而交互模型定義了如何通過交互在節點之間交換數據。
交互模型層定義了客戶端和服務器設備之間可以執行哪些交互。發起交互的節點稱為發起者(通常為客戶端設備Client
),作為交互的接收者的節點稱為目標(通常為服務器設備Server
)。
2.4 動作框架
動作框架層將作為交互一部分的消息從交互模型轉換為序列化的二進制數據包。
2.5 安全性
安全層從動作框架層獲取編碼幀,對其進行加密并附加消息身份驗證代碼,以確保數據受到數據包發送者和接收者的保護和驗證。
2.6 消息成幀和路由
該層負責將有效負載與必需的和可選的標頭字段組合在一起。這些標頭字段指定消息的屬性及其邏輯路由信息。
2.7 IP成幀和傳輸管理
該層管理通過 IP 網絡向對等設備傳輸有效負載。它使用傳輸控制協議 (TCP) 或用戶數據報協議 (UDP) 與 Matter 消息可靠性協議 (MRP) 的組合。MRP 實現重傳、提供傳送確認并確保拒絕重復的消息。在調試過程中,可以使用藍牙 LE 上的藍牙傳輸協議來代替該層。
三、Matter網絡拓撲結構
Matter 網絡拓撲是指 Matter 設備與 IPv6 網絡之間的連接結構。不同的 IPv6 網絡可以通過中央集線器 Hub(例如 Thread 邊界路由器或 Wi-Fi 接入點)相互通信。
Matter 允許通過 Matter 橋與基于其他協議(例如 Zigbee、Bluetooth Mesh 和 Z-Wave)的外部網絡連接。
下圖展示了一個通用的 Matter 拓撲示例,其中包含兩個 Thread 邊界路由器設備,其中一個具有與 Internet 的可選連接,以及圖上部的三個 Wi-Fi 設備,充當其他協議設備的 Matter 橋接器。
下圖中體現了 Matter over Wi-Fi、Matter over Thread 以及 Matter 橋接設備的工作情況。
首先設備通過藍牙加入到 Matter 網絡,因為 WiFi 本身支持 IP,但是 Thread 網絡不持支 IP,所以 Matter over Thread 必須通過 Thread 邊界路由器給 Thread 網絡中的設備分配IP地址,才能進行通信。非 Matter 協議的設備通過特定的 Matter 橋接設備也能加入到 Matter 網絡中進行通信。
3.1 單一網絡拓撲
在單一網絡拓撲中,所有的 Matter 設備都連接到一個單一的邏輯網絡。 它可以是 Thread/802.15.4 網絡、Wi-Fi 網絡或以太網網絡。在 Wi-Fi/以太網的情況下,網絡實際上可以跨越多個 Wi-Fi 和/或以太網段,前提是所有段都在鏈路層橋接。 節點(Node)是 Fabric 中的 Matter 設備的單個實例,可在 IP 網絡上運行。
在單一網絡拓撲中的每個節點都通過單個網絡接口與 Fabric 中的每個其他節點進行通信。
在 Matter 中,分屬不同網絡的設備可以進行同端通信,這也就意味著一個 Wi-Fi 設備可以和一個 Thread 進行相互的信息轉發,而 Matter 則扮演了一個虛擬網絡的身份,并稱其為 Fabric。
3.2 星形網絡拓撲
星形網絡拓撲由多個外圍網絡組成,這些網絡通過 Hub 連接在一起。Hub 通常是客戶家庭網絡(Wi-Fi/以太網)中的設備,而外圍網絡可以是任何支持的網絡類型。外圍網絡必須始終通過一個或多個邊界路由器(Border Router)直接連接到 Hub。
在架構上,任何數量的外圍網絡可以存在于單個 Fabric 中,包括相同類型的多個網絡。節點可以具有到任何網絡(Hub 或外圍設備)的接口,并且可以直接與同一網絡上的其他節點通信。然而,任何必須跨越網絡邊界才能到達目的地的通信必須通過邊界路由器(Border Router)。
該協議對邊界路由器提出了一系列要求。這些要求涉及地址分配、路由分配和廣播、多播支持和代理發現。
注:在現 Matter1.0 版本規范中,Thread是主要支持的 LLN(Low-Power and Lossy Network)。在許多情況下,客戶安裝將嘗試維護一簡單的網絡拓撲,包括一個 Wi-Fi/以太網子網和一個單 Thread 網絡。但是,可以支持多個 Thread 網絡。
AP(Access Point): WI-FI無線接入點,AP 負責向 STA 提供 Wi-Fi 信號,并提供連接互聯網的網絡服務。
STA(Station): STA 是 Wi-Fi 中的無線客戶端,即 Station。STA 可以是智能手機、平板電腦、筆記本電腦等各種設備,它們可以通過 Wi-Fi 連接到無線接入點,訪問互聯網或者局域網中的資源。
BR(Border Router): 指的是邊界路由器,BR 是一種網絡設備,可以連接兩個或多個 IP 子網,并將它們轉換為同一個 Thread 網絡,使得不同子網中的設備可以互相通信。BR 是 Thread 網絡中的核心設備之一,通常由路由器或者網關設備提供。
ED(End device): 指的是終端設備,ED 是 Thread 網絡中的客戶端設備,如智能手機、平板電腦、筆記本電腦等。ED 可以直接連接到 BR 或者 R,也可以通過其他設備中繼進行通信。
R(Router): 指的是內部路由器。R 是一種網絡設備,可以連接多個 ED 和其他 R,負責在 Thread 網絡中進行路由選擇和數據轉發。
SED(Sleepy End Device): 指的是低功耗終端設備。SED 是一種特殊的終端設備,通常采用低功耗的無線技術,可以在不需要進行通信時進入睡眠模式,從而延長電池壽命。SED 可以直接連接到 BR 或者 R,也可以通過其他設備中繼進行通信。
3.3 Matter網絡概念
Matter 網絡使用以下概念:
綁定(Binding): 允許在單個或兩個單獨的 Matter 節點上的 Matter 端點之間建立關系的功能。這些關系通過永久存儲在設備內存中并由綁定集群管理的綁定條目來描述。綁定用于分配節點上客戶端集群的一個或多個目標,以便設備知道應該對哪個遠程設備進行操作。建立綁定引發的行為是應用程序定義的,并且不受 Matter Core 規范的限制,這為不同的自定義場景開辟了道路。例如,您可以創建一種關系,在該關系中按下電燈開關設備上的按鈕會導致一個或一組燈泡設備的狀態發生變化。
橋(Bridge): 用于將與 Matter 不兼容的網狀網絡設備暴露給 Matter 網絡的網絡設備(例如 Zigbee 設備)。然后,此類橋接設備可以與結構中的 Matter 設備一起工作,并在不同的應用層上進行通信。該橋確保 Matter 和非 Matter 設備之間的連接是安全的。
控制器(Controller): Matter 控制器是 Matter 網絡中的一個節點,也是Matter 開發環境中的一個角色。控制器設備用于通過網絡遠程配對和控制 Matter 配件設備,并使用藍牙? LE 和常規 IPv6 通信與其進行交互。
邊緣路由器(Edge Router): 用于確保 Matter 支持的不同 IPv6 網絡的互操作性的網絡設備。邊緣路由器的主要任務是協調跨網絡通信。多個邊緣路由器可以在網絡內運行,以確保無單點故障。邊緣路由器的示例包括 Thread 邊界路由器和 Wi-Fi 接入點。
Fabric: 這是一組相互通信且可以屬于不同網絡的邏輯節點。結構中的設備共享相同的信任根和配置狀態,并且可以通過唯一的 64 位結構 ID 進行識別。
Multi-fabric: 一項 Matter 功能,允許將 Matter 節點委托給不同的結構(每個結構都有自己的管理員)并與這些結構內的其他設備進行通信。此功能對于確保多個應用程序和生態系統開箱即用的互操作性至關重要。它也可以稱為多管理。有關更多信息,請參閱Matter multiple fabrics feature
節點(Node): Matter 設備的單個實例,在使用節點 ID 和安全憑證進行調試后可在 IPv6 網絡上使用。一個節點可以委托給多個單獨的結構,并使用多個結構功能擁有多個管理員,因此具有多個節點 ID。Matter 中的節點支持家庭自動化橋接,從而允許實施其他家庭自動化技術、傳輸和鏈路層。每個節點都分配了一個唯一的 64 位節點 ID、一個由 CSA 靜態分配的 16 位供應商 ID (VID)、一個 16 位產品 ID (PID) 和一個 16 位組 ID (GID),其中標識結構中的一組節點。
OTA提供商(OTA Provider): Matter 節點,可以響應 OTA 請求者節點有關可用軟件更新映像的查詢,并在無線 (OTA) 軟件更新過程中向 OTA 請求者提供更新包。
OTA請求者(OTA Requestor): Matter 節點,可以向 OTA Provider 節點請求有關可用軟件更新映像的信息,并在 OTA 軟件更新過程中從 OTA Provider 節點接收更新包。OTA 請求者還可以處理有關 Matter 網絡中可用 OTA 提供商的公告。
? 由 Leung 寫于 2023 年 11 月 8 日
? 參考:Google Home Developers - Matter
nRF Connect SDK - Matter
project-chip
【Matter】Matter學習筆記1