Skip to main content

将 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-C5Seeed Studio Grove Base for XIAOGrove - Red LED

安装固件

如果您尚未设置 Home Assistant,可以点击此链接并按照官方 Home Assistant 教程完成设置。Home Assistant Installation

步骤 1. 安装 ESPhome

如果您已经安装了 ESPHome,可以跳过此步骤。

  • 转到 Settings -> Add-ons
  • ADD-ON STORE -> Search ESPHome
  • 启动 ESPhome
tip

确保您安装的 ESPHome 版本大于或等于 25.11.5;否则,它可能不支持 XIAO ESP32-C5。

步骤 2. 添加新设备

转到 ESPHome,并点击右下角的 Add New Device 按钮。


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



步骤 3. 安装固件

参考 YAML 文件配置
tip

您需要修改参数以匹配您设备的参数,例如 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 将代码安装到设备上,您将看到以下图像。

tip

如果您的 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 并选择您刚刚下载的固件。

步骤 4. 添加设备

  • 导航到 SettingsDevices & 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-C5Seeed Studio Grove Base for XIAOGrove - Temperature & Humidity Sensor (DHT11)

安装 HACS 集成

在添加 Seeed Home Assistant Discovery 集成之前,您需要先安装 HACS

安装步骤:

  1. Settings -> Devices & services -> Add integration -> 搜索 HACS
  1. 选择所有选项 -> Submit
  1. 点击超链接并复制其中的激活码。

  2. 输入前面提到的激活码

  3. 返回 HomeAssistant -> Developer tools -> Reboot system

  1. 左侧导航栏显示 HACS

安装集成

  • 通过 HACS 一键安装(推荐)
  1. 打开 HACS -> Integrations:

  2. 点击右上角的 图标 -> Custom repositories

  3. 输入 https://github.com/limengdu/Seeed-Homeassistant-Discovery,选择类别 Integration

  4. 点击 Add,然后搜索 Seeed HA Discovery 并安装

  5. 重启 Home Assistant

安装 Arduino 库

安装 WiFi 依赖库

  • 对于 Arduino IDE
  1. 下载 arduino/SeeedHADiscovery 文件夹

  1. 复制到 C:\Users\yourname\Documents\Arduino\libraries\

  2. ArduinoJson (by Benoit Blanchon)

  1. WebSockets (by Markus Sattler)
  • 对于 PlatformIO
lib_deps =
bblanchon/ArduinoJson@^7.0.0
links2004/WebSockets@^2.4.0

安装 BLE 依赖库

  • 对于 Arduino IDE
  1. 下载 arduino/SeeedHADiscoveryBLE 文件夹

  2. 复制到 C:\Users\yourname\Documents\Arduino\libraries\


  1. NimBLE-Arduino
  • 对于 PlatformIO
lib_deps =
h2zero/NimBLE-Arduino@^1.4.0

编写 Arduino 程序

根据您的实际需求选择相应的版本。

#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 地址。

tip

XIAO ESP-C5 支持双频 WiFi(2.4 GHz 和 5 GHz)。
如果您觉得手动网络配置太麻烦,您也可以使用我们推出的固件刷写网页:Web Firmware Flasher

在 Home Assistant 中添加设备

它将被自动发现!或手动添加:

  1. 转到 Settings -> Devices & Services

  2. 点击 Add Integration

  3. 搜索 Seeed HA Discovery

  4. 输入 ESP32 的 IP 地址

效果演示


恭喜!到现在为止,您应该已经掌握了将 XIAO ESP32-C5 连接到 Home Assistant 的两种方法。我们期待看到您的精彩项目,欢迎与我们分享!

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...