Matter 系列 #5 I Matter 中的 Thread 邊界路由器
Matter 系列文章
Matter 系列 #1 I 智能家居互聯(lián)標(biāo)準(zhǔn) Matter 將帶來哪些好處?
Matter 系列 #2 I 智能家居互聯(lián)標(biāo)準(zhǔn) Matter 的數(shù)據(jù)模型
Matter 系列 #3 I Matter 賦能智能設(shè)備間的本地自動化交互
Matter 系列 #4 I Matter 協(xié)議中的橋接機制
Matter 系列 #5 I Matter 中的 Thread 邊界路由器

在此前的幾篇文章中,我們從多個方面介紹了 Matter 協(xié)議。今天,讓我們回到 Matter 的一個基礎(chǔ)特性:基于 IP 網(wǎng)絡(luò)。
Matter 是基于互聯(lián)網(wǎng)協(xié)議 (Internet Protocol, IP) 定義的通用應(yīng)用層。因此,無論底層采用何種 IP 網(wǎng)絡(luò)協(xié)議,Matter 應(yīng)用層都能夠保證設(shè)備間的互操作性。在即將發(fā)布的第一版 Matter 協(xié)議中,它將首先支持以太網(wǎng)、Wi-Fi 和 Thread 網(wǎng)絡(luò)協(xié)議。

以太網(wǎng)和 Wi-Fi 都是眾所周知的網(wǎng)絡(luò)協(xié)議,而 Thread 則是一個比較新的概念。
簡單來說,Thread 是一套基于 IPv6 的低功耗 mesh 網(wǎng)絡(luò)協(xié)議,常用于物聯(lián)網(wǎng)產(chǎn)品。Thread 協(xié)議是基于 IEEE 802.15.4 技術(shù),因此 Thread 網(wǎng)絡(luò)中的設(shè)備無法直接與 Wi-Fi 或以太網(wǎng)設(shè)備通信。為了使 Thread 設(shè)備與其他網(wǎng)絡(luò)中的設(shè)備互聯(lián),我們需要在 Matter 的拓?fù)浣Y(jié)構(gòu)中增加一個特殊設(shè)備:Thread 邊界路由器。
下圖展示了典型的 Matter 協(xié)議拓?fù)浣Y(jié)構(gòu):

在本地網(wǎng)絡(luò)中實現(xiàn)設(shè)備的端到端通信是 Matter 的關(guān)鍵特點之一。它支持設(shè)備跨以太網(wǎng)、Wi-Fi 和 Thread 網(wǎng)絡(luò)進(jìn)行通信。例如,一個 Thread Matter 開關(guān)可以控制一個 Wi-Fi Matter 燈泡;同理,一個 Wi-Fi Matter 開關(guān)也可以控制一個 Thread Matter 燈泡,而且這些過程均無需借助手機 App、云或其他特別操作。
接下來,我們將通過一個由 Thread 邊界路由器連接 Wi-Fi 和 Thread 設(shè)備的例子,介紹 Thread 邊界路由器如何支持 Matter 協(xié)議中的 (a) 雙向連接和 (b) 服務(wù)發(fā)現(xiàn)功能。

雙向連接
Thread 邊界路由器負(fù)責(zé)在 Wi-Fi 和 Thread 網(wǎng)絡(luò)之間轉(zhuǎn)發(fā) IP 幀。與網(wǎng)關(guān)/橋接設(shè)備不同的是,Thread 邊界路由器僅需專注于處理 IP 層的通信,而無需考慮應(yīng)用層的數(shù)據(jù)內(nèi)容,或處理應(yīng)用層交互。
Thread 網(wǎng)絡(luò)的單播尋址有三個作用域:
Link-Local:僅用于單跳通信
Mesh-Local:用于本地 Thread 網(wǎng)絡(luò)內(nèi)的通信
Global:用于與 Thread 網(wǎng)絡(luò)之外的設(shè)備通信
Thread 邊界路由器為其所在 Thread 網(wǎng)絡(luò)配置 OMR (Off-Mesh Routable) Prefix,每個 Thread 設(shè)備相應(yīng)添加一個 OMR 地址作為全局單播地址。Thread 邊界路由器通過向 Wi-Fi 網(wǎng)絡(luò)發(fā)送包含 IPv6 Route Information Option (RIO) 的 Router Advertisement (RA) 數(shù)據(jù)幀,來宣布此 OMR Prefix 可抵達(dá) Thread 網(wǎng)絡(luò)。
同理,Thread 邊界路由器也會通知 Thread 網(wǎng)絡(luò)設(shè)備,通往 Wi-Fi 網(wǎng)絡(luò)的路由信息。這個過程中,路由信息是通過 Thread Network Data 在 Thread 網(wǎng)絡(luò)中傳播,而非使用 IPv6 Neighbor Discovery 協(xié)議。

此時,Thread 和 Wi-Fi 網(wǎng)絡(luò)中的設(shè)備都已經(jīng)知道可以通過 Thread 邊界路由器轉(zhuǎn)發(fā), 并通往對方網(wǎng)絡(luò)的路由信息。

服務(wù)發(fā)現(xiàn)
Matter 采用標(biāo)準(zhǔn)的基于 DNS 的服務(wù)發(fā)現(xiàn) (DNS-Based Service Discovery, DNS-SD) 協(xié)議,進(jìn)行服務(wù)廣播和發(fā)現(xiàn)。在 Wi-Fi 和以太網(wǎng)絡(luò)中,DNS-SD 協(xié)議使用多播 DNS (mDNS) 方式。
然而,多播和廣播在 Thread 等低功耗 mesh 網(wǎng)絡(luò)中的效率并不高。因此 Thread 特別引入了服務(wù)注冊協(xié)議 (Service Registry Protocol, SRP),通過單播進(jìn)行服務(wù)發(fā)現(xiàn)。

通常情況下,Thread 邊界路由器充當(dāng) SRP 服務(wù)器和代理 (Advertising Proxy):Thread 設(shè)備向 Thread 邊界路由器注冊自己的服務(wù),接著 Thread 邊界路由器通過多播 DNS 向 Wi-Fi 網(wǎng)絡(luò)廣播所有 Thread 設(shè)備的服務(wù)信息。
Thread 邊界路由器還實現(xiàn)了 DNS-SD 發(fā)現(xiàn)代理 (Discovery Proxy),這樣 Thread 設(shè)備也可以發(fā)現(xiàn) Wi-Fi 網(wǎng)絡(luò)中的服務(wù)。

樂鑫 Thread 邊界路由器解決方案
樂鑫自 Matter 發(fā)起之初就積極加入并開發(fā) Matter 項目,現(xiàn)已能夠為用戶提供全功能的 Matter 協(xié)議解決方案,包括使用 Wi-Fi/Thread 連接的 Matter 終端設(shè)備,以及使用樂鑫 SoC 組合搭建的 Thread 邊界路由器/Zigbee 橋接設(shè)備。?
Thread 邊界路由器示例和 SDK 現(xiàn)已對用戶開放。本示例中,用戶需要通過 UART 或 SPI 將一顆 Wi-Fi 芯片和一顆 802.15.4 芯片相連。
Thread 邊界路由器示例和 SDK:https://github.com/espressif/esp-idf/tree/master/examples/openthread/ot_br

如您有意向進(jìn)一步了解我們的 Thread 邊界路由器解決方案,請聯(lián)系我們的客戶支持團(tuán)隊。
樂鑫客戶支持團(tuán)隊:espressif.com/sales

本文是樂鑫 Matter 系列文章的第五篇,敬請期待后續(xù)的更多內(nèi)容。