安装和配置 ESPHome¶
ESPHome 是为您的 ESP8266/ESP32 开发板创建自定义固件的完美解决方案。
以下是对 ESPHome 工作原理的快速介绍:ESPHome 是一种工具,旨在尽可能简化 ESP 板的管理。它读取一个 YAML 配置文件(就像 Home Assistant)然后在你的 ESP 设备上安装一个自定义固件。在 ESPHome 的配置中添加的设备或传感器将自动显示在 Home Assistant 的 UI 中。
安装
安装依赖项。
sudo pip3 install cryptography==2.8
安装ESPHome前,需要安装Python并通过pip3安装控制台脚本。
注解
安装 ESPHome 1.18.0 或更高版本需要 Python 3.7 或更高版本。
sudo pip3 install esphome
或者通过Docker镜像安装(此镜像现在可用于AND64、ARM 和 ARM64(AARCH64)架构);如果您有其他的架构,请通过 pip 安装 ESPHome 或使用 Home Assistant 插件:
docker pull esphome/esphome
打开 ESPHome 仪表板。
注解
在 ESPHome 仪表板中操作时,需要保证此命令正常运行。
esphome dashboard config/
配置 ESPHome
打开浏览器并通过 http://localhost:6052 或 http://X.X.X.X:6052 (这里的 XXXX 需要替换为您的树莓派IP 地址)进入 ESPHome Dashboard 。
创建配置
单击 "+" 开始添加配置。
输入设备连接所需的名称以及 WiFi 和密码,然后单击 NEXT。
选择设备类型(例如 ESP32)。
点击NEXT添加完之后,您将在 ESPHome 的仪表板中看到它们。
注解
当不是第一次添加设备时,在主页面点击“+”,按照提示输入设备名称、WIFI和密码,选择设备类型。
编辑
.yaml
文件.
单击右下角的 EDIT 进入 .yaml
文件内部,您将看到以下默认组件。
esphome
: 包含您设置的名称、平台和板类型。logger: logger 组件通过串口和 MQTT 主题自动记录所有日志消息。
api: ESPHome 原生 API 用于通过高度优化的网络协议直接与客户端通信。目前,只有 ESPHome 工具和 Home Assistant 使用这个原生 API。
ota: 使用 OTA (Over The Air) 更新组件,您可以将固件二进制文件上传到您的节点,而无需使用 USB 电缆进行上传。
wifi: 这个 ESPHome 组件可以帮您设置 WiFi 连接。必须要配置好,否则 ESPHome 将在配置验证阶段遇到错误。
captive_portal: 这个组件是连接到 WiFi 失败时的回退机制。当尝试连接 WiFi 失败 1 分钟之后,ESP 将启动 WiFi 热点(根据配置启动)。
现在开始添加其他组件。 在 ESPHome 官方网站 中还有很多其它的组件, 包括 传感器组件, 输出组件, 光组件 等, 下面我们以 光组件 为例开始添加。
将以下代码添加到 .yaml
文件末尾。
# Example configuration entry
light:
- platform: binary
name: "Desk Lamp"
output: light_output
output:
- id: light_output
platform: gpio
pin: GPIO16
将
.yaml
文件安装到 ESP32 板上。
编辑完成后点击右下角的 INSTALL 进行编译安装。有两种方法供您选择:无线和 USB 端口。但是对于第一次安装,您需要使用 USB 将 ESP32 板连接到树莓派,然后选择第二种安装方法。之后的每一次安装便可以直接通过无线方式安装和编译了。
第一次编译下载依赖大约需要10分钟,请耐心等待。
安装成功后,如果在 ESP32 板的 GPIO16 上连接一个 LED,您将看到 LED 亮起。记好此IP,将ESPHome添加到Home Assistant时需要填写此IP。
注解
如果点击 INSTALL 没有反应,请清除浏览器缓存,重新安装。
sudo rm -rf ~/.cache/chromium
ESPHome 配置完成后,便可以将其添加到Home Assistant了。