如何使用Arduino IDE对ESP32进行无线编程

如何使用Arduino IDE对ESP32进行无线编程,第1张

  OTA(空中下载)编程是任何支持 WiFi 的微控制器(如 ESP32 和 ESP8266)的一项功能,它允许这些设备在无需任何物理访问的情况下无线升级其固件或软件。此功能可用于对固定在屋顶或任何其他难以连接电缆的地方的设备进行重新编程。使用 OTA,您可以将更新发送到同一网络上的多个微控制器或设备。例如,此功能可用于向多个微控制器、手机、计算机、机顶盒等发送解决错误的更新、添加一些功能等。OTA 更新在物联网中也发挥着重要作用。它用于使用新设置、软件和固件远程更新联网设备。在本教程中,我们将使用Arduino IDE 中的 OTA Web Updater对 ESP32 进行无线 (OTA) 编程。

  所需组件

  ESP32

  Arduino IDE

如何使用Arduino IDE对ESP32进行无线编程,poYBAGL0spmAU90WAARudAMm4Yg724.png,第2张

  OTA 编程如何工作?

  要使用无线 (OTA) 编程功能,首先,您需要通过串行端口上传一个草图。此草图包含用于创建 OTA Web 更新程序的 HTML 代码,以便您稍后可以使用浏览器上传代码。当代码通过串口上传时,它会创建一个网络服务器,您可以在其中通过网络浏览器选择和上传新草图。

  要上传第一个代码,请将 ESP32 连接到笔记本电脑并打开 Arduino IDE,将 Board Type 选择为 ESP32 Dev Kit,然后选择正确的串口。

  然后转到文件》示例》ArduinoOTA》 OTAWebUpdater

如何使用Arduino IDE对ESP32进行无线编程,pYYBAGL0spaAAI4oAAE6lKxgUgQ390.png,第3张

  更改原始代码中的 Wi-Fi 名称和密码。

  const char* ssid = “你的 WiFi 名称”;

  const char* 密码 = “密码”;

  将代码上传到您的 ESP32 开发板。成功上传代码后,打开串口监视器。更改串行监视器上的波特率 115200,然后按 ESP32 上的重置按钮,它应该打印 ESP32 IP 地址。

如何使用Arduino IDE对ESP32进行无线编程,pYYBAGL0suqAFkSKAADT8XhBJHI943.png,第4张

  现在打开默认浏览器并粘贴 ESP32 IP 地址。它应该打开用于无线编程的 Web 服务器,如下图所示:

  默认用户名和密码是admin。

如何使用Arduino IDE对ESP32进行无线编程,pYYBAGL0spCAB7UMAABq0sZJNds388.png,第5张

  然后输入用户名和密码并单击登录页面,将打开一个新选项卡。这是您可以上传代码的地方。

如何使用Arduino IDE对ESP32进行无线编程,pYYBAGL0soyAYR7aAABQKsHw2Xw216.png,第6张

  在这里,我们将上传一个简单的 LED 闪烁代码。您通过无线方式上传的每个代码都应该有一个 OTA 代码。所以在原始OTA代码中加入blink部分。完整的代码在页面末尾给出。

  无效循环(无效){

  server.handleClient();

  延迟(1);

  数字写入(领导,高);

  延迟(600);

  数字写入(领导,低);

  延迟(600);

  }

  用新名称保存您的代码,然后转到S ketch 》 Export compiled Binary。这将在您的草图文件夹中创建一个新的.bin文件。

如何使用Arduino IDE对ESP32进行无线编程,pYYBAGL0soiAJELMAABMwC0ZAtw840.png,第7张

  现在转到 OTA 网页,然后单击“选择文件”按钮并选择.bin文件。在此之后,单击“更新”按钮上传草图。

 

#include
#include
#include
#include
#include <更新.h>
const char* host = "esp32";
const char* ssid = "银河-M20";
const char* 密码 = "ac312129";
//无延迟闪烁的变量:
常量 int led = 2;
WebServer服务器(80);

/*
* 登录页面
*/
const char* loginIndex =

“<脚本>”
“功能检查(表格)”
“{”
“如果(form.userid.value=='admin' && form.pwd.value=='admin')”
“{”
“window.open('/serverIndex')”
“}”
“别的”
“{”
" alert('Error Password or Username')/*显示错误信息*/"
“}”
“}”
"";
/*
* 服务器索引页
*/
const char* serverIndex =
""
进度:0%

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/3001044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存