一、前言;
写了这么多的8266博文,一直以满意100%的心态去敲写代码固件烧录,以致很少出现 bug , 目前呢?浏览了网上很多8266的OTA的demo,还特意在某宝上搜了一把,竟然卖的价格为“399”元一个8266的OTA升级方案!天呐!代码这么值钱么?那我之前开源了那么多的工程源码带博文,岂不是无价之宝~~
其实开心就好,那么本文的话,就带大家共睹8266的OTA的远程升级的整个流程!
二、OTA的认识;
在Android开发领域里,有一种叫“热修复”的功能,能够不通过下载APK重新安装它,即可实现修复了Bug。8266的OTA升级也是如此,官网称之为FOTA ,对这个理念的东西,我也是不太懂!反正可以实现无线烧固件就可以啦!
- ①、8266的在线远程升级的总体流程怎么样的?
- ②、升级时候,内部运行是怎么样的?
1.从官网提供的图片可以看到,内存大小分为四块,分别是 user1.bin、user2.bin、boot.bin 启动、master_device.key 用户数据 ,初始化系统参数的2个 blanck.bin和esp_init_data_default.bin和预留空间;
2.由下面的理解可知,8266要运行哪个固件,取决于 boot.bin文件的信息,每次升级前,都会查询一次当前运行的是 user1.bin 还是 user2.bin ,进而从云端拉取对应相反的那一个bin;
- ③、市面上那么对的8266模块,应该怎么配置烧录地址?
很简单问题,只需要修改工程目录下的
makefile
文件即可,翻开它在 25行左右,可以看到下面信息,这个是乐鑫没有OTA在线升级的配置,可以看到BOOT?=none
,好!那么从这里开始修改!
BOOT?=none
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=0
我这里详细地说下这里包含了啥信息!
由下面可得,不同的8266模块,其外部falsh大小决定了编译时候的user.bin
路径,所以大家在此OTA升级,必须要摸清楚你