文章开头简单介绍 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 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 配置相关测试以验证固件是否烧写成功并正确运行。

本文参考