644|2

253

帖子

3

TA的资源

纯净的硅(初级)

楼主
 

【nRF7002-DK Wi-Fi® 6开发套件评测】跨开发板 Matter 通讯控制测试 [复制链接]

在之前的分享 【得捷电子Follow me第3期】两块ESP32C3通过Matter 互联实现控制 中,已经介绍了两块ESP32C3,通过 Matter 实现关联,然后其中一个做为主控端,控制另外一个。

这篇分享,则使用一块nRF7002-DK开发板,做为主控端,接入Matter,与作为受控端的ESP32C3关联,从而实现nRF7002-DK上的按键,来控制ESP32C3上的LED。

 

一、硬件了解

关于硬件部分,这次就不多说了。

ESP32C3的部分,在【得捷电子Follow me第3期】两块ESP32C3通过Matter 互联实现控制 已经详细说明了。

nRF7002-DK开发板,自带有两个用户按键,如下图开发板右下角的Button1、Button2:

 

二、开发板上的Matter程序

ESP32C3受控端的程序,在【得捷电子Follow me第3期】两块ESP32C3通过Matter 互联实现控制 中,已经刷好了,这里我们就主要说nRF7002-DK 的。

在nRF SDK 中,提供了Matter的相关实例,从VSCode的nRF Connect 中,可以直接以light_switch为参考来实现。

1. 从样例程序新建工程

 

完成后,新的工程如下:

 

 

2. 编译工程

首先新建nRF7002-DK对应的编译配置:

 

然后点击 Actions中的Build,进行编译。

编译时间,要比通用的nRF程序要长,因为涉及到了Matter的部分。

 

编译完成后,最终输出信息如下,说明编译成功:

 

需要说明的是,如果工程路径中带有中文,可能会编译失败。 

 

3. 烧录固件到开发板

将开发板接到电脑,然后直接使用Actions中的Flash烧录即可,烧录完成结果如下:

 

三、Matter互联测试

现在,两块开发板都准备好了,就可以进行Matter相关的测试了。

1. 设备信息获取

首先,使用串口监听工具监听两块开发板。

然后,长按nRF7002-DK开发板的Button1,5秒以上,串口会输出:

 表示接收到了重置按键。如果按短了,会提示取消重置。

 

最后,会输出如下信息:

 

重点关注上面的Product ID,Pin Code,Discriminator。

Product ID对应ESP32C3编译时的设置DEVICE_PRODUCT_ID。

nRF7002-DK的Product ID,即为下面命令中的node_master。

ESP32C3的DEVICE_PRODUCT_ID,即为下面命令中的node_slave。

 

此时,LED1会狂闪,表示需要配网。

 

再长按Button2,来启动蓝牙配网模式,至少按5秒,最终输出如下:

 

此时,LED1会慢闪,表示配网中。

 

2. 通过蓝牙配网

SSID=你的WiFi名称
SSPW=你的WiFi密码

# 主控,也就是nRF7002-DK的Product ID
node_master=0x8004

# 受控,也就是ESP32C3的
node_slave=0x8001

# 对应的十进制Product ID
node_master_dec=$(printf "%d" $node_master)
node_slace_dec=$(printf "%d" $node_slave)

# 发送配网信息
chip-tool pairing ble-wifi $node_master $SSID $SSPW 20202021 3840
chip-tool pairing ble-wifi $node_slave $SSID $SSPW 20202021 3840

 

nRF7002-DK开发板配网成功后,输出如下:

 

输出中的instance name的最后,就是对应的Product ID。

配网成功后,LED1常亮。

 

ESP32C3配网成功后,输出如下:

 输出中的instance name的最后,就是对应的DEVICE_PRODUCT_ID。

 

3. ACL权限设置

两块板子的网络配置好了,下面就要把他们关联起来,从而可以通过Matter互联和控制。

 

使用下面的命令,对nRF7002-DK和ESP32C3进行设置:

# 设置受控权限
chip-tool accesscontrol write acl '[{"privilege": 5, "authMode": 2, "subjects": [ 112233, '$node_master_dec' ], "targets": null}]' $node_slave 0x0

# 设置主控权限
chip-tool binding write binding '[{"node":'$node_slave_dec', "endpoint":1, "cluster":6}]' $node_master 0x1

设置完成后,两块板子输出如下:

  从上面的信息可以,主控端收到了受控端的信息,受控端也收到了主控端的信息了。

 

4. 按键测试

现在,按一下nRF7002-DK的Button2,两块板子的输出信息如下:

 

从上述输出可以看nRF7002-DK的Button2按键被检测到,然后发送控制指令给ESP32C3控制LED。

每按一次Button2,ESP32C3连接的LED就会交换状态,从而实现亮灭了。

 

具体测试的视频如下:

35613_1702609223.mp4 (2.05 MB, 下载次数: 0)

 

四、总结

Matter真的是门好技术,值得好好研究。

在这次的分享中,通过Matter,不同类型的开发板,能够很方便的互联互通起来,进行控制。

这也正式Matter的精髓所在,将不同类型的碎片化的智能设备,通过统一的Matter,来互联互通到一起。

Nordic对Matter的支持非常完善,使得nRF7002-DK能够快速的跑起来Matter的应用,让开发效率大幅提升。

 

此帖出自RF/无线论坛

最新回复

楼主的分享十分有用,先收藏起来,慢慢学习,非常感谢楼主的无私奉献   详情 回复 发表于 2023-12-15 22:38
点赞 关注
 

回复
举报

731

帖子

4

TA的资源

纯净的硅(高级)

沙发
 

楼主的分享十分有用,先收藏起来,慢慢学习,非常感谢楼主的无私奉献

此帖出自RF/无线论坛

点评

感谢支持!  详情 回复 发表于 2023-12-16 21:15
 
 

回复

253

帖子

3

TA的资源

纯净的硅(初级)

板凳
 
chejm 发表于 2023-12-15 22:38 楼主的分享十分有用,先收藏起来,慢慢学习,非常感谢楼主的无私奉献

感谢支持!

此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表