ESP32 托管协处理器更新
此平台允许您更新通过 ESP32 托管 组件连接的 ESP32 协处理器的固件。支持两种更新模式:
- 嵌入式模式:固件二进制文件在编译时嵌入到设备闪存中
- HTTP 模式:固件在运行时从远程 URL 获取
该组件自动检测当前协处理器固件版本,并与可用版本进行比较。如果版本不同,Home Assistant 或通过 ESPHome API 将显示可用更新。
在嵌入式模式中,固件二进制文件被编译到设备闪存中。当您想将特定固件版本与设备捆绑时很有用。
# 嵌入式模式的示例配置条目update: - platform: esp32_hosted type: embedded path: coprocessor-firmware.bin sha256: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefHTTP 模式
Section titled “HTTP 模式”在 HTTP 模式中,固件从远程清单 URL 获取。这允许自动更新而无需重新编译 ESPHome 配置。该组件将定期检查更新,并根据主机库版本选择最佳兼容版本。
# HTTP 模式的示例配置条目http_request:
update: - platform: esp32_hosted type: http source: https://esphome.github.io/esp-hosted-firmware/manifest/esp32c6.json update_interval: 6hHTTP 模式需要具有以下格式的 JSON 清单文件:
{ "versions": [ { "version": "2.7.0", "url": "https://example.com/firmware/esp32c6-2.7.0.bin", "sha256": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" }, { "version": "2.6.0", "url": "https://example.com/firmware/esp32c6-2.6.0.bin", "sha256": "fedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321" } ]}组件将自动选择与主机库兼容的最高版本(即固件版本必须小于或等于编译到 ESPHome 中的 ESP-Hosted 库版本)。
- type (必填, string):要使用的更新模式。必须是
embedded或http。
嵌入式模式选项
Section titled “嵌入式模式选项”-
path (必填, string):协处理器固件二进制文件(
.bin)的路径。路径相对于您的 ESPHome 配置文件。 -
sha256 (必填, string):固件二进制文件的 SHA256 哈希值。这用于在编译时和刷写到协处理器之前的运行时验证固件的完整性。
HTTP 模式选项
Section titled “HTTP 模式选项”-
source (必填, url):包含可用固件版本的 JSON 清单文件的 URL。
-
update_interval (可选, 时间):检查更新的频率。默认为
6h。
- 更新的所有其他选项。
此更新平台需要:
- 主机设备(运行 ESPHome):
ESP32-H2或ESP32-P4 - 协处理器(被更新):ESP-Hosted 支持的任何 ESP32 变体(例如示例中所示的
ESP32-C6)
对于嵌入式模式,主机设备必须有足够的闪存空间来存储协处理器固件二进制文件。
协处理器固件
Section titled “协处理器固件”支持的协处理器变体的预构建固件二进制文件和清单可在 esphome.github.io/esp-hosted-firmware 获取。这些可直接用于 HTTP 模式,或下载用于嵌入式模式。
有关构建自定义固件的说明,请参阅 esp-hosted-firmware 仓库。