http://www.piaoyi.org/iot/espressif-ESP8266-MQTT-AT.html

正 文:

 

一般情况下,我们买的ESP8266模组到手的时候,都带了乐鑫官方的AT固件,比如飘易手里的ESP8266-01S模组的AT & SDK版本信息如下:

AT+GMR

AT version:1.3.0.0(Jul 14 2016 18:54:01)

SDK version:2.0.0(656edbf)

compile time:Jul 19 2016 18:44:44

由上面的信息可以看出AT版本是1.3,SDK版本是2.0,这是2016年的AT固件。那么,如果我们先升级AT固件或者直接更换其他厂家的固件,该怎么做呢?这个就需要我们进行烧录新固件了。

一,确定wifi模组的FLASH容量

ESP8266-01S的FLASH容量是8M,我们可以通过安信可的网站查看选型表:https://wiki.ai-thinker.com/esp8266,可以大概看出ESP-01系列的FLASH均是8M,从ESP-07开始的FLASH容量是32M。

我们也可以执行 AT+RST 查看FLASH的容量:

ets Jan  8 2013,rst cause:1, boot mode:(3,7)load 0x40100000, len 2408, room 16
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0
tail 8
chksum 0xd8
csum 0xd82nd boot version : 1.6SPI Speed      : 40MHzSPI Mode       : DOUTSPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

重启后,看到SPI FLASH SIZE & MAP的值是 8M(512KB+512KB)。8M的FLASH只能刷 512KB+512KB,不支持 1024+1024 flash map。

二,烧录固件时如何接线

我们先看下ESP8266-01S引脚说明:

序号 引脚名称 I/O 描述 DC特性 备注
1 UTXD   AT 串口发送输出 3.3V 开机时禁止下拉
2 GND      
3 CH_PD(EN)   模块断电信号 3.3V  1)高电平工作; 2)低电平模块供电关掉;
4 GPIO2   预留,默认悬空 3.3V 开机上电时必须为高电平,禁止硬件下拉;内部默认已拉高
5 GPIO16 I 复位信号(RESET) 3.3V 低电平复位,高电平工作(默认高);
6 GPIO0   模块状态灯/工作模式选择 3.3V 1)默认WiFiStatus:

WiFi工作状态指示灯控制信号;

2)工作模式选择:

上拉:FlashBoot,工作模式;

下拉:UARTDownload,下载模式(下载固件);

7 VCC I 模块采用单电源供电,通过 1 个VCC 电源引脚供电,电压范围:3.0V-3.6V,电流>600mA

Vmax=3.6V

Vmin=3.0V

Vnorm=3.3V

电源供电能力请大于600mA;否则可能会引起模块工作异常,或者无线性能不好。
8 URXD   AT 串口发送输入 3.3V  

从引脚定义来看,我们只需要把GPIO0引脚下拉接地就可以进入烧录固件模式啦。

注意,如果wifi是独立供电的话,要注意电源地和串口地要共地哦。

三、固件烧写

在烧写客户自己的固件之前,我们建议先跟着我们的步骤烧写一下官方的固件,确保您掌握了正确的烧写方式, 避免因烧写方式不当而引起的失败。下面我以官方固件的烧写,来示例烧写步骤。

固件烧写软件:flash_download_tools,我们可以从乐鑫的官网下载:https://www.espressif.com/zh-hans/support/download/other-tools?keys=flash+

目前最新的版本是3.6.7。下载后打开软件,先选择 “ESP8266 DownloadTool”,不要选错了。

然后才进入到真正的烧写软件里:

请注意,对于ESP-01来说:

SPI SPEED 选择 40MHz;
SPI MODE 选择 DOUT;
FLASH SIZE 选择 8Mbit;
SpiAutoSet 和 DoNotChgBin 均不要勾选。

下面的COM串口和波特率选择你电脑上对应的端口。飘易手里有一个乐鑫的一段式的固件:

ESPRESSIF_ESP8266_DOUT_8Mbit_V2.1.0_20170506 (1).bin

一段式的固件,只要刷这一个文件就好,还有的是四段式固件,要分别刷入四个文件及它们对应的地址。

我们来拿这个固件刷新看看,地址填写:0x00000,这是一段式的固件的地址。

点击“START”即可,出现正在下载后等待完成。

【注意】:

如果点击start后,一直处于等待上电同步,需要我们拉低一下复位引脚,或者直接断电再上电。

我们看到进度条走完时,就会提示:FINISH 完成啦。

这个时候,我们让 GPIO0 引脚去掉下拉,退出烧录固件模式,恢复正常工作模式后,连接串口软件,发送指令:

AT+GMR
AT version:1.4.0.0(May  5 2017 16:10:59)
SDK version:2.1.0(116b762)
compile time:May  5 2017 16:37:48
OKAT+RST
ets Jan  8 2013,rst cause:1, boot mode:(3,5)load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x222nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

我们看到我们的固件已经刷新成功啦,AT版本号1.4,SDK的版本号2.1。

嗯,可是飘易又看到了乐鑫网站上有更新的AT固件,我们再次烧录固件吧。

下载最新乐鑫的AT固件:

https://www.espressif.com/zh-hans/support/download/at

选择 NonOS AT 版本,最新的为ESP8266 NonOS AT Bin V1.7.1,这是基于 ESP8266_NonOS_SDK V3.0.1 的固件,但是受 AT bin 的大小限制,默认仅支持 1024+1024 flash map 。但我们的ESP8266-01S的FLASH是8M的,不支持 1024+1024 flash map。

