--2025-最新可靠-- ESP8266-01S/NodeMCU AT固件烧录,作为WiFi模块-快速入门!

发布于:2025-06-26 ⋅ 阅读:(12) ⋅ 点赞:(0)

1、导言

        市面上主要的ESP8266有两种,一种是01S(左图), 还有一种是NodeMCU版本(右图)(通常为12E,可以自己观察金属屏蔽罩上刻印)。

        两者其实都由一颗ESP8266作为主控,不过NodeMCU版本将全部引脚全都引出,同时有着USB直连的CH340/CP2102串口。

        对于8266,无论是哪种版本,主要的编程方式有两种,AT指令与基于Arduino IDE开发,具体如何配置就不详细展开,这部分很简单。

        使用AT指令开发时,8266主要只是扮演一个WiFi模块的作用,而ESP8266,之所以有着和ESP32一样的前缀,便代表着它也是单片机的一种,因而通过Arduino IDE开发可以发挥更多的性能,同时也能实现AT指令所能实现的功能,并且自由度更高。

        因此,如果是简单作为WiFi模块使用,可以考虑使用AT指令,但如果在WiFi之余要实现其他的附加功能,还是推荐Arduino IDE开发的方式,自由度高,更加稳定,易于开发。

        本文主要介绍使用AT指令开发WiFi功能时所需要的AT固件的烧录方式。

2、AT固件烧录

     2.1 AT固件烧录的必要性

        01S一般自带AT固件,而NodeMCU可能并不出厂烧录AT固件,因而NodeMCU可能出现串口输入AT指令无响应的情况(首先检查使用的数据线是否支持数据传输功能,尤其当串口是Micro USB时);而01S有时在使用AT时可能也会出现一些死机,就算重新上电也无法解决的问题,这种情况下也需要重新烧录AT固件解决

     2.2 烧录工具及固件下载:

        1、搜索“ESP8266系列模组专题|安信可科技”,进入安信可官网的资料网页。

        2、在简介的图片表格里,可以找到你购买的型号,最重要的是[SPI Flash]这一项,可以看到,01S是8Mb(1MB),而12E是32Mb(4MB)。

       

        3、下翻网页,找到“资源汇总”这一项,点击“开发工具”,下载第三项“3、烧录WiFi固件工具:ESP_DOWNLOAD_TOOL”,这就是烧录AT固件所需的烧录工具。

        

        3、重新返回到资源汇总,点击“各类AT固件”,即可看到可使用的各种AT固件,除去各种特殊固件外;

        

         对于01S,推荐下载“⑦、MQTT透传AT固件(固件号:1471)”,大小为1MB版本,对应其Flash大小,再解压

        对于12E,推荐下载“④、MQTT透传AT固件 (固件号:1112)”,大小为4MB版本,对应其Flash大小,再解压

        至于①、博安通 AT 固件(固件号:4MB(0883),1MB(0884)),虽然官网描述其操作简单,任何mcu均可直接接入;但在实际烧录后出现了AT命令依然无响应的情况,所以不推荐使用。

      2.3 烧录操作

        1、8266-01S

         接线方式

         对于01S, 连接USB-TTL工具时(拔掉跳线帽),8个引脚中,3V3接3V3,GND接GND,EN接3V3或5V,TX接RXD,RX接TXD,IO0接GND。

                    

                                                (CH_PD实际上就是EN,即使能端口)

        IO0接GND,即IO0置0,实际是启动烧录模式在烧录完成后,要拔掉0,改接高电平(3V3或5V)后重新上电,才能改为运行模式,否则指令/程序无法运行。即IO0更改一次后永久生效,直到下一次上电前重新修改。

        由于供电要接的3V3,GND较多,TTL工具引脚不足,可以考虑将TTL工具的供电引到开发板上,或者除RX,TX以外的供电类引脚都接到电源模块上,但注意要将电源模块和TTL工具共地,即通过杜邦线将两者任意一个GND相连,否则影响串口数据传输

         固件烧录

         然后,打开烧录工具,选择ESP8266和Develop;

        进入界面后选择SPIDownload,

        点击第一行中的“...”,选择1471固件解压出来的“(1471)ESP8266-AT_MQTT-1M.bin”

        然后@...栏中填“0x0”,勾选第一行最前面的复选框

        下侧勾选SPI SPEED=40MHz,SPI MODE=DOUT, 取消勾选DoNotChgBin

        最后,再COM中选择USB-TTL对应的端口,如果不知道,可以拔掉看看哪个会消失。BAUD波特率选择115200,然后点击START,等待START变为蓝色的FINISH即可。

         然后拔掉TTL工具,把IO0接高电平(3V3或5V)后重新上电,改为运行模式,以后用01S时就不用再接IO0端口。

        2、8266-NodeMCU(12E)

        对于NodeMCU,先按住开发板上FLASH按键,再通过支持数据传输的USB线直连电脑,不要松开按键。(先按住按键,再上电)

        

         后续基本操作同上,但“...”,选择1112固件解压出来的“(1112)ESP8266-4M.bin”,等到点击START后出现同步字样,松开FLASH按钮,开始烧录,等待START变为蓝色的FINISH即可。

        后续使用时,只需正常插上数据线即可,无需像01S一样重新切换到运行模式。

 2.4 测试

        注意,以上两种固件烧录后,8266的默认波特率都是115200,后续使用串口助手或者程序使用时都应与115200一致。

        AT指令使用时,需要以 \r\n,即回车+换行结尾,使用串口助手发送AT指令时,只需勾选“发送新行”即可免去 \r\n 。

        将8266连接至电脑后,使用串口助手连接,发送

AT                //预期收到“OK”,即代表AT固件功能正常

        此外,还有一些常见AT指令:

AT+GMR        //返回AT固件版本信息

AT+RST        //重启设备

AT+RESTORE    //恢复默认设置(恢复出厂,AT一切设置变为默认)


网站公告

今日签到

点亮在社区的每一天
去签到