跟我來!用i.MX 8M和JN5189,快速實(shí)現(xiàn)Zigbee和Matter的網(wǎng)絡(luò)橋接
本文將介紹Matter對(duì)網(wǎng)絡(luò)橋接功能的支持,并探討在Matter提供的例程基礎(chǔ)上如何使用i.MX 8M和JN5189實(shí)現(xiàn)Zigbee網(wǎng)絡(luò)和Matter網(wǎng)絡(luò)之間的橋接,從而將Zigbee設(shè)備連接到Matter網(wǎng)絡(luò)。快來一探究竟吧!
Matter橋接原理
Matter是新一代的物聯(lián)網(wǎng)技術(shù)協(xié)議,與傳統(tǒng)的Z-Wave或Zigbee網(wǎng)絡(luò)協(xié)議相比,它在安全性、互操作性方面有很大的改進(jìn)。特別是對(duì)多種物理層的支持,讓Matter幾乎能夠運(yùn)行在所有的網(wǎng)絡(luò)產(chǎn)品中。
當(dāng)然,傳統(tǒng)的Z-Wave或Zigbee產(chǎn)品并不會(huì)很快退出市場(chǎng),如何將這些產(chǎn)品連接到Matter網(wǎng)絡(luò),從而實(shí)現(xiàn)它們和Matter產(chǎn)品之間的互連互通,是目前急需解決的一個(gè)問題。我們可以通過Matter橋接設(shè)備(Bridge)實(shí)現(xiàn)Matter和傳統(tǒng)網(wǎng)絡(luò)之間的互連。
圖1:Matter橋接示意圖
幸運(yùn)的是,Matter開發(fā)組織已經(jīng)提供了一些Matter橋接設(shè)備的例程。在這些例程中,Matter橋接設(shè)備作為一個(gè)Matter設(shè)備可以加入到Matter網(wǎng)絡(luò),而Z-Wave或Zigbee設(shè)備需要被映射到它的動(dòng)態(tài)端點(diǎn)(dynamic endpoint)中。這樣Matter網(wǎng)絡(luò)的其它設(shè)備就可以通過Matter橋接設(shè)備的動(dòng)態(tài)端點(diǎn)來跟Z-Wave或Zigbee設(shè)備通信,如下圖所示。這些端點(diǎn)被稱為“動(dòng)態(tài)端點(diǎn)”的原因是Zigbee設(shè)備隨時(shí)可能離網(wǎng),原先映射端點(diǎn)也就不再有效。
本文將以Zigbee網(wǎng)絡(luò)為例,以i.MX 8M EVK和JN5189 DK6 EVK為硬件開發(fā)平臺(tái),介紹如何在例程基礎(chǔ)上添加代碼,來實(shí)現(xiàn)Zigbee網(wǎng)絡(luò)的橋接功能。
圖2:將Zigbee設(shè)備映射到Matter橋接設(shè)備
i.MX 8M和JN5189介紹
i.MX 8M系列應(yīng)用處理器基于Arm Cortex-A53和Cortex-M4內(nèi)核,具有業(yè)界領(lǐng)先的音頻,語音和視頻處理功能,適用于從消費(fèi)家庭音頻到工業(yè)樓宇自動(dòng)化及移動(dòng)計(jì)算機(jī)等廣泛應(yīng)用。作為Matter設(shè)備,i.MX 8M EVK配合其板載的藍(lán)牙、Wi-Fi以及LAN接口,可以輕松實(shí)現(xiàn)Matter over Wi-Fi和Matter over Ethernet通訊。借助于外掛的K32W061 USB dongle,還可以實(shí)現(xiàn)Matter over Thread通訊。本文使用其Matter over Wi-Fi方式作為Matter設(shè)備。
JN5189是為極低功耗無線設(shè)備設(shè)計(jì)的高性能超低功耗微控制器,搭載了802.15.4 PHY和MAC,以及AES 128硬件加解密模塊,支持Zigbee、Thread以及Matter等多種協(xié)議。本文使用Zigbee協(xié)議,將其作為Zigbee協(xié)調(diào)器來實(shí)現(xiàn)橋接功能。
硬件連接
本文中我們使用兩塊i.MX 8M EVK和一個(gè)Wi-Fi路由器組件Matter網(wǎng)絡(luò),其中一塊i.MX 8M EVK作為Matter網(wǎng)絡(luò)控制器 (Commissioner) 運(yùn)行chip-tool,另外一塊i.MX 8M EVK作為Matter網(wǎng)橋設(shè)備,運(yùn)行Matter橋接設(shè)備軟件imx-chip-brige-app。
Matter網(wǎng)橋設(shè)備中通過USB端口連接了一個(gè)JN5189的Zigbee協(xié)調(diào)器,Matter橋接設(shè)備軟件需要同時(shí)支持Matter設(shè)備的功能以及管理Zigbee網(wǎng)絡(luò)的功能。另外,我們使用JN5189 DK6 EVK的OM15076-3 / OM15081-2組合板充當(dāng)Zigbee設(shè)備。
圖3:硬件搭建示意圖
軟件設(shè)計(jì)
1
Zigbee設(shè)備管理
本文的設(shè)計(jì)中,Matter橋接設(shè)備作為Zigbee網(wǎng)絡(luò)的協(xié)調(diào)器,因此它需要管理Zigbee網(wǎng)絡(luò)的組建和Zigbee設(shè)備的入網(wǎng),離網(wǎng),命令控制及綁定等操作。同時(shí)它需要維護(hù)一個(gè)Zigbee設(shè)備的本地?cái)?shù)據(jù)庫(kù)。如圖4中的ZCB模塊。
為了便于本文的討論,我們將Zigbee設(shè)備簡(jiǎn)單地分為兩類。一類是控制設(shè)備,它接受協(xié)調(diào)器的命令并做出動(dòng)作,這類設(shè)備通常是Zigbee 路由器(Router)。另外一類是傳感器設(shè)備,這類設(shè)備通常是Zigbee 終端設(shè)備(End Device),常常處于睡眠狀態(tài),有時(shí)會(huì)利用喚醒的間隔發(fā)送數(shù)據(jù)包到協(xié)調(diào)器。
2
Matter橋接設(shè)備對(duì)Zigbee設(shè)備的控制
下面分別討論Matter橋接設(shè)備對(duì)這兩類設(shè)備的不同處理:
Matter橋接設(shè)備對(duì)Zigbee控制設(shè)備
的命令解析及傳遞
已入網(wǎng)的Zigbee設(shè)備會(huì)被映射到Matter設(shè)備的動(dòng)態(tài)端點(diǎn)中,這樣Matter網(wǎng)絡(luò)控制器對(duì)Zigbee設(shè)備的控制會(huì)發(fā)送到這些端點(diǎn)。對(duì)于Zigbee控制類設(shè)備,橋接設(shè)備需要通過Zigbee協(xié)調(diào)器正確地將這些命令轉(zhuǎn)發(fā)給它們。
如圖4中的Level Control和OnOff Control命令。需要注意的是由于Level Control Cluster里的MoveToLevel命令具有延時(shí)特性,如下圖的Transition time,我們可以利用Matter協(xié)議棧里的PreCommandCallback回調(diào)函數(shù)來獲取命令的詳細(xì)參數(shù)。
對(duì)于不帶延時(shí)特性的命令,我們可以直接從例程提供的AttributeChangeCallback接口里獲取。
圖4:Zigbee cluster規(guī)范里的MoveToLevel命令參數(shù)圖
對(duì)于這類Zigbee控制設(shè)備,設(shè)計(jì)的軟件框圖如下:
圖5:發(fā)送控制命令到Zigbee 路由設(shè)備的橋接設(shè)備軟件框圖
Matter橋接設(shè)備對(duì)Zigbee傳感器設(shè)備
屬性匯報(bào)的管理
對(duì)于Zigbee傳感器類設(shè)備,可以在設(shè)備入網(wǎng)時(shí)就進(jìn)行綁定(bind)操作,這樣Zigbee協(xié)調(diào)器就能定期收到屬性數(shù)據(jù)匯報(bào)(attribute report)。同時(shí),Matter控制設(shè)備也需要通過subscribe命令將其映射的端點(diǎn)和Cluster綁定到Matter控制設(shè)備。這樣通過兩次綁定,Zigbee傳感器的數(shù)據(jù)最終會(huì)被推送到Matter控制設(shè)備。
對(duì)于這類Zigbee傳感器設(shè)備,設(shè)計(jì)的軟件框圖如下:
圖6:處理Zigbee 終端設(shè)備屬性匯報(bào)的橋接設(shè)備軟件框圖
3
軟件測(cè)試
Matter橋接設(shè)備軟件的設(shè)計(jì)基于例程中的Linux平臺(tái),它通過Wi-Fi路由器加入到運(yùn)行Matter chip-tool的Matter控制設(shè)備,從而組建一個(gè)本地的Matter網(wǎng)絡(luò)。
配合Zigbee AN,我們分別利用:
AN1247作為Zigbee協(xié)調(diào)器,組建Zigbee網(wǎng)絡(luò)并管理Zigbee設(shè)備
AN1244里的照明設(shè)備作為Zigbee控制設(shè)備接收OnOff、MoveToLevel、MoveToColor等命令
AN1246里的溫度傳感器作為Zigbee傳感器設(shè)備采集溫度數(shù)據(jù)
通過Matter橋接設(shè)備,實(shí)現(xiàn)了Matter控制器對(duì)Zigbee照明設(shè)備的控制,同時(shí)獲取到由Zigbee傳感器推送的實(shí)時(shí)溫度數(shù)據(jù)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。