~~ 文章约定 ~~
约定1:本篇所述固件,已测试可用于阿里云连接,其它云,未测试。
约定2:本烧录方法,以魔女开发板的板载ESP8266作示范。
约定3:如果使用独立的CH340、独立的ESP8266,请先安装CH340驱动,并按需接线。
一、准备工作
准备1:把开发板上的所有杜邦线,全拔了!
不要问为什么,全拔光!
有些人相当的懒,不听劝,三分钟能完成的烧录操作,他非要搞了几个小时还在爬坑。
准备2:把已打开的串口助手,不论是哪个,全部关闭退出!
以避免烧录所用串口,莫名被占用,导致一直“等待上电”。
准备3:把烧录软件所在的文件夹,复制到桌面!
网盘资料下载完成后,在示例文件夹的ESP8266示例中,有一个文件夹:“MQTT固件资料包”。本篇操作图解所述,烧录软件、固件,里面都收集齐了。
如果没有开发板的网盘,可以在右侧链接中下载文件夹:MQTT固件、烧录软件
其中,有一个英文名称的文件夹:FlashDownloadTool_V3.6.2.2,固件、烧录软件在里面。
特别注意,有部分版本的烧录软件,无法烧录,原因不详。请尽量使用文件夹中版本。
把文件夹-"FlashDownloadTool_V3.6.2.2",整个复制、粘贴到桌面。
注意,是这个英文的文件夹,不能单单复制烧录程序的文件!
因为里面的烧录软件,需要在英文路径中运行。
准备4:给开发板烧录示例文件夹中的第1个示例:LED点灯。
如果你使用的是独立的CH340+ESP8266, 直接跳过本步骤。
为何要烧录点灯示例??
下面几行,对这一步操作的原因进行稍作解释,无需刻意理解。
首先,为了使烧录更简单,无需外接USB转TTl模块,本操作方法使用的是开发板上的USB转TTL电路,通过跳线帽,连接8266的串口引脚。
另一方面,开发板上的USB转TTL电路,在硬件设计时,早已连接了USART1 (PA1、PA12)。
这样,USB转TTL电路 ,就是一拖二了!!
而串口通信,不是总线机制,不支持一对多、一主多从等,将无法通信。
所以,需要给STM32烧录一个没有USART1初始化、通信的代码,才能避免这个冲突。
二、操作步骤图解
操作1:使用跳线帽,把ESP8266的RX、TX连接至虚拟串口。
魔女开发板,8266的引脚,和USB转TTL的引脚,都在板子右上角。
使用跳线帽,如下图,连接第3和第4行。
操作2:USB线,插入到CMSIS-DAP接口,并连接电脑。
留意:这是正常上电,8266上的蓝灯,会闪烁2次,表示进入运行模式。
操作3:使ESP8266进入烧录模式。
按着左下角第1个按键KEY_1,不放手。
按一下右下角的复位键。
然后,都放开手。
留意:按复位重新上电的瞬间,8266的蓝灯,会闪烁1次,表示进行烧录模式。
下面是这个操作的原理图,不过多解释,有兴趣的可以自行研究。
如果你使用的是独立的ESP8266模块,给IO0接GND后再上电,同样效果
操作4:再次确认文章开头时所说的烧录软件文件夹,已复制到桌面。
其实只要是英文路径,哪个目录都可以。
建议还是粘贴在桌面。
里面的烧录软件,必须在没有中文路径的位置运行.
操作5:打开烧录软件ESPFlashDownloadTool_v3.6.2.2.exe。
在刚才所复制的文件夹中。
操作6:在所弹出的窗口中,选择第1个选项。
操作7:解锁参数锁定。
进入烧录界面,如果界面全灰,如下图。
这是因为被锁上了,按图所示,取消锁定即可。
操作8:设置烧录参数。
第一行文件框右边,有一个按钮,点击即可选择烧录文件。
所需要的MQTT固件, 已保存在刚才复制的文件夹中:ESP8266-AT_MQTT_1M_1471.bin
注意:不管你烧录的是什么固件,文件体积,必须≤1M。
图中第2、3、4行中的文件,不用管它,不相干的,空着就行,不要打勾。
操作9:选择对应的串口端口号。
在烧录软件的右下角。
注意,如果之前已打开了其它的串口调试软件,先关闭,先关闭,先关闭,防止误操作。
操作10:选择波特率。
在烧录软件的右下角。
这个没要求要什么波特率,建议选择大一点的,越大越快,越慢越稳。
操作11:点击START,开始烧录。
按钮在烧录软件的左下角。
操作12:等绿色区域出现“完成”字样,烧录完成,关闭烧录软件。
如果烧录成功,绿色区域,会提示:FINISH 完成。
如果烧录失败,变成红色,并提示:ERROR 错误。
操作13:让ESP8266进入正常运行模式。
按一下复位键即可。
或者,拔了USB线重新上电,也行。
留意:上电瞬间,8266的蓝灯,会闪烁两下,表示已进入正常运行模式。
操作14:验证是否烧录成功。
使用任意一款串口上位机,并打开相应串口端口。
按一下复位键,观察串口输出,如果出现如下信息,则烧录成功。
在串口软件的发送文本区,输入: AT+GMR, 记得加回车键,或者打勾”\r\n”、发送新行。
将返回版本号信息:AT version:2.3.0....., 这个就是MQTT固件的版本号。
操作15:跳线帽归位,使ESP8266连接USART。
拔出跳线帽,连接第2行和第3行。
这样,就能在Keil里编写需要的代码,通过USART方式控制ESP8266通信。
提示:跳线帽归位后,必须经代码控制,不能像刚才那样操作: 串口软件直接与8266通信 。
至此,可以通过MQTT指令,进行阿里云的畅游了~~~