ArduinoOTA 流程详解
ArduinoOTA 库允许 ESP8266 和 ESP32 设备通过 WiFi 接收新的固件并进行更新。这是一个非常有用的功能,特别是在设备安装在难以接触的位置时。以下是两个示例中的 OTA 更新流程的详细介绍:
1. BasicOTA 示例流程
在 BasicOTA.ino
示例中,OTA 更新的流程如下:
-
初始化 WiFi 连接:
- 设备以 STA 模式启动,并尝试连接到预定义的 WiFi 网络。
- 如果连接失败,设备将重启尝试重新连接。
-
设置 ArduinoOTA 参数:
- 可以设置端口、主机名和密码。这些参数默认分别为 8266、基于设备 ChipID 的主机名和无密码。
-
注册回调函数:
onStart
:当 OTA 更新开始时调用,可以用来确定更新的类型(固件或文件系统)。onEnd
:当 OTA 更新完成时调用。onProgress
:显示更新进度。onError
:处理可能发生的各种错误。
-
启动 OTA 服务:
- 调用
ArduinoOTA.begin()
启动 OTA 监听服务。
- 调用
-
循环处理 OTA 事件: