95197浏览
查看: 95197|回复: 1

[动态] 如何将ESP32-C6连接到Matter网络

[复制链接]

如何将ESP32-C6连接到Matter网络

介绍

Matter是一种开放、跨平台的物联网 (IoT) 连接标准和协议,旨在解决智能家居设备之间的互操作性和兼容性问题。它获得了谷歌、苹果、亚马逊、微软等领先科技公司的支持。ESP32-C6 是乐鑫开发的一款芯片,支持WiFi6、蓝牙 5 (LE)、Zigbee 和Thread协议。凭借其低功耗和成本效益,它非常适合在 Matter设备中使用。在本指南中,我们将使用FireBeetle ESP32-C6创建智能灯泡并将其集成到Matter网络中。

通过阅读本指南,您将了解以下内容:

  • Matter 的优势和网络框架
  • 如何在 Ubuntu 20 上设置 ESP-IDF 和 ESP-Matter 环境
  • 如何将代码刷入 ESP32-C6
  • 如何添加 ESP32 -C6 到 Matter 网络
  • 如何测试和控制 ESP32-C6

第1部分:Matter的优势和网络架构

外部网关

目前,一些智能设备制造商采用基于云的解决方案,要求所有设备与云服务器进行通信。信息传输路径如下:按下开关——路由器将信息转发到云服务器——云服务器处理并分发信息——路由器将信息转发给灯泡——灯泡亮起。这种方式存在数据传输时间长、对外部网络依赖性强等缺点。如果没有外部网络,所有智能控制都将变得无效。

如何将ESP32-C6连接到Matter网络图1

本地网关

为了解决外部网关的问题,智能设备制造商开发了本地网关,允许控制信息无需通过外部网络即可到达相应的设备。这提高了稳定性并增强了隐私和安全性。信息传输路径如下:按下开关——本地网关处理并分发信息——灯泡亮起。然而,由于各大厂商协议的差异,导致智能家居设备碎片化,限制了同一生态系统内设备的兼容性。

如何将ESP32-C6连接到Matter网络图2

物质网关

Matter的网络架构与本地网关类似,但解决了设备碎片化的问题。任何支持Matter协议的设备都可以连接,消除了设备制造商之间的区别。

如何将ESP32-C6连接到Matter网络图3

第2部分:环境设置

使用硬件

  • FireBeetle ESP32-C6 *1
  • WS2812 LED *1

将 WS2812 LED 连接到 FireBeetle ESP32-C6 的 IO8。

如何将ESP32-C6连接到Matter网络图4

FireBeetle ESP32-C6 硬件资源:https://wiki.dfrobot.com.cn/_SKU_DFR1075_FireBeetle_2_Board_ESP32_C6

环境配置

  • 使用的操作系统为Ubuntu 20(作为负责接收和分发Matter数据的Matter网关)。
  • 设置ESP-IDF开发环境,使用版本5.1.1。

BASH命令行操作

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开发环境。

BASH命令行操作

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 ..
  • 在安装过程中,您将看到以下输出信息。

如何将ESP32-C6连接到Matter网络图5

  • 安装成功后,您将看到以下信息。

如何将ESP32-C6连接到Matter网络图6

  • 配置IDF环境变量

通过进入IDF目录来完成环境变量配置。

BASH命令行操作

cd esp-idf
source ./export.sh
  • 配置Matter环境变量

通过转至Matter目录以配置环境变量。

BASH命令行操作

cd esp-matter
source ./export.sh
  • 启用IDF构建时使用Ccache以提高构建速度

BASH命令行操作

export IDF_CCACHE_ENABLE=1

第3部分:刷新示例代码

  • 导航至esp-matter 中的light 示例,编译并刷新程序。

BASH命令行操作

cd esp-matter/example/light/
idf.py set-target esp32c6
idf.py flash
  • 如果遇到权限问题导致无法访问串口和烧写,请先修改其权限,然后再继续烧写过程。

BASH命令行操作

sudo chmod 666 /dev/ttyACM0
idf.py flash
  • 刷写完成后,打开ESP32-C6 的串口,您将看到以下输出信息。

如何将ESP32-C6连接到Matter网络图7

  • 使用串口发送Matter 命令来配置ESP32-C6 并连接Wi-Fi(填写Wi-Fi SSID 和密码)。

BASH命令行操作

matter esp wifi connet your-ssid your-password

如何将ESP32-C6连接到Matter网络图8

第4 部分:连接到 Matter Network

● 切换回Linux 环境,使用chip-tool 与ESP32-C6 进行配对,确保Linux 环境与ESP32-C6 在同一本地网络。
BASH命令行操作

chip-tool pairing onnetwork-long 0x12 20202021 3840
#Here, "0x12" is a custom ID for the C6 node.

● 在Linux 下运行上述命令后,您将在C6 串口上看到配对成功的调试信息。

如何将ESP32-C6连接到Matter网络图9

第 5 部分:展示结果

● 在Linux 上使用chip-tool 来控制ESP32-C6。执行命令后,您将在C6串口上看到相应的调试信息和WS2812 LED的状态变化。
BASH命令行操作

chip-tool onoff on 0x12 0x1
chip-tool onoff off 0x12 0x1
#These two commands complete the control of the light

如何将ESP32-C6连接到Matter网络图10

如何将ESP32-C6连接到Matter网络图11

参考:https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html

对于不熟悉Linux的人来说,在搭建过程中可能会遇到一些问题。然而,解决问题是学习过程的一部分。建议利用搜索引擎查找任何问题的原因。欢迎在评论部分互动并分享您的问题和想法。

_深蓝_  中级技师

发表于 2024-4-18 15:24:50

老师,这个能不能通过arduinoIDE来实现?
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail