OTA(无线)编程是ESP32和ESP8266等任何支持WiFi的微控制器的一项功能,该功能使这些设备无需任何物理访问即可无线升级固件或软件。此功能可用于对固定在屋顶或难以连接电缆的任何其他位置的设备进行重新编程。使用OTA,您可以将更新发送到同一网络上的多个微控制器或设备。例如,此功能可用于发送更新以解决错误,向多个微控制器,手机,计算机,机顶盒等添加一些功能等。OTA更新在物联网中也起着重要作用。它用于使用新设置,软件和固件远程更新与Internet连接的设备。
我们之前学习了使用OTA编写ESP8266 NodeMCU的程序。在本教程中,我们将通过Arduino IDE中的OTA Web Updater在ESP32上使用空中(OTA)编程。
所需组件
- ESP32
- Arduino IDE
OTA编程如何工作?
要使用无线(OTA)编程功能,首先,您需要通过串行端口上传草图。该草图包含用于创建OTA Web Updater的HTML代码,以便以后可以使用浏览器上载代码。通过串行端口上传代码后,它将创建一个Web服务器,您可以在其中选择并通过Web浏览器上传新草图。
要上传第一个代码,请将ESP32连接到笔记本电脑并打开Arduino IDE,选择Board Type作为ESP32 Dev Kit,然后选择正确的串行端口。
然后转到 文件>示例> ArduinoOTA> OTAWebUpdater
更改原始代码中的Wi-Fi名称和密码。
const char * ssid =“您的WiFi名称”; const char * password =“密码”;
将代码上传到ESP32开发板。成功上传代码后,打开串行监视器。在串行监视器上更改115200的波特率,然后按ESP32上的Reset按钮,它应该会打印ESP32 IP地址。
现在打开默认浏览器并粘贴ESP32 IP地址。它应打开Web服务器进行无线编程,如下图所示:
默认用户名和密码为admin。
然后输入用户名和密码,然后单击登录页面,将打开一个新选项卡。您可以在此处上传代码。
在这里,我们将上传一个简单的LED闪烁代码。空中上传的每个代码都应包含一个OTA代码。因此,在原始OTA代码中添加眨眼部分。完整的代码在页面末尾给出。
无效循环(无效){server.handleClient(); delay(1); digitalWrite(led,HIGH); 延迟(600); digitalWrite(led,LOW); 延迟(600); }
使用新名称保存您的代码,然后转到S ketch>导出已编译的二进制文件 。这将在您的草图文件夹中创建一个新的 .bin 文件。
现在转到OTA网页,然后单击“ 选择文件” 按钮,然后选择 .bin 文件。之后,单击 “更新” 按钮以上传草图。
这就是使用OTA无需串行通信即可对ESP32进行编程的方式。