新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于RW612的Matter ZigBee Bridge和OTBR實現(xiàn)

基于RW612的Matter ZigBee Bridge和OTBR實現(xiàn)

作者:Patrick Pan 時間:2025-01-13 來源:恩智浦MCU加油站 收藏

背景

本文引用地址:http://www.butianyuan.cn/article/202501/466273.htm

旨在推動設(shè)備間更便捷更安全互連互控的標(biāo)準(zhǔn)使得基于協(xié)議的各類產(chǎn)品,如WiFi、OpenThread等得以很好的融合。但如何兼容海量存量市場,尤其是如何將那些不支持協(xié)議的諸如ZigBee,Z-Wave等非設(shè)備接入統(tǒng)一的環(huán)境就成為十分緊迫且重要的議題。

就技術(shù)角度而言,只有借助橋接Bridge機制才能實現(xiàn)Matter和Non-Matter協(xié)議之間的轉(zhuǎn)換,從而將ZigBee,Z-Wave等非Matter設(shè)備接入Matter網(wǎng)絡(luò),實現(xiàn)互連互控。出于成本考慮,橋接Bridge功能可以整合到Matter設(shè)備中,比如在MatterOverWiFi上實現(xiàn)Bridge Cluster的功能,通過對加入ZigBee Coordinator的ZB節(jié)點動態(tài)分配端點(EndPoint)的方式將其映射為Matter設(shè)備,從而使得Matter Controller(如樹莓派RaspberryPi或手機App)可以對其像標(biāo)準(zhǔn)的Matter設(shè)備一樣進行操控。

Matter ZigBee Bridge技術(shù)路線

Matter Bridge需要配合Non-Matter設(shè)備的網(wǎng)關(guān),比如ZigBee Coordinator才能將ZigBee設(shè)備映射為Matter設(shè)備。就NXP的三模無線協(xié)議(Wifi/BLE/802.15.4)MCU RW612而言,考慮到RW612需要支持Matter OTBR,并且出于實際應(yīng)用中的性能考慮,不希望其片上802.15.4共享OpenThread和ZigBee協(xié)議,因此需要外接一顆K32W061完成ZigBee Coordinator的功能。

Matter ZigBee Bridge方案實現(xiàn)

圖片.png

圖1 RW612的EVK板外接K32061 ZigBee Coordinator

NXP的RW612采用ARM Cortext-M33核,主頻260MHz,片上RAM高達1.2MB,用戶可根據(jù)需要靈活選用不同容量的外部Flash。如圖1 所示:RW612作為MatterOverWiFi設(shè)備加入Matter網(wǎng)絡(luò),片上的802.15.4模塊實現(xiàn)Matter OTBR功能, MatterOverThread節(jié)點,如Lighting和Switch等都可以通過該RW612的OTBR接入Matter網(wǎng)絡(luò);同時通過RW612的UART外接K32061 ZigBee Coordinator,當(dāng)ZigBee設(shè)備加入該Coordinator時,后者將入網(wǎng)信息一并傳遞給RW612的Bridge模塊,后者就可以通過Matter標(biāo)準(zhǔn)中的Bridge Cluster為接入這個Zigbee Coordinator的所有ZigBee設(shè)備動態(tài)分配端點(EndPoint)從而將其映射為標(biāo)準(zhǔn)的Matter設(shè)備,這樣作為Non-Matter的ZigBee設(shè)備就可以被Matter Controller控制(如Light的ZR)或上報屬性(如ZED的Sensor)。

本文重點介紹圖2中紅色虛框的部分,即Matter ZigBee Bridge功能模塊,OTBR的具體實現(xiàn)可參考https://openthread.io/guides/border-router?hl=zh-cn

圖片.png

圖2 NXP Matter ZigBee Bridge + OTBR 實現(xiàn)

Matter ZB Bridge軟件架構(gòu)分為兩個部分(如圖3所示):Matter Bridge模塊和對Bridged Matter Devices的控制(即圖中Bridged Interface),前者是如何為加入到ZB Coordinator的ZB節(jié)點動態(tài)分配EP,以便于Matter Controller的控制或收集上報事件,后者是從設(shè)備控制的角度,通過Matter的CLI用戶接口命令,控制ZB Coordinator建立ZigBee網(wǎng)絡(luò)(Form ZB Network),允許ZB節(jié)點加入網(wǎng)絡(luò)(Permit Join),F(xiàn)actory Reset該ZB網(wǎng)絡(luò),將入網(wǎng)ZB節(jié)點退網(wǎng)(Leave/Remove ZB node),枚舉入網(wǎng)的ZB節(jié)點等功能。 

圖片.png

圖3 Matter Zigbee Bridge軟件架構(gòu)

Matter Zigbee Bridge的具體工作流程如圖4所示:

圖片.png

圖4 RW612 Bridge通過Coordinator控制ZR/ZED的入網(wǎng)流程

ZB設(shè)備在加入ZB Coordinator時廣播的Device Announce消息被ZB Coordinator收到后轉(zhuǎn)發(fā)給RW612,后者通過UART讓ZB Coordinator向該ZB設(shè)備發(fā)Simple Descriptor Req uest命令,該ZB設(shè)備隨之回復(fù)Simple Descriptor Response,ZB Coordinator同樣將收到的這個Response消息轉(zhuǎn)發(fā)給RW612,由RW612解析其負載中的Input Cluster List(如圖5所示)

圖片.png

圖5 Simple Descriptor Response內(nèi)容

圖5中該入網(wǎng)ZB節(jié)點包含On/Off,Level Control和Color Control三個Cluster,說明這是個Color Light設(shè)備,如沒有Color Control Cluster,則該ZB就為Dimmable Light,若沒有Level Control Cluster,則該ZB就是OnOff Light。

圖4最后一步所示,用戶可根據(jù)需要將入網(wǎng)的ZB設(shè)備上相關(guān)的Clusters與ZB Coordinator進行綁定(Binding),這樣當(dāng)該Cluster下某些屬性Attributes的狀態(tài)發(fā)生變化,如開On變成關(guān)Off時,就會發(fā)消息給與之綁定的ZB Coordinator,由后者將該屬性狀態(tài)變化消息上報給RW612。

Matter ZigBee Bridge使用說明

1. 生成RW612的燒錄Image

1.1 從 https://github.?com?/NXP/matter/tree/v1.3.0.0-tag-nxp下載Matter代碼:

a) git clone -b v1.3.0.0-tag-nxp https://?github?.com/NXP/matter.git

b) cd matter && git submodule update –init --progress

1.2 從 https://github.?com?/nxp-appcodehub?/dm-matter-zigbee-bridge-rw612 下載MatterZigbee Bridge代碼

a) git clone: https://github.com/nxp-?appcodehub?/dm-matter-zigbee-bridge-rw612

b) 將對應(yīng)目錄下的文件覆蓋前面1.1步驟中對應(yīng)目錄下

1.3 在/matter目錄下執(zhí)行:

a)

source ./scripts/activate.sh && cd
examples/bridge-app/nxp/rt/rw61x/

b)

gn gen --args="chip_enable_wifi=true 
chip_enable_openthread=truechip_enable_matter_cli=true is_sdk_2_15=true
openthread_root="//third_party/connectedhomeip/third_party/openthread/ot-nxp/openthread-br" enable_bridge=true
rt_nvm_component="littlefs"" out/debug

c)

ninja -C out/debug

最后在out/debug下生成chip-rw61x-bridge-example文件,添加.axf后綴,使用MCUXpresso IDE v11.9.x燒錄到RW612中。

2. 燒錄K32W061 Zigbee Coordinator

為確保RW612與K32W061的UART通訊穩(wěn)定可靠,將JN-AN-1247缺省的波特率由1000000bps改為115200bps再進行編譯,然后將BinariesControlBridge_Full_GpProxy_115200ControlBridge_Full_GpProxy_115200.bin使用DK6Programmer.exe燒入K32W061中。

3. 建立Matter ZigBee Bridge的運行環(huán)境

3.1 將RW612作為MatterOverWiFi設(shè)備加入Matter的Controller,以樹莓派為例:

$ chip-tool pairing ble-wifi 1 SSID Passwd 20202021 3840

這里的SSID是WiFi路由器AP的服務(wù)集合標(biāo)識(Service Set Identifier),Passwd為對應(yīng)的密碼。當(dāng)RW612成功加入時,會在樹莓派的Console上打印的 Matter信息靠近結(jié)尾附近有:

“Device commissioning completed with success”

