起因:
本来用的好好的ESP8266-01S模块不知是啥原因给烧了,摸着芯片巨烫无比。
由于手头上没有备多几个,于是只能暂时拿很早以前买的ESP8266-01来代替。
问题:
01和01S虽然大体上一样,但在一些电路设计上还是有些不一样,EN引脚并不像01S一样默认高电平,需要外接电压才行。这导致在烧录固件时,01S的接线方法就不适用了。
解决方法:
在网上找了很多的接线方法,经过许多尝试后终于顺利烧录固件成功,并成功在串口打印器上完成了AT指令的打印测试。
1、烧录固件
(1)接线引脚
ESP8266-01 串口烧录器
3.3V------------3.3V
GND -----------GND
RX-------------TX
TX-------------RX
EN ------------3.3V
IO0------------GND
注意:由于大部分的串口烧录器上只有一个3.3V(5V我没有尝试,不知道行不行)和 GND 引脚,而烧录时 EN 需要接上高电平(3.3V)、IO0 需要接 GND。
所以我们需要一块电路板或者面包板,提供3.3V的接口给 EN 供电,提供 GND 给 IO0 。
注意串口烧录器要和这块板子地共地。
这样烧录时的引脚接线就接好了。
(2)烧录固件
首先,下载好烧录固件的软件和固件
AT固件和烧录软件的链接:
链接:https://pan.baidu.com/s/1cnOtlwx8PQx8JDqI3f42oQ
提取码:1234
文件包括
之后,打开烧录软件
选择“ESP8266”、“Develop”,点击“OK”。
点击“...”,选择刚下载好的文件中的固件,如上图。
配置选择以上的选项,记得选对端口,波特率为115200。
选择好后,点击“START”,此时可以看到界面显示“下载中...”,等待下载完毕。
如果一直都是“上电同步”,就检查一下引脚接线是否正确,看看RX/TX有没有接反,EN有没有接到3.3V,IO0有没有接地等。
这样固件就下载好了。
下载好后,拔掉IO0口的导线,然后断电模块,再重新上电。
2、在串口打印软件上测试AT指令
引脚接线:
ESP8266-01 串口烧录器
3.3V------------3.3V
GND -----------GND
RX-------------TX
TX-------------RX
EN ------------3.3V
注意:这里的 EN 同样是要接到刚才的板子上,不能直接接在串口烧录器上,这很关键,因为我测试指令时,模块怎样都没反应,原来是供电不足导致的。同样烧录器要和板子共地。
强调一下,测试模块时,引脚一定要接对,否则发送指令时,模块是不会有反应的。
打开“XCOM”软件
选择好端口,波特率为115200,点击“打开串口”。
我是用ONENET平台的产品,所以这里演示ONENET的。
在界面下面选择“多条发送”,输入一下指令进行测试:
(1)AT
(2)AT+RST
(3)AT+CWMODE=1
(4)AT+CWDHCP=1,1
(5)AT+CWJAP=" WIFI名称 "," 密码 "
注意:
双引号为英文的;
配置WIFI时,要确保WIFI的AP频段要选择2.4GHz频段;
建议先用自己手机的热点测试。
(6)AT+MQTTUSERCFG=0,1,"产品名称","产品ID"," token值 ",0,0,""
token值需要用token软件生成,打开链接文件里的token应用
产品名称、产品ID和设备密钥如图上所示。
时间戳可以直接使用“1895166331”
其余选项跟上图一致即可。
点击“Generate”按钮,成功生成token值。
填入到这句中
AT+MQTTUSERCFG=0,1,"产品名称","产品ID"," token值 ",0,0,""
(7)AT+MQTTCONN=0,"mqtts.heclouds.com",1883,0
(8)AT+MQTTSUB=0,"$sys/产品ID/产品名称/thing/property/post/reply",0
(9)AT+MQTTPUB=0,"$sys/产品ID/产品名称/thing/property/post","{\"id\":\"123\"\,\"params\":{\"标识符\":{\"value\":XXX\}}}",0,0
每次发送指令,模块上的蓝色LED都会闪一下。
这样,固件烧录和AT指令测试就成功了。
总结:
本以为ESP8266-01S烧坏后,得等几天新买的模块到才行,没想到买了很久的01居然派上用场。花了两个多小时,找了许多文章,终于烧录成功了。
在此记录,望周知。