使用ESP32-C6制作Matter协议智能灯泡:从环境搭建到接入网络的全流程指南

本文转载,将好的文章分享给更多人
原文链接:https://mc.dfrobot.com.cn/thread-317323-1-1.html

导言

Matter是一种开放的、跨平台的物联网(IoT)连接标准和协议,旨在解决智能家居设备之间的互通性和互操作性问题。Matter得到了众多领先的科技公司的支持,如Google、Apple、Amazon、微软等。
ESP32-C6是乐鑫科技推出的一款支持wifi6、Bluetooth5(LE)、zigbee、thread协议的芯片,具有极低的功耗和高性价比,非常适合用于matter设备中,本文将使用FireBeetle ESP32-C6制作一个智能灯泡,并接入matter网络中。

通过本文你将学到以下知识
Matter的优势及网络框架
如何在Ubuntu20搭建ESP-IDF、ESP-Matter环境
如何给ESP32-C6烧录代码
如何将ESP32-C6添加到Matter网络
如何测试控制ESP32-C6

第一部分:Matter的优势及网络架构

外网网关
目前一些智能设备厂商采用云端智能化解决方案,所有设备均需要与云端服务器通讯。信息传递路径如下:按下开关 - 路由器转发信息到云端服务器 - 云端服务器处理分发 - 路由器将信息转发给灯 - 灯泡点亮。这种方式存在一些问题,如数据传输时间长、对外网依赖度高,若无外网,所有智能化控制将失效。
在这里插入图片描述

本地网关为了解决外网网关的问题,智能设备厂商开发出了本地网关,控制信息可以不经过外网就可以达到对应设备,提高了稳定性和安全隐私性。信息传递路径如下:按下开关 - 本地网关处理分发 - 灯泡点亮。但是由于各大厂商协议并不相同,导致只能购买同一家生态链的智能家居,造成了智能设备的碎片化。

在这里插入图片描述
Matter网关
Matter的网络架构同本地网关类似,但是Matter解决了设备碎片化的问题,只要支持Matter协议的设备都可以接入,不再区分设备厂商

在这里插入图片描述

第二部分:环境搭建

使用硬件
firebeetle ESP32-C6 *1
WS2812 *1

将WS2812连接到FireBeetle ESP32-C6的IO8

在这里插入图片描述
FireBeetle ESP32-C6 硬件资源
Wiki:https://wiki.dfrobot.com.cn/_SKU_DFR1075_FireBeetle_2_Board_ESP32_C6

环境搭建
系统使用的是Ubuntu20(作为Matter网关,负责接收和下发Matter数据)
国内用户需让Ubuntu上能够科学上网

export https_proxy=http://192.168.1.120:10809 export
http_proxy=http://192.168.1.120:10809

esp-idf开发环境搭建,使用v5.1.1版本

git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.1.1
git submodule update --init --recursive
./install.sh
cd …

esp-matter开发环境搭建

git clone --depth 1 https://github.com/espressif/esp-matter.git
cd esp-matter
git submodule update --init --depth 1
cd ./connectedhomeip/connectedhomeip
./scripts/checkout_submodules.py --platform esp32 linux --shallow
cd …/…
./install.sh
cd …

安装esp-matter过程可看到如下打印信息

在这里插入图片描述
安装成功后可看到如下信息

在这里插入图片描述
进入idf目录配置idf的环境变量

cd esp-idf
source ./export.sh

进入matter的目录配置matter的环境变量

cd esp-matter
source ./export.sh

使能IDF构建启动Ccache,以增加构建速度

export IDF_CCACHE_ENABLE=1

第三部分:烧录样例代码

进入esp-matter的light示例,编译并烧录程序

cd esp-matter/example/light/
idf.py set-target esp32c6
idf.py flash

如果遇到权限问题,不能访问串口导致无法烧录,可先更改它的权限,然后继续烧录即可

sudo chmod 666 /dev/ttyACM0
idf.py flash

烧录完成后,打开ESP32-C6串口,可看到如下打印
在这里插入图片描述
通过串口发送matter命令配置ESP32-C6,让其连接上Wi-Fi(需要填入Wi-Fi的ssid和password)。
matter esp wifi connet your-ssid your-password

在这里插入图片描述

第四部分:接入Matter网络

切回linux环境下,使用chip-tool进行配对ESP32-C6,并且保证linux环境和ESP32-C6在同一个局域网内。

chip-tool pairing onnetwork-long 0x12 20202021 3840
#这里的0x12是自定义的C6这个节点的ID

在linux下运行上面的命令后,可在C6的串口中看到配对成功的调试信息。

在这里插入图片描述

第五部分:效果展示

然后在linux上使用chip-tool去控制ESP32-C6,完成命令后可在C6的串口看到对应的调试信息和WS2812的状态变化。

chip-tool onoff on 0x12 0x1
chip-tool onoff off 0x12 0x1
#这两条命令即完成了灯亮灭的控制

在这里插入图片描述
在这里插入图片描述
参考资料:https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html

  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值