好吧,那就降低版本去选择ESP8266 AT Bin V1.6.2版本(下载地址),这个版本支持8M的FLASH:

Flash size 8Mbit: 512KB+512KBboot_v1.2+.bin   0x00000user1.1024.new.2.bin    0x01000esp_init_data_default.bin  0xfc000blank.bin    0x7e000 & 0xfe000

注意每个bin文件后面的烧写地址,选择文件时,必须保证这个地址和bin文件一一对应的关系。

bin下面有2个目录:at(UART通讯方式)和at_sdio(SPI通讯方式),我们选择at目录下的bin文件。

下载目录里还有一个文件:user2.1024.new.2.bin,这个文件是OTA升级时才使用,烧录固件时不需要。

刷好之后,查看版本:

AT+GMR
AT version:1.6.2.0(Apr 13 2018 11:10:59)
SDK version:2.2.1(6ab97e9)
compile time:Jun  7 2018 19:34:26
Bin version(Wroom 02):1.6.2
OK
ets Jan  8 2013,rst cause:1, boot mode:(3,4)
load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22
2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

我们看到固件烧录成功了,当前的AT版本号1.6.2,SDK版本号2.2.1,比之前的版本又进步了。这个版本已经是8M FLASH能刷的最新版本乐鑫官方AT固件了。

四、支持MQTT的AT固件

如果希望支持mqtt,可以刷支持mqtt的固件:

AT+GMR
AT version:1.4.0.0(May  5 2017 16:10:59)
SDK version:2.1.0(116b762)
Simkeim Technology Co.,Ltd
MQTT:Jun  7 2017 14:33:18
OK

乐鑫ESP8266烧录固件、升级最新固件、刷MQTT固件相关推荐

  1. 乐鑫esp8266学习rtos3.0笔记:仅1M flash 的安信可 ESP-01S 模块,如何二次开发?如何对其 OTA 远程升级固件!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...

  2. 乐鑫esp8266学习rtos3.0笔记第6篇:esp8266-12模块基于rtos3.1版本ota功能远程空中升级固件,官网之上增加dns域名解析!(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  3. 乐鑫esp8266基于freeRtos实现私有服务器本地远程OTA升级

    代码地址如下: http://www.demodashi.com/demo/13533.html 文章目录 一.前言: 二.回顾下`OTA`的流程: 三.`lwip`网络框架的知识的使用: 四.如何处 ...

  4. 乐鑫esp8266学习rtos3.0笔记:AT指令固件如何二次开发,实现AT指令连接亚马逊AWS IoT平台;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...

  5. Alios-Thins教程连载 ①如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫esp8266,打印 HelloWorld 。(附带镜像)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...

  6. 乐鑫esp8266学习rtos3.0笔记第11篇:详细分析Esp8266上电信息打印的数据,如何做到串口通讯上电不乱码打印。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  7. 乐鑫esp8266学习rtos3.0笔记第3篇: 一篇文章带你搞掂存储技术 NVS 的认识和使用,如何利用NVS保存整型、字符串、数组以及结构体。(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...

  8. Esp8266 进阶之路36【外设篇】乐鑫esp8266芯片SDK编程驱动时间芯片 ds1302,同步网络时间到本地,再也不怕掉电断网也可以同步时间了!(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  9. 乐鑫esp8266学习rtos3.0笔记第9篇:整理分享那些我在项目中常用的esp8266 rtos3.0版本的常见驱动,Button按键长短按、PWM平滑调光等。(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

最新文章

  1. 右边菜单_Excel – 如何始终显示下拉菜单右边的小箭头?
  2. Houdini Krakatoa Render Plugin
  3. 波士顿动力机器狗半夜遛弯儿惊呆路人,还配合拍照,网友:想到了《黑镜》...
  4. React Native开发错误警告处理总结(已解决 !持续更新)
  5. String类型转date
  6. jenkins详细设置(二)
  7. 如何判断SVG事件对象中的鼠标来源?
  8. python—装饰器
  9. 笔记本 win11 64位专业版iso文件v2021.07
  10. java8 groupingby_Java8 教程第五章之Streams Collectors groupingBy
  11. SAP License:转一篇初学者必看的文章
  12. Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
  13. Visual Studio Team Architect团队的敏捷开发 (第三部分)
  14. 值得推荐的C/C++框架和库 转
  15. 《Linux运维实战:免费md5解密工具》
  16. DBA 小记 — 分库分表、主从、读写分离
  17. 《时代》杂志评出2007年50个最佳网站
  18. PS 打好的字体 怎么修改 字体间距
  19. 用c语言求解n阶线性矩阵方程组,求解N阶线性矩阵方程
  20. 勃林格殷格翰与Lifebit合作识别全球传染病暴发;百济神州和Shoreline Biosciences达成合作 | 医药健闻...

热门文章

  1. java什么是格式化数字,java中对数字进行格式化
  2. excel怎么设置自动计算_电气自动计算表,excel函数输入数据秒出精准结果,超好用...
  3. tensor.repeat()
  4. flutter和原生交互
  5. 高仿qq搜索附近界面
  6. 惠普HP CM1312nfi 彩色激光打印机如何添加网络打印机
  7. 二进制,八进制,十进制,十六进制相互转换的快速记忆法
  8. 小A的最短路(LCA、倍增算法学习)
  9. 将无法编辑,或者加密的word文档解密,使之可以编辑
  10. 12306——(二)火车车次查询API