跳转到内容

nRF52 固件更新

nRF52 平台支持通过空中升级 (OTA) 机制进行固件更新。OTA 更新 唯一支持的引导加载程序 是 MCUboot。

要将固件刷写到设备上,您可以使用 Zephyr MCUmgr 文档 中列出的任何工具或库。 也可以通过 ESPHome 命令行界面进行固件更新。 对于 BLE 刷写,MCUmgr Web 工具 提供了方便的基于浏览器的界面。

除了 OTA 更新外,ESPHome 还支持”安全模式”以在更新未按预期工作时帮助恢复。此组件会自动启用该功能,但如果需要也可以禁用。详情请参见 安全模式。

# 示例配置条目
ota:
- platform: zephyr_mcumgr
  • transport (可选, mapping): 指定 Zephyr MCUmgr 用于 OTA 更新的传输方法。默认情况下启用蓝牙低功耗(ble: true)。

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 连接并更新设备:

Terminal window
esphome upload nrf52_device.yaml --device BLE

或连接到特定的 BLE 地址:

Terminal window
esphome upload nrf52_device.yaml --device 00:11:22:33:44:55

要通过串行连接并更新设备:

Terminal window
esphome upload nrf52_device.yaml

或连接到特定的串行设备:

Terminal window
esphome upload nrf52_device.yaml --device /dev/ttyACM0