Seeed Studio XIAO MG24 示例 - Matter
介绍
Matter 是一个开源、统一的标准,用于智能家居技术,促进设备和生态系统之间的互操作性。由连接标准联盟(CSA)开发,它使来自不同制造商的设备能够无缝通信,而无需互联网连接。Matter 支持与 Apple HomeKit、Google Home 和 Amazon Alexa 等平台的原生兼容性,使在智能家居设置中集成设备变得更加容易。要更深入地了解 Matter,请参考官方 Matter 文档。
在 2024 年1,Silicon Labs 和 Arduino 联手降低 Matter 采用的障碍,提供了一个开发路径,简化了在 Arduino 生态系统中使用 Matter。这种合作旨在使 Matter 开发更加易于访问,帮助 Arduino 开发者克服典型挑战并无缝采用 Matter。
Matter 在本地网络上高效运行,提供可靠、低延迟的通信,无需互联网访问。这一特性显著提高了安全性和设备性能。
本文档将指导您完成在 XIAO MG24 上使用 Arduino 开发 Matter 应用程序的步骤。
先决条件
要开始在 XIAO MG24 上开发 Matter 应用程序,请确保以下硬件和软件组件已准备就绪。
硬件
- Seeed Studio XIAO MG24 开发板。
- 支持的 Matter 集线器(例如,Apple HomePod mini)以连接到 Matter 网络。
- Matter 控制器(例如,Apple HomeKit App)以管理和与您的 Matter 设备交互。
下表2提供了各种生态系统中 Matter 兼容集线器的示例:
制造商 / 生态系统 | 设备 |
---|---|
Google Home | Nest Hub Gen2 |
Apple HomeKit | HomePod Gen2, HomePod mini |
Amazon Alexa | Echo Gen4 |
Raspberry Pi OTBR | Raspberry Pi |
默认情况下,假设您至少有一个 Matter Hub 和一个 Matter 控制器(例如,安装了 HomeKit 的 iPhone)准备用于测试。
软件
所需软件包括 Arduino IDE 和 Silicon Labs 的 Arduino Core:
- 如果尚未安装,请下载并设置 Silicon Labs Arduino Core 以与 XIAO MG24 兼容。
- 有关详细的设置说明,请参考 入门指南。
确保选择 Matter 协议栈:

Matter 灯泡示例快速入门
Matter 灯泡示例 演示了一个简单的 Matter 应用程序,允许通过 Matter 网络控制 内置 LED
。此示例为初次接触 XIAO MG24 上 Matter 集成的开发者提供了一个实用的起点。
要在 Arduino IDE 中访问该示例:

为了方便起见,下面提供了对示例代码中设备名称的修改,以便进行个性化设置。
/*
Matter lightbulb example
The example shows how to create a simple on/off lightbulb with the Arduino Matter API.
The example lets users control the onboard LED through Matter.
The device has to be commissioned to a Matter hub first.
Author: Tamas Jozsi (Silicon Labs)
Modified by: Spencer Y (Seeed Studio)
*/
#include <Matter.h>
#include <MatterLightbulb.h>
MatterLightbulb matter_bulb;
void setup()
{
Serial.begin(115200);
Matter.begin();
matter_bulb.begin();
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
Serial.println("Matter lightbulb");
matter_bulb.set_device_name("XIAO MG24 bulb"); // Customize the default device name
matter_bulb.set_vendor_name("Seeed Studio"); // Set the vendor name
matter_bulb.set_product_name("Seeed Matter Lightbulb"); // Define the product name
if (!Matter.isDeviceCommissioned()) {
Serial.println("Matter device is not commissioned");
Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
}
while (!Matter.isDeviceCommissioned()) {
delay(200);
}
Serial.println("Waiting for Thread network...");
while (!Matter.isDeviceThreadConnected()) {
delay(200);
}
Serial.println("Connected to Thread network");
Serial.println("Waiting for Matter device discovery...");
while (!matter_bulb.is_online()) {
delay(200);
}
Serial.println("Matter device is now online");
}
void loop()
{
static bool matter_lightbulb_last_state = false;
bool matter_lightbulb_current_state = matter_bulb.get_onoff();
// Turn on the LED if the state is ON and the previous state was OFF
if (matter_lightbulb_current_state && !matter_lightbulb_last_state) {
matter_lightbulb_last_state = matter_lightbulb_current_state;
digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE);
Serial.println("Bulb ON");
}
// Turn off the LED if the state is OFF and the previous state was ON
if (!matter_lightbulb_current_state && matter_lightbulb_last_state) {
matter_lightbulb_last_state = matter_lightbulb_current_state;
digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
Serial.println("Bulb OFF");
}
}
刷写固件
- 将代码复制到 Arduino IDE 中并上传到 XIAO MG24 开发板。

- 刷写固件后,按下
RESET
按钮或重新连接 XIAO MG24 以重启开发板。 - 打开串口监视器确认设置。您应该看到类似这样的输出:

配网用二维码
串口监视器将显示一个用于生成二维码的 URL,这是设备配网所必需的。复制该 URL,将其粘贴到浏览器中,然后使用您的 Matter 控制器(例如 HomeKit)扫描生成的二维码。

测试设备
扫描二维码后,Matter 控制器(HomeKit)将提示您确认设备的身份。确认后,设备将在应用程序中可见。您现在可以控制 XIAO MG24 的内置 LED,并直接从应用程序界面测试其响应性。

参考资料与资源
如果您是 Matter 的新手,以下资源提供了在 Matter 生态系统中工作的基础知识和开发支持:
- 快速入门指南:学习 Matter 基础知识的理想起点,涵盖生态系统的基本概念和组件。
- Matter 开发者之旅:Matter 开发过程的综合指南,包括有效实施所需的工具、资源和最佳实践。
- Matter 规范:Matter 协议及其组件的技术规范。这是了解协议功能和操作细节的主要资源。
- 设备数据模型 - Google Home 开发者:对设备数据模型的深入解释,该模型标准化了设备功能和能力在 Matter 生态系统中的表示方式。
- Matter 开发框架概述:专门为 XIAO ESP32C6 的 Matter 开发框架量身定制的指南,为 Matter 设备开发提供了另一种方法。
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。