将 XIAO ESP32-C5 连接到 Home Assistant
本 wiki 教程将演示如何将 Seeed Studio XIAO ESP32-C5 连接到 Home Assistant,以及在将 Grove 模块连接到 XIAO ESP32-C5 后如何控制设备或传输数据。那么,让我们开始吧!
Home Assistant 简介
Home Assistant 是一个功能强大的开源家庭自动化平台,允许您从单一统一界面控制和监控智能家居设备。它充当智能家居的中央枢纽,使您能够自动化例程、监控传感器并创建更智能的生活空间。

ESPHome 集成
ESPHome 是一个专为 ESP8266 / ESP32 设备设计的开源固件创建工具。它允许您使用简单的 YAML 配置文件创建自定义固件,然后可以将其刷写到您的设备上。

方法 1:使用 ESPHome
此示例将通过 ESPHome 连接到 Home Assistant。
硬件准备
您需要准备表格中列出的物品。
| Seeed Studio XIAO ESP32-C5 | Seeed Studio Grove Base for XIAO | Grove - Red LED |
|---|---|---|
![]() | ![]() | ![]() |
安装固件
如果您尚未设置 Home Assistant,可以点击此链接并按照官方 Home Assistant 教程完成设置。Home Assistant Installation
步骤 1. 安装 ESPhome
如果您已经安装了 ESPHome,可以跳过此步骤。
- 转到 Settings -> Add-ons

- ADD-ON STORE -> Search ESPHome


- 启动 ESPhome

确保您安装的 ESPHome 版本大于或等于 25.11.5;否则,它可能不支持 XIAO ESP32-C5。
步骤 2. 添加新设备
转到 ESPHome,并点击右下角的 Add New Device 按钮。

添加新设备并将其命名为 XIAO ESP32-C5。



步骤 3. 安装固件
参考 YAML 文件配置
您需要修改参数以匹配您设备的参数,例如 API 密钥、SSID、密码等。此外,XIAO ESP32-C5 支持双频 WiFi(2.4 GHz 和 5 GHz),这意味着您可以将其连接到家中的 5 GHz 路由器。
esphome:
name: xiao-esp32-c5
friendly_name: XIAO ESP32-C5
esp32:
board: esp32-c5-devkitc-1
variant: esp32c5
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key:
ota:
- platform: esphome
password:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Xiao-Esp32-C5 Fallback Hotspot"
password:
captive_portal:
# Example configuration entry
output:
- platform: gpio
pin: GPIO1
id: led_gpio_output
inverted: false
switch:
- platform: output
name: "LED Switch"
output: led_gpio_output
id: dev_board_led

点击 INSTALL 将代码安装到设备上,您将看到以下图像。

- 通过浏览器安装
- 通过主机安装
- 通过 Wi-Fi 安装
如果您的 Home Assistant 主机(Raspberry PI/Green/Yellow 等)距离您较远,我们建议使用此方法。您可以使用手边的计算机进行安装。
首先,您需要点击 Manual download 下载编译好的固件。

打开此网站,我们将在此处将固件上传到 XIAO ESP32-C5。
ESPHome dashboard_install

返回 ESPHome 下载固件。

选择 Factory format。

使用 USB 线缆将设备连接到您的计算机并点击 CONNECT。
ESPHome dashboard_install

选择 usbmodemxxx(Windows 是 COMxxx)并点击连接。

点击 INSTALL 并选择您刚刚下载的固件。

如果您的 Home Assistant 主机(Raspberry PI/Green/Yellow 等)就在附近,我们建议使用此方法,因为它更简单。
在将代码安装到设备之前,您需要使用 USB 线缆将此设备连接到运行 Home Assistant 的 Raspberry Pi 或 HA Green(Yellow) 等设备。
按照图像中的选项点击以将代码安装到设备。


稍等片刻,您将看到如下图所示的反馈。这意味着代码正在成功运行。

这是最简单的方法,但前提是在首次安装程序时,您应该首先使用左侧的方法将程序上传到 ePaper Panel。之后,您可以通过 wifi 上传。另外,请确保您的 YAML 配置包含正确配置的 ota 和 api 部分以及有效的加密密钥,以便此方法正常工作。
通过这种方式,您无需将 XIAO ESP32-C5 连接到任何设备,只需确保它在线即可。
点击选项,然后固件将自动安装到 ePaper 面板。

稍等片刻,您将看到如下图所示的反馈。如果失败,可能是由于信号较弱。请将设备移近您的路由器。

步骤 4. 添加设备
-
导航到 Settings → Devices & services

-
ESPHome Device -> Add。

-
如果您选择添加密钥,您需要输入它,可以在您创建的 YAML 文件中找到。

-
成功添加后将显示以下屏幕。

在仪表板上显示
步骤 1. 打开 Overview -> 点击右上角的 Edit

步骤 2. 创建一个部分并将其命名为 LED Control -> 添加卡片

步骤 3. Add by entity -> 搜索 XIAO ESP32-C5 -> Continue

步骤 4. 在弹出窗口中选择 Add to dashboard -> 点击右上角的 Done 完成添加。

-
效果如下:


