我们在平常开发过程中都是使用ESP8266直接连接电脑烧录程序,但实际应用到某一场景后再想对程序进行修改或添加新特性就会比较麻烦(指将开发板从场景拔下来插到电脑上烧录新程序再插回去)。本篇文章将介绍如何使用OTA技术去除移动开发板这一过程,直接将新程序更新至目标开发板。
OTA介绍
空中下载技术(Over-the-Air Technology,OTA)是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。
正篇
本次OTA技术使用到的开源项目如下:
下载项目压缩包到本地磁盘,并解压至Arduino项目存放文件夹/libraries
(如不清楚自己的项目存放文件夹可以打开Arduino,点击左上角文件 - 首选项
即可查看。)
将以下代码根据注释指引分别加入当前项目的对应区域:
// 头文件
#include <ElegantOTA.h>
// 由于此项目需要ESP8266WebServer,故如原项目没有ESP8266WebServer需要添加
#include <ESP8266WebServer.h>
ElegantOTA.begin(&server); // 将本行代码加在项目中的server.begin();之前
// 也可以根据需要替换为
ElegantOTA.begin(&server, "username", "password"); // 为OTA页面添加用户名&密码验证
部分代码可能需要进行微调才能正常运行。可根据需要在插入的代码之前添加注释以做标记。
使用方法&效果
首次
添加OTA代码并修改好后烧录进开发板。
后续开发
打开Arduino,点击项目 - 导出已编译的二进制文件
,将代码保存成*.bin
文件(默认在项目文件夹中)
打开浏览器,输入http://开发板IP地址/update
进入固件更新页面
点击选择文件,选择刚刚生成的*.bin
文件,点击确定后,系统将自动上传固件并升级
升级完成后,开发板将自动重启并完成初始化,非常方便。
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
Eric · 梦曦
本文地址: 为ESP8266添加OTA功能
本文地址: 为ESP8266添加OTA功能