ESP32 Hosted 协处理器更新
此平台允许您更新通过 ESP32 Hosted 组件连接的 ESP32 协处理器的固件。支持两种更新模式:
- 嵌入式模式: 固件二进制文件在编译时嵌入到设备的闪存中
- HTTP 模式: 固件在运行时从远程 URL 获取
该组件会自动检测当前协处理器的固件版本,并将其与 可用版本进行比较。如果版本不同,则更新将在 Home Assistant 或通过 ESPHome API 变为可用。
在嵌入式模式下,固件二进制文件编译到设备的闪存中。当您希望 将特定固件版本与设备捆绑时,这非常有用。
# Example configuration entry for embedded modeupdate: - platform: esp32_hosted type: embedded path: coprocessor-firmware.bin sha256: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefHTTP 模式
Section titled “HTTP 模式”在 HTTP 模式下,固件从远程清单 URL 获取。这允许自动更新 而无需重新编译 ESPHome 配置。该组件将定期检查更新 并基于主机库版本选择最兼容的版本。
# Example configuration entry for HTTP modehttp_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 (可选, Time): 检查更新的频率。 默认为
6h。
- 还包括 Update 的所有其他选项。
此更新平台需要:
- 主机设备(运行 ESPHome):
ESP32-H2或ESP32-P4 - 协处理器(被更新):ESP-Hosted 支持的任何 ESP32 变体(例如,示例中的
ESP32-C6)
对于嵌入式模式,主机设备必须有足够的闪存空间来存储协处理器固件二进制文件。
协处理器固件
Section titled “协处理器固件”支持的协处理器变体的预构建固件二进制文件和清单可在 esphome.github.io/esp-hosted-firmware 获取。 这些可直接与 HTTP 模式一起使用,或下载后与嵌入式模式一起使用。
有关构建自定义固件的说明,请参阅 esp-hosted-firmware 仓库。