【STM32+ESP8266上云连载①】给ESP8266烧录AT固件

文章目录

我在使用ESP8266的时候遇到了一些问题,像给固件烧录、和单片机结合使用MQTT协议给云服务器发送数据等。乐鑫有提供基础的AT固件,可以正常使用模组的一些基本的功能,但是针对MQTT协议需要烧录专门的固件使用。因此,我将自己解决遇到的问题解决方法写一下,希望可以帮到你。

一、给NodeMCU烧录固件

由于一般购买的NodeMCU模组引脚比较全,并且将串口也引出,因此在下载固件使用的时候更方便,仅仅需要一条数据线即可(一般都是micro-usb数据线,并且就是可以进行数据传输的那种)。

1.1硬件准备

  • 安装windows操作系统的电脑一台
  • 数据线一根
  • NodeMCU模组

    使用数据线连接到电脑,并且可以正常识别到设备。
    如果不能正常识别需要考虑:
    1、是否安装了CH340串口驱动或者CP2102串口驱动
    2、或者考虑芯片串口是否损坏
    3、数据线是否不支持数据传输

1.2软件准备

其中的【doc】文件夹包含下载软件的具体使用方式介绍

解压后,双击exe即可打开软件,下图为界面打开样式

  • 选择需要下载的设备类型【ESP8266】模式为【Develop】,点击【ok】即可
  • 进入到路径配置和烧录参数配置界面

1.3AT固件下载

  • 有关乐鑫系列模组的详情介绍界面
    本界面提供有ESP8266不同系列的购买链接和介绍文档
  • 进入到安信可的相关固件下载界面(点击直达)

进入到界面可以看到不同类型的固件,有专门的云服务固件,有MQTT相关的固件,本次要进行MQTT测试,因此就是要下载MQTT透传固件即可,它包含了和MQTT协议相关的AT指令。

  • 点击固件下载并解压打开
    可以看到里面有一个文件夹,进入后显示一个bin文件,后缀为【4M

固件4其中文件的后缀是【4M】因此可以下载到NodeMCU,也就是ESP12E/F/S上,但是针对ESP8266-01系列就不可以了,需要下载小的固件,后缀为【1M】的。

1.4配置设置

  • 打开下载软件,进入到配置界面
  • 选择固件的绝对路径,并填写后面的下载起始地址【0x0
  • 配置SPI_SPEED为【40MHz
  • 配置SPI_MODE为【DIO
  • 不勾选【DoNotChgBin
  • 手动选择串口
  • 将下载速率拉满到【1500000
  • 最后的配置界面为

1.5开始烧录

  • 点击左下角的【START】,等待进度条到最后
  • 完成下载后显示【FINSH完成

从这里可以看到软件检测到设备的Flash大小是4MB,因此下载上面选择的MQTT固件完全可以

一般情况下不需要额外的操作,NodeMCU自身带有下载检测模式,自动将芯片设置为下载模式。

  • 打开任意一个串口调试助手,进行简单测试
    按下NodeMCU的复位键,可以看到打印的信息:

可以看到打印出来max地址、固件版本、编译时和最后的ready

二、给ESP8266-01S烧录固件

倘若你手里面有一个烧录架那就更好了,但是我说的方法是在没有烧录架,只有USB转TTL的情况下的方法。

2.1硬件准备

  • 安装windows操作系统的电脑一台
  • 数据线一根
  • ESP8266-01模组

2.2AT固件下载

  • 点击固件下载并解压打开
    可以看到里面有一个文件夹,进入后显示一个bin文件,后缀为【1M

固件7其中文件的后缀是【1M】因此可以下载到ESP826601上

2.3连线

  • 根据ESP8266的下载模式,需要将GPIO0连接到【GND
  • USB转TTL和ESP8266的连线
UAB转TTL ESP8266-01S
RXD TXD
TXD RXD
3.3V VCC
GND GND
GND IO0
GND RST

2.4烧录配置

  • 配置的方法同NodeMCU
  • 烧录操作
    将USB转TTL和ESP8266-01S按照上面的接线图连接,然后按下软件上左下角的【START
    然后将接线的RST断开,然后下载状态将会变化,等待进度条走完即可
  • 烧录完成
  • 打开任意一个串口调试助手,进行简单测试
    将【IO0】从【GND】断开,然后将【RST】拉低后断开,可以看到打印的信息:

到此为止,MQTT固件烧录已经完成,你可以应对大多数情况下的固件烧录了

同时,你也可以烧录其他类型的固件进行测试,但是需要注意的是需要进行Flash存储大小的匹配

三、给ESP-12E/F/S单片烧录固件

烧录方式同上。

四、指令测试

4.1HTTP测试

4.2MQTT测试

相关推荐
再睡一夏就好9 分钟前
从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
linux·服务器·c语言·开发语言·学习笔记
C_Liu_5 小时前
C语言:深入理解指针(5)
java·c语言·算法
small_wh1te_coder5 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
WKJay_5 小时前
深入理解 Cortex-M3 特殊寄存器
stm32·单片机·嵌入式硬件
Linux嵌入式木子7 小时前
# 2-STM32F103-复位和时钟控制RCC
stm32·单片机·嵌入式硬件
小智学长 | 嵌入式9 小时前
单片机-STM32部分:13-1、编码器
单片机·嵌入式硬件
邹诗钰-电子信息工程10 小时前
嵌入式自学第二十二天(5.15)
c语言
#金毛11 小时前
一、HAL库的设计理念详解:从架构到实践
stm32·嵌入式硬件·架构
bing_15812 小时前
MQTT 在Spring Boot 中的使用
java·spring boot·后端·mqtt
alive90312 小时前
STM32移植LVGL8.3 (保姆级图文教程)
stm32·单片机·嵌入式硬件·stm32f407·lvgl8.3·lvgl移植