方法 2:Seeed Home Assistant Discovery
- Seeed HA Discovery 是由 Seeed Studio 提供的完整解决方案,用于轻松将 ESP32/nRF52840 设备连接到 Home Assistant。
- 只需在 Arduino IDE 或 PlatformIO 中为您的 XIAO 系列开发板编写几行代码,您就可以通过 WiFi 或 BLE 连接到 Home Assistant。
- 在这里,我们将使用读取温室温湿度传感器的示例来向您展示如何使用 Seeed Home Assistant Discovery 将 XIAO ESP32-C5 连接到 Home Assistant。
硬件准备
| Seeed Studio XIAO ESP32-C5 | Seeed Studio Grove Base for XIAO | Grove - Temperature & Humidity Sensor (DHT11) |
|---|---|---|
![]() | ![]() | ![]() |
安装 HACS 集成
在添加 Seeed Home Assistant Discovery 集成之前,您需要先安装 HACS。
安装步骤:
- Settings -> Devices & services -> Add integration -> 搜索 HACS

- 选择所有选项 -> Submit

-
点击超链接并复制其中的激活码。
-
输入前面提到的激活码
-
返回 HomeAssistant -> Developer tools -> Reboot system

- 左侧导航栏显示 HACS

安装集成
- 通过 HACS 一键安装(推荐)
-
打开 HACS -> Integrations:
-
点击右上角的 ⋮ 图标 -> Custom repositories
-
输入
https://github.com/limengdu/Seeed-Homeassistant-Discovery,选择类别 Integration -
点击 Add,然后搜索 Seeed HA Discovery 并安装
-
重启 Home Assistant
安装 Arduino 库
安装 WiFi 依赖库
- 对于 Arduino IDE
- 下载
arduino/SeeedHADiscovery文件夹
-
复制到
C:\Users\yourname\Documents\Arduino\libraries\ -
ArduinoJson (by Benoit Blanchon)

- WebSockets (by Markus Sattler)

- 对于 PlatformIO
lib_deps =
bblanchon/ArduinoJson@^7.0.0
links2004/WebSockets@^2.4.0
安装 BLE 依赖库
- 对于 Arduino IDE
-
下载
arduino/SeeedHADiscoveryBLE文件夹 -
复制到
C:\Users\yourname\Documents\Arduino\libraries\
- NimBLE-Arduino

- 对于 PlatformIO
lib_deps =
h2zero/NimBLE-Arduino@^1.4.0
编写 Arduino 程序
根据您的实际需求选择相应的版本。
- WiFi 版本代码
- BLE 版本代码
#include <SeeedHADiscovery.h>
const char* WIFI_SSID = "Your WiFi Name";
const char* WIFI_PASSWORD = "Your WiFi Password";
SeeedHADiscovery ha;
SeeedHASensor* tempSensor;
SeeedHASensor* humiditySensor;
void setup() {
Serial.begin(115200);
ha.setDeviceInfo("Living Room Sensor", "ESP32-C5", "1.0.0");
ha.enableDebug(true);
if (!ha.begin(WIFI_SSID, WIFI_PASSWORD)) {
Serial.println("WiFi connection failed!");
while (1) delay(1000);
}
tempSensor = ha.addSensor("temperature", "Temperature", "temperature", "°C");
tempSensor->setPrecision(1);
humiditySensor = ha.addSensor("humidity", "Humidity", "humidity", "%");
humiditySensor->setPrecision(0);
}
void loop() {
ha.handle();
static unsigned long lastUpdate = 0;
if (millis() - lastUpdate > 5000) {
lastUpdate = millis();
tempSensor->setValue(25.5);
humiditySensor->setValue(55);
}
}
上传代码后,打开串口监视器。WiFi 连接成功后,将打印相应的 IP 地址。

XIAO ESP-C5 支持双频 WiFi(2.4 GHz 和 5 GHz)。
如果您觉得手动网络配置太麻烦,您也可以使用我们推出的固件刷写网页:Web Firmware Flasher
#include <SeeedHADiscoveryBLE.h>
SeeedHADiscoveryBLE ble;
SeeedBLESensor* tempSensor;
SeeedBLESensor* humiditySensor;
SeeedBLESensor* batterySensor;
void setup() {
Serial.begin(115200);
ble.enableDebug(true);
if (!ble.begin("XIAO Temperature Sensor")) {
Serial.println("BLE initialization failed!");
while (1) delay(1000);
}
// Use BTHome standard sensor types
tempSensor = ble.addTemperature();
humiditySensor = ble.addHumidity();
batterySensor = ble.addBattery();
}
void loop() {
// Set sensor values
tempSensor->setValue(25.5f); // Temperature 25.5°C
humiditySensor->setValue(55.0f); // Humidity 55%
batterySensor->setValue(100.0f); // Battery 100%
// Send BLE broadcast
ble.advertise();
// Wait 10 seconds (BLE is suitable for low frequency updates)
delay(10000);
}
上传代码后,打开串口监视器,将输出 XIAO ESP32-C5 的蓝牙信息。

在 Home Assistant 中添加设备
- WiFi 设备
- BLE 设备
它将被自动发现!或手动添加:
-
转到 Settings -> Devices & Services
-
点击 Add Integration
-
搜索 Seeed HA Discovery
-
输入 ESP32 的 IP 地址

它使用 BTHome 协议,将被 Home Assistant 自动发现!
-
确保 HA 有蓝牙适配器或 ESP32 蓝牙代理
-
设备将自动出现在 Settings -> Devices & Services -> BTHome 中

效果演示

恭喜!到现在为止,您应该已经掌握了将 XIAO ESP32-C5 连接到 Home Assistant 的两种方法。我们期待看到您的精彩项目,欢迎与我们分享!
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。



