Lazy loaded image
将配置 ESP32-C6 作为 Matter controller 【使用自带的控制台】 控制 设备(设备分esp模拟和Tuya灯泡)
字数 1821阅读时长 5 分钟
2025-12-8
2026-9-15
环境配置参考:
资料参考1:Matter Controller 
https://github.com/espressif/esp-matter/tree/main/examples/controller
参考资料4:espmatter编程指南 https://docs.espressif.com/projects/esp-matter/en/latest/esp32c6/index.html
参考资料5:espmatter API https://docs.espressif.com/projects/esp-matter/en/latest/esp32c6/api-reference/index.html
https://developers.home.google.com/matter/test/certificates?hl=zh-cn esp32 controller的四种模式:https://docs.espressif.com/projects/esp-matter/en/latest/esp32/controller.html#attestation-trust-storage
esp32 c++编程帮助:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/cplusplus.html
关于认证流程可以看这些内容:
  • https://developer.espressif.com/blog/matter-security-model/#certificates-in-matter (DAC PAI)
在esp-idf+ esp-matter 环境搭建好的前提下 ,就可以尝试 跑一下官方的 controller 例程了
这个例程位于:esp/esp-matter/examples/controller

烧录Controller例程:

  1. 需要提前将WSL的共享USB绑定并共享一下。在【ESP-IDF环境】在Windows子系统WSL下搭建Ubuntu24.04的ESP32开发环境有提到~
  1. 每次打开新终端时都需要执行一次激活环境。
  • 设置目标芯片并编译(D SDKCONFIG_DEFAULTS="sdkconfig.defaults.otbr" 是指定使用特定的默认配置文件, 刚开始没加这个,坑惨我了)
  • 清除flash、烧录到芯片并进入监视模式(后面需要在运行的shell脚本里输入命令测试)
    • 进入监视模式后,matter help 来查看指令帮助~

使用Thread配网, 控制ESP模拟的Matter设备

这里的模拟matter设备的开发板为 ESP32 H2, 此开发板仅有BLE+Thread,没有WIFI。
notion image
写在前面:
在监控的终端中,输入matter help 可以查看命令介绍
matter device factoryreset 出现错误时,可以重置设备或controller
前提是先启动 controller + Node (需要与matter设备处于同一局域网,我这里的设备是使用esp32h2模拟的【EspMatter环境】 并使用esp32 - h2 模拟Matter Node(light)

1. 控制端连接 WiFi 网络

  • 说明:{ssid} 替换为实际 WiFi 名称,{password} 替换为 WiFi 密码;
  • 示例:

    2. 初始化并启动 Thread 网络(控制端作为 Thread Leader)

    1. 初始化新的 Thread 网络数据集
    • 说明:生成全新的 Thread 网络核心配置(含 PAN ID、网络密钥、信道等)。
    • 提交数据集为活跃配置
    • 说明:使初始化的 Thread 数据集立即生效。
    • 导出 TLV 编码的 Thread 网络数据集
    • 说明:输出 TLV 格式的 Thread 网络配置字符串(记为<dataset_tlvs>,后续配对需使用);
    • 示例输出(参考):0e08000000000001000000030000154a0300001335060004001fffe00208f3b8545d66d5176f0708fda4013dc972c9bc0510a4a991938d75eb7c47335d7806366b07030f4f70656e5468726561642d643565370102d5e70410cfa686ad1778315b86e704459f75ca4a0c0402a0f7f8
    • 启用 Thread 网络接口
    • 说明:开启控制端 Thread 网络底层接口,准备创建 Thread 网络。
    • 启动 Thread 网络(控制端成为 Leader)
    • 说明:控制端启动 Thread 网络并选举为网络 Leader,等待设备接入。
    • 配对 Thread 终端设备(BLE-Thread 配网)
    • 参数说明:
      • 1234:为设备分配的 Node ID(十进制,对应十六进制 0x4D2,需与设备端日志匹配);
      • <dataset_tlvs>:替换为步骤 3.3 导出的 TLV 编码字符串;
      • 20202021:配网码(Setup PIN Code),需与设备端预设一致;
      • 3840:设备识别码(Discriminator),需与设备端预设一致;
    • 示例(替换实际 TLV 字符串):
      • 说明:通过 BLE 完成设备身份认证,同时下发 Thread 网络配置,设备自动接入 Thread 网络。

      3. 控制 Thread 终端设备(On/Off 集群指令)

      1. 发送「切换」命令(Toggle)
      • 参数说明:
        • 1234:设备的 Node ID(需与配对时一致);
        • 1:设备的 Endpoint ID(灯控类设备默认值为 1);
        • 0x0006:On/Off 集群 ID;
        • 2:On/Off 集群的「On」命令 ID(十进制)。
        • "{}" :可省略不写
      • 扩展控制指令
      • 发送「关闭」命令(Off):
        • 发送「打开」命令(On):

          使用WIFI配网,控制ESP模拟的Matter设备

          这里出问题了,用普通开发板能配网成功, 但是无法控制 注意,用H2开发板(因为H2没有WIFI功能,只有BLE+Thread) 所以不能配网成功= -=
          1. 控制端连接 WiFi 网络
          • 在 controlle 上输入
          进行设备入网,其中20202021 3840 分别为 PIn和鉴别符
          • 控制板载LED灯反转

          使用WIFI配网,控制 Tuya Matter 灯泡

          Tuya灯泡型号为Tuya智能 E27 matter灯泡

          1. 解析出的设备配网核心参数

          • 若设备未配网,在启动时,Tuya Matter 灯泡会,意为开始配网
            • 闪烁
          因为 esp controller 在配网时,需要输入 配网Pin码鉴别符,这就需要用到 matter设备的二维码(对于一些设备可能是NFC贴,或者需要手动输入等等。。)
          我这里是使用微信扫二维码得到其承载的数据MT:GE.01UNV17EKF15-E00
          MT:GE.01UNV17EKF15-E00 这个字符串,本质是 Matter 设备的二维码文本格式,每一台设备都有唯一的配网字符串,解析出来的「厂商 ID、产品 ID、区分符、通行码」都是唯一的,这是 Matter 协议的标准化设计。
          然后使用matter官方的 chip-tool 来输入
          得到的如下信息
          关键信息解释:

          2. 配网

          配网同上,点击跳转↓
          配网参考:matter esp controller invoke-cmd 0x1 1 0x0006 2 "{}"
          然后在idf.py monitor中可以对配网后的设备进行读取和控制。

          示例 1:读取单设备单属性

          • 含义:读取 node-id=123 的设备、endpoint=1、开关集群(6)、开关状态属性(0)→ 获取该设备 1 号端点的开关状态(0 = 关 / 1 = 开)。

          示例 2:控制设备反转

          上一篇
          Git 与 GitHub 入门与协作流程
          下一篇
          香橙派5Plus 使用Rust 与 Windows 串口通信

          评论
          Loading...