最新消息:

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

Arduino 少儿编程 4744浏览 0评论

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

在本教程中,将会说明如何使用Arduino IDE中的OTA Web Updater,使用ESP32进行over-the-air(OTA)编程。OTA Web Updater允许你使用浏览器更新/上传新代码到ESP32,而无需在ESP32与计算机之间建立串行连接。

前期准备

你需要安装最新版本的arduino IDE,并且已经安装了ESP32开发板。

上传实例代码

正确安装了 ESP32 开发板之后,会自带很多ESP32开发示例,其中便包含OTA相关示例代码,打开实例代码:

文件>实例>arduinoOTA>OTAWebUpdater

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

需要更新的内容,包括连接本地WiFi的账号与密码:

const char* ssid = “your-ssid”;

const char* password = “your-pwd”;

代码当中用到了jQuery,但是用的是谷歌的CDN,由于国内访问不了,所以需要将其更改成可以访问的CDN:

“<script src=’https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js’></script>”

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

第一次上传程序的时候,需要通过串口上传,上传完成之后,打开串口监视器,找到ESP32的IP地址。

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

上传完成示例程序之后,就可以通过网络无线更新程序了,可以将ESP32断开电脑,使用单独的电源供电测试。

打开浏览器(电脑与ESP32板子连接在同一个WiFi网络中)输入上面的IP地址,得到的页面如下图:

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

其中用户名与密码填入admin,用户名和密码可以在代码中自行更改。点击登录之后会调到另外一个页面,如下图:

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

在这个页面中便可以上传需要更新的程序了,不过这里需要上传编译好的.bin文件,而且新的程序中需要包含OTA代码,这样才能每次需要更新程序时使用OTA无线上传。所以可以直接在示例代码 OTAWebUpdater上进行更改。作为示例,这里上传一个不包含delay函数的闪烁LED程序(LED连接在GPIO 5)。

全局新增的代码如下:

#define LED 5

unsigned long t1=millis();

unsigned long t2=t1;

int state=0;

setup函数中新增部分:

 pinMode(LED,OUTPUT);

loop函数中新增代码:

  t1=millis();

digitalWrite(LED,state);

if(t1-t2>500)

{

state=1-state;

t2=t1;

}

完整代码请参考下面的腾讯文档连接:

https://docs.qq.com/doc/DS3NWVlllcFpqR0pQ

使用arduino IDE生成 bin文件:

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

然后通过浏览器选择这个bin文件上传:

ESP32 OTA远程无线上传更新程序(WEB UPDATE)

上传完成之后,程序便更新完成(可能需要按重置按钮),如果需要更新成其他的程序,继续更改OTAWebUpdate示例程序,再生成bin文件,再通过浏览器上传就可以了。

您必须 登录 才能发表评论!