将 XIAO ESP32C3 应用 Home Assistant 实现屋内环境监测
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/43.png)
本wiki将逐步介绍如何连接Seeed Studio XIAO ESP32C3与运行在Home Assistant上的ESPHome,并在连接Grove模块到XIAO ESP32C3后发送传感器数据/控制设备。我在这里应用了各种端口 包括数字、模拟、IIC、 SPI和UART. 现在让我们开始吧!
什么是ESPHome和家庭助理?
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/2.png)
ESPHome 是一个工具,旨在使您的ESP板的管理尽可能简单。它读取一个YAML配置文件并创建自定义固件,并安装在你的ESP设备上。在ESPHome配置中添加的设备或传感器将自动显示在Home Assistant的UI中。ESPHome可以帮助您连接并发送数据到家庭助理设备。
硬件准备
我使用XIAO ESP32C3作为控制板,这里使用reRouter作为硬件,以及多个Grove传感器。
Seeed Studio XIAO ESP32C3 | Seeed Studio 扩展板 | 家庭助理设备 |
---|---|---|
![]() | ![]() | ![]() |
Grove 传感器
软件准备
安装家庭助理
确保你已经有家庭助理启动和运行。这里有多个wiki介绍如何将家庭助理flash到产品中。我使用的是由树莓派CM4驱动的reRouter,所以我可以直接使用官方版本将操作系统flash到reRouter。
在家庭助理上安装ESPHome
ESPHome是一个家庭助理附加组件 可以简单地通过附加组件商店安装。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/1.png)
- 步骤 1. 单击 INSTALL
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/2.png)
- 步骤 2. 启用所有选项,然后单击 开始
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/3.png)
如果 ESPHome 加载成功,您将看到以下窗口
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/4.png)
开始
一旦所有的软件和硬件都准备好了,我们就可以开始了。
1. 添加Seeed Studio XIAO ESP32C3到ESPHome
- 步骤 1. 点击 + NEW DEVICE
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/5.png)
- 步骤 2. 点击 CONTINUE
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/6.png)
- 步骤 3. 输入设备的 名称 并输入WiFi凭证 如 网络名称 and 密码。然后单击 NEXT
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/7.png)
- 步骤 4. 选中 ESP32-C3 并且点击
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/8.png)
- 步骤 5. 点击SKIP 因为我们将手动配置这块开发板
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/14.png)
- 步骤 6. 点击 EDIT 在新成立的开发板下
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/9.png)
- 步骤 7. 这将打开一个 YAML 文件该文件将用于设置所有的板配置。编辑esp32下的内容,如下所示
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0
# Enable logging
logger:
hardware_uart: UART0
# Enable Home Assistant API
api:
ota:
wifi:
ssid: "WiFi_SSID"
password: "Your Password"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "Your Password"
- 步骤 8. 点击 SAVE 然后点击 INSTALL
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/10-2.png)
- 步骤 9. 将USB Type-C电缆的一端连接到Seeed Studio XIAO ESP32C3,另一端连接到reRouter CM4 1432上的一个USB端口
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/17.png)
- 步骤 10. 点击插入运行ESPHome Dashboard的计算机
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/12-1.png)
- 步骤 11. 选择连接的端口。它很可能是
/dev/ttyACM1 because /dev/ttyACM0
连接到reRouter CM4 1432
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/13-1.png)
最好使用 2.4GHz Wi-Fi
现在它将下载所有必要的板包并将ESPHome固件flash到XIAO ESP32C3中。如果闪烁成功,您将看到以下输出。如果您看到一些错误,请尝试重新启动您的XIAO ESP32C3。或通过按住BOOT BUTTON进入引导加载程序模式并连接XIAO ESP32C3。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/20.png)
- 步骤 12. 以上窗口显示的是所连接单板的实时日志。点击 STOP关闭它
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/14.png)
- 步骤 13. 如果单板状态显示为 ONLINE ,则表示单板WiFi连接成功
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/15.png)
- 步骤 14. 转到Settings并选择Devices & Services
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/19.png)
- 步骤 15. 您将看到 ESPHome 作为已发现的集成。单击 CONFIGURE
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/20.png)
- 步骤 16. 点击 SUBMIT
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/21.png)
- 步骤 17. 输入您的密码。这是您可以在 STEP 8 中找到的 api 密码
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/22.png)
- 步骤 18. 点击 FINISH
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/23.png)
2. 连接Grove模块并发送数据
现在我们将Grove模块连接到Seeed Studio XIAO ESP32C3,这样我们就可以显示传感器数据或使用家庭助理控制设备!
开发知识
XIAO 扩展板
为了将Grove模块与Seeed Studio XIAO ESP32C3一起使用,我们将使用Seeed Studio扩展基地用于XIAO并将XIAO ESP32C3连接在其上。
之后,可以使用板上的Grove连接器连接Grove模块。这里是引脚定义。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-full_function/29.png)
引脚定义
在将Grove模块连接到Seeed Studio XIAO的Grove Shield上的Grove连接器时,您需要按照下表使用适当的内部引脚编号。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/pin_map.png)
例如,如果要将Grove模块连接到D0端口,则需要将ESPHome上的引脚定义为2
Grove兼容性列表与ESPHome
目前ESPHome支持以下Grove模块
点击这里查看
3. Grove 连接与数据传输
现在,我们将选择几个 Grove 模块,并解释如何将它们与 ESPHome 和 Home Assistant 连接。
Grove - 温湿度传感器 (DHT20)
此温湿度传感器提供经过预校准的数字输出。一个独特的电容传感器元件用于测量相对湿度,温度通过负温度系数 (NTC) 热敏电阻测量。它具有出色的可靠性和长期稳定性。 点击这里 购买。
设置配置
- 步骤 1: 将 Grove - DHT20 连接到 Seeed Studio XIAO 扩展底板的其中一个 I2C 连接器。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/pic1.png)
- 步骤2: 在之前创建的 xiao-esp32c3.yaml 文件中进行修改,并通过 OTA 将其推送到 XIAO ESP32C3。
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0
# Enable logging
logger:
hardware_uart: UART0
api:
password: "F4MQG/rBhNmqP8Nud+AJ+5CYu7LuIhIFTOcRwOm5Nw4="
ota:
password: "999afa1f8a07e85959a9f89f8f6aebb2"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "YtpCwOqLoYlp"
captive_portal:
# 0x28 is the I2C address of DHT20
i2c:
sda: GPIO6
scl: GPIO7
scan: True
id: bus_0x38
sensor:
- platform: aht10
temperature:
name: "Living Room Temperature"
humidity:
name: "Living Room Humidity"
update_interval: 60s
你可以在这里了解更多关于 DHT20 组件的信息。在此,我们添加了 I²C 总线组件,因为 DHT20 使用 I2C 协议进行通信。
在仪表盘上可视化
- 步骤 1: 在 Home Assistant 的概览页面,点击右上角的三个点,选择Edit Dashboard。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/35.png)
- 步骤 2: 点击 + ADD CARD
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/36.png)
- 步骤 3: 选择 By ENTITY, 输入 temperature 然后勾选 Temperature旁边的 check box 。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/37.png)
步骤 4: 点击 ADD TO DASHBOARD
Step 5. 你还可以将传感器数据可视化为仪表。 点击 BY CARD 下面的 Gauge 。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/37-1.png)
现在你的 Home Assistant 仪表盘将如下所示:
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/39.png)
Grove - 光传感器 (LS06-S)
Grove - 光传感器 v1.2 是一个模拟模块,可以输出各种电信号,并可以转换为不同的范围。它集成了一个 LS06-S 光敏电阻,一个高灵敏度且可靠的光二极管,用于检测环境光强度。它是一个完美的 Arduino 光传感器模块,适用于光照测量、光照检测和光控开关。
点击这里购买 for the purchase.
设置配置
- 步骤 1: 将 Grove - 光传感器连接到 Seeed Studio XIAO 扩展底板的其中一个模拟/数字连接器。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/pic2.png)
- 步骤 2: 在之前创建的 xiao-esp32c3.yaml 文件中进行修改,并通过 OTA 将其推送到 XIAO ESP32C3。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/41-1.png)
如果一切顺利,你将看到以下结果。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/42.png)
在仪表盘上可视化
- 步骤 1: 在 Home Assistant 的概览页面,点击右上角的三个点,选择 Edit Dashboard
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/35.png)
- 步骤 2: 点击 + ADD CARD
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/36.png)
- 步骤 3: 选择 By ENTITY, 选择 Light Sensor
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/43.png)
- 步骤 4: 选择 PICK DIFFERENT CARD
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/44.png)
- 步骤 5: 选择 Gauge
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/45.png)
- 步骤 6: 设置最小值和最大值。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/46.png)
- 步骤 7: 然后,你将看到光传感器的值出现在你的仪表盘上。
![](https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/C3-ESPHome-img/47.png)
✨ 贡献者项目
- 该项目由 Seeed Studio 贡献者项目支持。
- 感谢 Zachary的努力 。你的工作将被 展示出来。
技术支持与产品讨论
感谢选择我们的产品!我们在这里为你提供不同的支持,确保你的产品体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。