ESP8266如何使用自己的云服务器进行无线升级(OTA教程)

本文讲解的是如何使用最简单的方法来实现esp8266的无线升级,同时支持远程服务器和本地服务器升级.

下面是我用esp8266的sdk实现在线升级的整个流程(点击链接下载 源代码 )。

1. 需要准备的软件工具:

1.1  搭建本地服务器(或者远程服务器)

1.2  我使用的本地服务器是一个轻量级的小型服务器EasyWebserver1.9,好处是可以直接把需要升级的两个bin文件放在服务器的主目录就ok,不需要添加其它PHP代码,也不用安装WAMP软件,更不需要做其它各种繁琐配置, 使用起来极其简单,个人非常推荐使用哦 (点击链接下载)

1.3  ESP_DOWNLOAD_TOOL_V2.4 烧录工具,相信做8266开发的都不陌生,我就不一一介绍了.

需要注意的是烧录地址:以下是我自己的烧录文件对应的烧录地址(4M flash,不同的flash大小烧录地址不一样,请注意查看自己的模块flash);

boot_v1.6.bin ---- 0x00000

user1.4096.new.4.bin----0x01000      //也就是user1.bin

blank.bin----0x3FE000

esp_init_data_default.bin----0x3FC000

esp8266的升级流程:

1.生成两个bin文件:

2. 通过./gen_misc.sh或者gen_misc.bat 编译都可以生成我们需要的bin文件,区别在于生成user1.4096.new.4.bin的时候step2选择1,生成user2.4096.new.4.bin的时候step2选择2.具体生成两个bin的其它步骤选项这里不再介绍,其它网友写的很清楚了.

3.将生成的两个bin文件放在EasyWebserver的主目录下.

4. 第一次通过ESP_DOWNLOAD_TOOL_V2.4 烧录user1.4096.new.4.bin到esp8266模块.(当然包括其它上面讲到的必要烧录文件)

    后面需要烧录程序可以通过无线升级方式,升级速度杠杠的.



以上只是讲解大概流程,具体操作还需要网友自己.

下面的源代码是我写的两个函数,里面封装了OTA相关的API接口,拿来可以直接使用.

经本人反复测试,无线更新后的程序稳定运行.


说明:下载的资料包里是具体详细操作步骤,下载资料后请先仔细阅读教程和说明,然后再做无线升级.

下载资料需要积分,没有积分的小伙伴可以加我扣扣1535095746

http://download.csdn.net/download/shitingdi/10018021


注意:在我提供的源代码中,升级更新检测时间是10s ,就是这条语句 update->check_times = 10000;

个人后期测试发现10s的升级时间如果网络不好容易造成升级未完成的情况, 所以建议设置成30s,就是把源代码里的语句改成

update->check_times = 30000;






猜你喜欢

转载自blog.csdn.net/shitingdi/article/details/78216290