nRF52 固件更新
nRF52 平台支持通过空中升级 (OTA) 机制进行固件更新。OTA 更新 唯一支持的引导加载程序 是 MCUboot。
要将固件刷写到设备上,您可以使用 Zephyr MCUmgr 文档 中列出的任何工具或库。 也可以通过 ESPHome 命令行界面进行固件更新。 对于 BLE 刷写,MCUmgr Web 工具 提供了方便的基于浏览器的界面。
除了 OTA 更新外,ESPHome 还支持”安全模式”以在更新未按预期工作时帮助恢复。此组件会自动启用该功能,但如果需要也可以禁用。详情请参见 安全模式。
# 示例配置条目ota: - platform: zephyr_mcumgr- transport (可选, mapping): 指定 Zephyr MCUmgr 用于 OTA 更新的传输方法。默认情况下启用蓝牙低功耗(
ble: true)。
transport
Section titled “transport”Zephyr MCUmgr 可以在多种传输协议上运行,这些协议通过配置选项来选择。
# 示例配置条目ota: - platform: zephyr_mcumgr transport: ble: true hardware_uart: CDC- ble (可选, boolean): 为 MCUmgr OTA 启用蓝牙低功耗传输。默认
false。 - hardware_uart (可选, enum): 选择用于 MCUmgr OTA 通信的硬件 UART 接口。在通过串行接口而非 BLE 更新设备时使用。可选值:
CDC、CDC1、UART0、UART1。
要通过 BLE 连接并更新设备:
esphome upload nrf52_device.yaml --device BLE或连接到特定的 BLE 地址:
esphome upload nrf52_device.yaml --device 00:11:22:33:44:55要通过串行连接并更新设备:
esphome upload nrf52_device.yaml或连接到特定的串行设备:
esphome upload nrf52_device.yaml --device /dev/ttyACM0