3.2 創(chuàng)建Openthread邊緣路由器(OTBR:Openthread Border Router)在RW612的CLI中依次輸入下列命令:

>otcli dataset init new
>otcli dataset panid 0xabcd   --- 0xabcd can be changed to other value
>otcli dataset channel 25       --- 25 can be changed between 11~26
>otcli dataset commit active
>otcli ifconfig up
>otcli thread start
>otcli state                              --- must wait till “l(fā)eader” state appears
>otcli dataset active –x           --- thread dataset used in chip-tool similar to following : 0e08000000000001000035060004001fffe002088711152e77458a490708fdcbf744a91020cb05100c208752e1bd2586f0a87ed481890312030f4f70656e5468726561642d633130640410d60d95cb5db1044086f7813e66de19020c0402a0f7f80102abcd0003000019

3.3 將MatterOverThread設(shè)備加入RW612 OTBR

以K32W148的Lighting App為例,在K32W148上按下SW2,該設(shè)備的串口打印:“Started BLE Advertising”

此時在樹莓派的Console上運行:

當(dāng)在樹莓派的Console上Matter打印信息靠近結(jié)尾附近出現(xiàn):

“Device commissioning completed with success”

說明K32W148已成功加入RW612的OTBR,此時可在樹莓派的Console上運行:

$chip-tool onoff toggle 2 1

這里chip-tool后的第一個參數(shù)onoff是On/Off cluster,第二個參數(shù)是Toggle命令(也可以是On或Off命令),第三個參數(shù)2是該K32W148入網(wǎng)時使用的NodeID=2,最后一個參數(shù)1是OnOff Cluster所在的端點EndPoint值。

上述命令可以點亮K32W148上的LED,再次執(zhí)行該命令將關(guān)閉該LED。

3.4 運行Matter ZigBee Bridge

在RW612的CLI上依次運行下述命令:首先將ZB Coordinator置為出廠模式,然后在11頻道上建立ZigBee網(wǎng)絡(luò)并使能加網(wǎng):

這時將一個出廠模式的ZR彩燈(ColorLight)上電,很快就會在RW612的串口打印中出現(xiàn):Add Color LightNode Type=3,Short=0x18d4,MAC=0x158d00031f1742,EP=12928

這里的EP=12928就是該ZB彩燈在Matter網(wǎng)絡(luò)中被動態(tài)分配的端點,如果有更多的ZB節(jié)點加入,則會有更多的動態(tài)EP依次遞增的(12929,12930…)被分配給這些ZB設(shè)備。

此時,被分配了動態(tài)EP的ZB節(jié)點就從Non-Matter設(shè)備變成了Matter設(shè)備,通過在樹莓派上運行chip-tool實現(xiàn)對其OnOff、LevelControl及ColorControl Cluster下各屬性的控制:

在上述各例子中:chip-tool后第一個參數(shù)是已注冊到Matter Bridge中的cluster,如onoff/levelcontrol/colorcontrol,接下去的各參數(shù)具體含義可通過:

chip-tool cluster command方式獲取,如:

chip-tool colorcontrol move-to-hue就會返回:

Hue Direction TransitionTime OptionsMask OptionsOverride destination-id endpoint-id-ignored-for-group-commands

對于Sensor這類ZED設(shè)備,通常這些節(jié)點的Cluster在入網(wǎng)時與ZB Coordinator進行了綁定(Binding),使得這些ZED具有相應(yīng)的屬性匯報功能,若某個屬性狀態(tài)發(fā)生變化就會自動上報,使RW612也同步獲知。

小結(jié)

NXP 三合一無線協(xié)議MCU RW612+K32W061的Matter ZigBee Bridge和OTBR方案是目前業(yè)界第一款融合了Matter ZigBee Bridge和OTBR的解決方案,具有系統(tǒng)簡單,性價比高等優(yōu)點。

此外,本文中這種RW612和K32W061的組合有兩套獨立的802.15.4接口,在Dual-PAN應(yīng)用場景下,相比使用單一802.15.4接口時OpenThread與ZigBee在不同PAN之間頻繁切換不可避免導(dǎo)致的丟包,本方案不存在頻段切換的問題,從而完全避免了這種局限性。這種優(yōu)勢在大網(wǎng)絡(luò)LNT環(huán)境下尤其明顯。



關(guān)鍵詞: 智能家居 Matter IPv6

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