ESP32 支持智能家居连接标准 Matter(前称 CHIP)

本文翻译自:https://medium.com/the-esp-journal/announcing-matter-previously-chip-on-esp32-84164316c0e3

简介

Matter(前称 CHIP 项目)是一个新的智能家居连接标准,由连接标准联盟(Connectivity Standards Alliance,前称 Zigbee Alliance)发起并领导,多家物联网龙头公司联合开发,致力于构建安全、可靠且能够无缝使用的物联网设备。

乐鑫科技在其发起之初就加入了 Matter 计划,并专注于在乐鑫 SoC 上轻松地开发和使用 Matter。本文将讨论如何在 ESP32 上构建并运行您的第一个 Matter 应用程序。在接下来的文章中,我们将讨论更多 Matter 的技术细节,并探索如何在乐鑫平台上快速构建经 Matter 认证的设备。

 

架构

如上图所示,Matter 定义了将部署在设备和控制器上的应用层,以及支持基于 IPv6 的网络协议,从而实现设备间的互操作性。Matter 最初将支持基于 Wi-Fi 和 Thread 的核心通信,并支持通过低功耗蓝牙(Bluetooth LE)来简化设备配网和设置。

 

在 ESP32 上开发 Matter 应用

Matter SDK

Matter SDK 是一个用于实现 Matter 规范的开源代码库,目前仍在积极开发中。自其发布以来,ESP32 就实现了对它的支持。ESP32 是支持 Matter SDK 的平台中,唯一同时具有 Wi-Fi 和 Bluetooth LE 连接功能的平台。它支持通过 Bluetooth LE 和 Wi-Fi SoftAP 进行配网(初始设备配置),并支持通过 Wi-Fi 进行业务通信。

示例

您可以尝试以下示例:

1. ESP32 all-clusters-app:您可以使用基于 ESP32 的开发板(包括 ESP-WROVER-KIT 、ESP32-DevKit-C、M5Stack Core1),在此示例上尝试 Matter 的所有功能。您也可以通过 Matter 控制器来进行设备配网,并控制设备。all-clusters-app 是众多 Matter 开发者用于开发和测试的默认应用程序。

2. 占用空间优化的应用程序:上述 ESP32 all-clusters-app 就像一个厨房水槽应用程序,包含了 Matter 的所有 clusters。如果您想要了解有关 Matter 占用空间的利用情况,可以尝试使用 ESP32 temperature-measurement-app。该 APP 经过特殊优化,便于用户分析占用空间的影响。

上述示例都可以用 Matter 控制器进行测试。Matter SDK 提供了以下几个控制器的参考实现:

快速入门

以下是在 ESP32 上完成上述示例的具体步骤。这里使用的是 Espressif IoT Development Framework (ESP-IDF) release/v4.2 分支。

1. 如果用户尚未设置 ESP-IDF,请遵循这里的步骤。

2. 然后请根据各应用程序目录中的 README 文件(all-clusters app README 以及 temperature-measurement-app README),了解如何在 ESP32 上构建和加载示例。

3. 当 ESP32 启动并运行后,设置控制器。下面将使用 all-clusters-app 和基于 Python 的控制器作为示范,请遵循下列步骤:

构建 Python 控制器

$ cd /path/to/connectedhomeip
$ ./scripts/build_python.sh -m platform
  • 执行控制器并通过 BLE 建立安全会话。BLE 是应用程序中的默认模式,可通过 menuconfig 进行配置。
$ source ./out/python_env/bin/activate
$ chip-device-ctrl
chip-device-ctrl > ble-scan
chip-device-ctrl > connect -ble 3840 20202021 135246

参数:

1. Discriminator:3840(可通过 menuconfig 配置)

2. Setup-pin-code:20202021(可通过 menuconfig 配置)

3. Node ID:可选。如果不在此命令中传递,控制器会自动生成并显示在 connect 的输出中。在接下来的命令中应该使用相同的值。在此示例中,我们选择了一个随机的节点 ID,即 135246。

  • 使用 AddWiFiNetwork 命令添加您希望 ESP32 连接的 Wi-Fi 网络的凭据,然后用 EnableWiFiNetwork 命令使 ESP32 连接到该网络。在此示例中,我们分别用 TESTSSID 和 TESTPASSWD 作为 SSID 和密码。
chip-device-ctrl > zcl NetworkCommissioning AddWiFiNetwork 135246 0 0 ssid=str:TESTSSID credentials=str:TESTPASSWD breadcrumb=0 timeoutMs=1000
chip-device-ctrl > zcl NetworkCommissioning EnableNetwork 135246 0 0 networkID=str:TESTSSID breadcrumb=0 timeoutMs=1000
  • 由于之后不再需要 BLE 连接,因此可以断开与 ESP32 的 BLE 连接。
chip-device-ctrl > close-ble
  • 在设备控制器中解析 DNS-SD 名称并更新节点地址。
chip-device-ctrl > resolve 0 135246
  • 使用 OnOff cluster 命令来控制 OnOff 属性。该命令可帮助您将设备实现的参数切换为 On 或 Off。
chip-device-ctrl > zcl OnOff Off 135246 1 0
注意:上述所有命令都可使用  help 命令查询参数的相关信息。

上述命令可帮助您在 ESP32 上尝试与 Matter 有关的常用功能。

 

ESP32-C3 支持

乐鑫 ESP32-C3 也将提供对 Matter 的支持,敬请期待。也请您持续关注 Matter 和 ESP32 的更多信息。Happy hacking!

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值