文章开头简单介绍 ESP8266(引自 知乎用户)。

ESP8266 是一个非常强大的 WIFI 模块,可以利用串口与单片机进行通讯,从而编程实现控制 ESP8266。利用 ESP8266 可以访问一些 API,获取天气信息或者完成网络授时,也可以连接云平台进行开发。不过因为是串口传输,速度较慢,不能用来传输图像、视频这些大容量的数据,但是传些传感器数据还是绰绰有余的。

我们常说的 ESP8266 是指 ESP8266 WIFI 模块,它是物联网和嵌入式开发常用的模块,其中 ESP8266 是 WIFI 模块的芯片型号。

ESP8266 有 ESP-01/01S/07/07S/12E/12F/12S 等规格,还有正点原子自研的 ATK-ESP8266 (修改了固件及模组引脚)。

材料准备

本文所需材料:

  • USB 转 TTL。用于烧写固件及测试。
  • ESP8266 模块(ESP-01S)
  • 母对母、公对母(可选)杜邦线若干
  • (可选)稳定的 3V3 电源供应

下面两幅图分别展示文章使用的 USB 转 TTL 模块以及 ESP8266(ESP-01S)模块。

usb-ttl

esp8266

固件与烧录程序下载

这里以安信可科技固件举例。进入官网的固件下载页:AT固件汇总 | 安信可科技 (ai-thinker.com)

这两个是可以选择下载的固件,它们的区别是:

  • 固件 1112 是 4M 版本的
  • 固件 1471 是 1M 版本的
    image.png
    image.png

根据需要选择一个下载就行。比如我的 ESP8266 不支持 4M 版本的(烧录程序提示烧录失败),这里就下载 1M 的那个。

下载后得到的关键的两个 Bin 文件名分别为:

  • (1112)ESP8266-AT-4M.bin
  • (1471)ESP8266-AT_MQTT-1M.bin

烧录程序为:flash_download_tool。软件可以在搜索引擎中寻找,其界面大致如下:

image.png

连线

ESP8266 USB-TTL 备注
3V3 5V(不建议) 连接 UST-TTL 的 3V3 口电流不稳定会导致 ESP8266 频繁重启,一般连接5V。而连接 5V 会导致 ESP8266 发烫,有模块烧毁风险。因此建议使用稳定的外部电源供电。这里我使用的就是 STM32 的 3V3 供电。
GND
TX RXD 建议采用直接连接、短线连接的方式以提高成功率。
RX TXD
IO0 暂时悬空。IO0 接地后,模块进入烧写模式。
RST 暂时悬空。

烧录

打开烧录软件,选择 ESP8266。

image.png

选择要烧录的固件。固件烧写地址为 0x00。

image.png

安照说明和需求进行配置。鼠标悬停会有选项提示。

image.png

选择正确的串口 COM。如果你正在使用其它串口助手记得关闭一下对应串口,避免串口占用导致烧录失败。波特率 BAUD 选择越高下载越快。

image.png

烧录前保证 ESP8266 的 IO0 口已接地。

点击 START 后开始烧写。若显示等待上电复位,此时请将 ESP8266 模块 RST 引脚接一下地后再次悬空。

出现 FINISH 说明下载完成。

测试

关闭烧录软件。将 IO0 引脚悬空或置高。

打开你习惯用的串口助手软件。选择正确的端口和波特率,在不经设置的情况下ESP8266 默认波特率为 115200。发送 AT 指令时记得以回车换行结尾。

image.png

向ESP8266发送命令 AT,正常情况下应返回 OK

后续就可以进行 MQTT 配置相关测试以验证固件是否烧写成功并正确运行。

本文参考