【 源碼、 文檔、 軟體、 硬體、 技術交流、 技術支援, 入口見 文末】 【所有相關 IDE、 SDK和 例程源碼均可從群檔案 免費擷取, 免安裝, 解壓即用】
持續更新中,歡迎關注!
一、簡介
Bridge(橋接器)存在的意義在于讓Matter生态系統能夠相容非Matter的裝置,進而達到使用者可以同時使用原本就存在的智能裝置和新的Matter裝置。
下圖從邏輯上簡單表明了橋接裝置實作的功能:非matter裝置被視Matter生态系統中橋接裝置上的一個節點。 Matter節點既可以和Matter裝置通信,同時也可以和橋接器上的Bridged Device(橋接裝置)節點進行通信(網橋裝置需要實作兩種協定之間的轉換)。
接下來說明如何基于資料模型的概念認識橋接裝置。
二、橋接器的資料結構
當橋接器成功入網後,其被Matter生态系統視為至少一個節點。在這個節點中必須包含以下資訊。
- 包含并公開一組對應非Matter協定的裝置的端點。
- 包含并公開一個裝置類型為 Aggregator 的端點,該端點中Descriptor cluster包含PartsList attribute屬性,PartsList attribute中包含了所有的非Matter協定裝置的端點資訊。
- 每個橋接裝置端點都與 Aggregator 端點中的PartsList屬性相對應。并且橋接裝置端點上的Descriptor cluster提供了關于橋接裝置的特定資訊,比如裝置類型等。
當一個橋接器需要橋接多種技術/邏輯分組的情況下,可以在橋接器的資料結構中進行對應的分層與集合,來區分不同的橋接技術以及他們分别對應的裝置,并且每一個分層都有自己的Aggregator 的端點來表示相關資訊。
上面兩幅圖的橋接裝置都使一樣的,唯一的不同點在于分類方法。
2.1 橋接器的拓撲或邏輯分組
橋接器需要包含橋接裝置的拓撲或者邏輯分組資訊。假設橋接器包含了50盞燈卻不包含這些燈的邏輯分組或者命名資訊,那麼使用者在控制器上隻能看見一個由50盞燈組成的清單,而不知道這些燈在那間屋子裡,或起到什麼功能,這顯然是不能接受的。
如果橋接器包含了拓撲或邏輯分組資訊,那麼這些資訊會在Aggregator 端點的ActionList cluster的EndpointLists 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 cluster的EndpointLists 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 cluster 和 Power Source cluster來展示相關資訊。(如圖43、EP23所示)
還有兩種特殊情況需要說明:
- 當橋接裝置被抽象為多個端點,并且該裝置僅包含一個電源,則Power Source Configuration cluster應該出現在根端點處,而Power Source cluster出現在對應包含電源的裝置端點上。
- 當橋接裝置含有多個電源時,每一個電源都要由相應的Power Source cluster來表示其資訊,并出現在包含電源的裝置對應端點上(每個端點最多出現一個);而Power Source Configuration cluster應該出現在這組端點的根端點上,裡面包含了這個橋接裝置所有含有Power Source cluster的端點号。
當橋接裝置不包含電源或者電源資訊對橋接器不可見的情況下,橋接裝置的端點不包含Power Source Configuration cluster和Power Source cluster。
2.4 橋接裝置功能的Clusters(裝置類型)
對于每個橋接裝置,橋接器應将其相對應的Matter裝置類型的所需的Cluster都展示出來。
這樣就使得Matter裝置可以識别橋接裝置的裝置類型并與它的Cluster進行互動,就像是與相應類型的原生Matter裝置的互動那樣。
【參考目錄】
- CSA-Matter協定官方文檔
(注:任何相關問題,歡迎在文末技術交流QQ群中交流讨論。)
持續更新中,歡迎關注!
【所有相關 IDE、 SDK和 例程源碼均可從群檔案 免費擷取, 免安裝, 解壓即用】 【 源碼、 文檔、 軟體、 硬體、 技術交流、 技術支援, 入口見 文末】