YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12350|回复: 7
打印 上一主题 下一主题

ESP8266 core for Arduino应用:OTA Updates ESP8266 (OTA)测试与使用

[复制链接]

签到天数: 866 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2017-5-26 16:55:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 AllBlue 于 2018-6-29 14:55 编辑

OTA 介绍网址:https://arduino-esp8266.readthed ... updates/readme.html
YFWIKI中文翻译:http://www.yfrobot.com/wiki/index.php?title=OTA_Updates

OTA(Over the Air)更新是使用Wi-Fi连接而不是串行端口将固件加载到ESP模块的过程。详细介绍及操作步骤请看上面的链接,本帖只做简单测试:


一、Arduino IDE OTA Update
从Arduino IDE无线上传模块适用于以下典型场景:
  - 在固件开发过程中,通过串行加载更快的替代方案
  - 用于更新少量模块
  - 只有模块在与Arduino IDE的计算机相同的网络上可用。

要求:ESP和计算机必须连接到同一个网络。
步骤:
1、首先我们需要做一下准备:
* 安装及配置Arduino IDE :  http://www.yfrobot.com/thread-11797-1-1.html
* 安装Python :  python 官网下载地址 (注意请安装 python 2.xx版本,3.xx版本不支持) |  链接:百度下载地址 密码:JoUY提示:Python安装时,Windows用户应选择“将python.exe添加到路径”(见下文 - 默认情况下未选择此选项)。
2、打开BasicOTA例程(File> Examples> ArduinoOTA路径下),记得要先选择正确的版型(ESP8266 Module)
3、程序打开后,修改程序中的SSID及密码(当前路由器的账号密码)
4、编译程序并下载到ESP8266模块上,成功上传后,打开串口监视器,串口打印IP地址,说明成功连接到wifi
5、过几秒钟,打开Tools > port , 可以看到 OTA port;如果没出现OTA端口,请重启IDE;如果依然没有,请检查你的防火墙设置。

6、选择正确的OTA端口,点击Upload下载程序,成功下载如下图。(如果以上步骤都成功完成,你就可以通过OTA上传程序了)

扩展阅读:密码保护故障排除

二、Web Browser OTA Update
本章中描述的更新使用可在以下典型场景中使用的Web浏览器:
  - 应用程序部署后,直接从Arduino IDE加载是不方便或不可能的
  - 部署后,如果用户无法从外部更新服务器公开OTA的模块
  - 在设置更新服务器不可行时,将部署后的更新提供给少量模块

要求:ESP和计算机必须连接到同一个网络。 (测试硬件:NodeMCU 1.0 电脑系统:win7)
步骤(详细步骤及注意可点击这里):
1、首先确保你已安装了一下软件:
* 安装及配置Arduino IDE :  http://www.yfrobot.com/thread-11797-1-1.html
* 根据您使用的系统选择安装软件:  
        a. Avahi [url=http://avahi.org/]http://avahi.org/[/url] for Linux
        b. Bonjour http://www.apple.com/support/bonjour/ for Windows  
        c. Mac OSX和iOS - 支持已经内置,不需要任何额外的s / w
2、使用串口进行初始程序下载及IDE配置
* 启动IDE,并打开WebUpdater.ino,可在 File >Examples > ESP8266HTTPUpdateServer 中找到
* 更改程序中的SSID和密码为你当前使用的路由器账号密码
* 打开文件/File > 首选项/Preferences,查找“显示详细输出期间:/ Show verbose output during:”,并查看“编译/complation”选项。

3、上传草图。完成后打开串行监视器并检查是否看到显示以下消息,其中包含OTA更新的URL 。

4、打开Web浏览器并输入上面的URL,即 http://esp8266-webupdate.local/update  。一旦输入,浏览器应该显示下面由您的模块提供的表单。表单邀请您选择要更新的文件。(如果有问题,请点击这里
5、您可以在IDE调试窗口中显示的编译日志中检查此文件的路径(步骤2中的第三步设置才会有这个),如下所示。

6、在浏览器中按“选择文件”,进入上述步骤5中找到的目录,找到文件“WebUpdater.cpp.bin”并上传。如果上传成功,您将在下面的Web浏览器中看到“OK”。完整过程如下图:



三、HTTP Server OTA Update
ESPhttpUpdate 类可以检查更新并从HTTP Web服务器下载二进制文件。可以从网络或Internet上的每个IP或域名地址下载更新。

要求:网络服务器
# 简单的更新
简单的更新程序每次调用函数时都会从服务器下载该文件然后更新到ESP8266。
步骤:
1、首先打开一个Blink.ino程序,可在File > Example > ESP8266路径下找到(测试硬件为NodeMCU 1.0,所以程序中的LED_BUILTIN 为GPIO16 / D0),编译Blink程序,可在信息栏找到bin文件地址(需要操作->Web Browser OTA Update步骤中的第2步第3条),如下图:

2、找到Blink二进制文件后,将其上传到你的服务器;我这里上传到的地址:http://wiki.yfrobot.com/file/esp8266/otaupdate/Blink.bin
3、打开httpUpdate.ino程序,可在File >Examples > ESP8266HTTPUpdate中找到;
4、更改程序中的SSID 及密码,还有二进制文件地址;
5、使用USB将更改好的程序下载到ESP8266中,然后打开串口监视器,当如下界面时,ESP8266应该重新启动,并执行Blink.ino程序了;




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

签到天数: 21 天

[LV.4]偶尔看看III

板凳
发表于 2018-4-14 23:47:59 | 只看该作者
用第三种HTTP Server OTA Update更新了复位就没程序了?怎么回事
回复 支持 反对

使用道具 举报

签到天数: 866 天

[LV.10]以坛为家III

地板
 楼主| 发表于 2018-4-17 14:24:08 | 只看该作者
後輪追前輪 发表于 2018-4-14 23:47
用第三种HTTP Server OTA Update更新了复位就没程序了?怎么回事

再仔细检查步骤
回复 支持 反对

使用道具 举报

签到天数: 21 天

[LV.4]偶尔看看III

5#
发表于 2018-4-18 00:23:10 | 只看该作者
AllBlue 发表于 2018-4-17 14:24
再仔细检查步骤

我直接用例程,就改了路由账号密码还有网址是本文提到的,其他没动 还是说例程只是下载到闪存了?可复位后就全格式化了什么程序都没了
回复 支持 反对

使用道具 举报

签到天数: 22 天

[LV.4]偶尔看看III

6#
发表于 2019-5-7 16:29:17 | 只看该作者
不错,很值得学习一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-5-3 12:13 , Processed in 0.048046 second(s), 24 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表