ESP8266 烧录 MQTT固件

~~ 文章约定 ~~

约定1:本篇所述固件,已测试可用于阿里云连接,其它云,未测试。

约定2:本烧录方法,以魔女开发板的板载ESP8266作示范。

约定3:如果使用独立的CH340、独立的ESP8266,请先安装CH340驱动,并按需接线。


一、准备工作

准备1:把开发板上的所有杜邦线、设备,全拔了!

        不要问为什么,全拔光!

        如果开发板上插了显示屏,把屏也拔下来。

        有些人相当的懒,不听劝,三分钟能完成的烧录操作,他非要搞了几个小时还在爬坑。

准备2:把已打开的串口助手,不论是哪个,全部关闭退出!

        避免烧录所用串口,莫名被占用,导致软件一直“等待上电”。

准备3:把烧录软件所在的文件夹,复制到桌面!

        网盘资料下载完成后,在示例文件夹的ESP8266示例中,有一个文件夹:“MQTT”。本篇操作图解所述,烧录软件、固件,里面都收集齐了。

        如果没有开发板的网盘,可以在右侧链接中下载文件夹:MQTT固件、烧录软件

        其中,有一个英文名称的文件夹:FlashDownloadTool_V3.6.2.2,固件、烧录软件在里面。

        特别注意:

        这个烧录软件,网上版本众多,有部分版本无法烧录,原因不详

        请不要自行下载其它版本,务必使用文件夹中经测试可用的:v3.6.2.2版!

        把文件夹-"FlashDownloadTool_V3.6.2.2",或"MQTT",整个复制、粘贴到:桌面。

        注意,是指英文名称的文件夹,不能单单复制烧录程序的文件!

        因为里面的烧录软件,需要在英文路径中运行。

准备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接口,并连接电脑。

        留意1:这时候是正常上电,8266上的蓝灯,会闪烁2次,表示进入运行模式。

        留意2:USB上方的白色LED,会一直慢闪,表示被电脑成功识别。

操作3:使ESP8266进入烧录模式。

        按着左下角第1个按键:KEY_1,不放手。

        按一下右下角的复位键,或者,插拔USB线重新上电也行。      

        留意:松开复位键的瞬间,8266的蓝灯,闪烁1次,表示:进入烧录模式。  

        然后,可以放开按键1了。

        下面是这个操作的原理图,可以跳过,不过多解释,有兴趣的可以自行研究。

        如果你使用的是独立的ESP8266模块,给IO0接GND后再上电,同样效果

操作4再次确认文章开头时所说的烧录软件文件夹,已复制到桌面。

        其实只要是英文路径,哪个目录都可以。

        建议还是粘贴在桌面。

        里面的烧录软件,必须在没有中文路径的位置运行!

操作5:打开烧录软件ESPFlashDownloadTool_v3.6.2.2.exe。

        在刚才所复制的文件夹中。

        务必使用这个v3.6.2.2版本,不要自行下载其它版本!!

操作6:在所弹出的窗口中,选择第1个选项。

操作7:解锁参数锁定。

        进入烧录界面,如果界面全灰,如下图。

        这是因为被锁上了,按图所示,取消锁定即可。

操作8:设置烧录参数。

        第一行文件框右边,有一个按钮,点击可选择需要的烧录文件。

        所需要的MQTT固件, 已保存在刚才复制的文件夹中:ESP8266-AT_MQTT_1M_1471.bin

        注意:不管你烧录的是什么固件,文件体积,必须1M。

       第一行:打勾,其它的行,不用打勾。

        图中第2、3、4行中的文件,不用管它,不相干的,空着就行,不要打勾。

操作9:选择对应的串口端口号。

       在烧录软件的右下角。

注意,如果之前已打开了其它的串口调试软件,先关闭,先关闭,先关闭,防止误操作。

        如果显示有多个串口号,不知道对应哪一个,可以先行把USB线拔了,看看少了哪一个。

操作10:选择波特率。

        在烧录软件的右下角。

        这个没要求要什么波特率,建议选择大一点的,越大越快,越慢越稳。

操作11:点击START,开始烧录。

        按钮在烧录软件的左下角。

        正常情况下,点击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通信 。


关于不能成功烧录的原因收集:

  • 1、没有插对跳线帽!
  • 2、没有进入烧录模式!
  • 3、没有把文件夹复制到桌面再运行!
  • 4、没有关闭其它串口软件!
  • 5、使用了自己另行下载的烧录软件版本!       
  • 只要严格地按照上文中描述进行操作,这么多年,暂时还没有不成功的,一例也没有!

  • 至此,可以通过MQTT指令,进行阿里云的畅游了(换个坑继续掉头发)~~~

### 使用Arduino给ESP8266烧录MQTT固件的步骤 #### 准备工作 为了成功地将MQTT固件烧录ESP8266并利用Arduino开发环境完成操作,需先准备好硬件和软件资源。 - **硬件准备** - ESP8266模块(如ESP8266-01S) - Arduino板子用于编程接口 - USB转TTL串口适配器(如果直接通过Arduino无法提供足够的电平转换支持) 确保ESP8266的电源引脚正确连接至3.3V供电源,并按照如下方式设置其他重要引脚[^2]: - `3V3/VCC`接到3.3V - `EN`串联一个10kΩ电阻后接到3.3V - `RX`接到Arduino的`RX0` - `TX`接到Arduino的`TX1` - `GND`接地 - 烧写时,`GPIO0`接到GND;运行时,`GPIO0`应保持悬空状态 #### 软件安装与配置 在计算机上安装最新版本的Arduino IDE,并添加ESP8266的支持包以便能够识别该芯片作为目标设备。具体来说,在Arduino IDE首选项中加入官方提供的ESP8266库地址[^1]。 #### 编程前准备工作 打开Arduino IDE之后,选择对应的主板型号为“Generic ESP8266 Module”,同时调整上传速度为115200bps以匹配大多数情况下使用的波特率设定。另外,还需确认端口号无误,这通常会在IDE底部的状态栏显示出来。 #### MQTT固件获取 访问指定网址下载适用于ESP8266MQTT协议栈固件文件以及配套工具链,包括但不限于Flash Download Tool v3.9以上版本、特定于ESP8266系列产品的预编译二进制镜像等资源[^4]。 #### 实际烧录过程 启动Flash Download Tool应用程序,加载之前获得的.bin格式固件映像,依据实际需求填写起始偏移量参数。特别注意的是,当执行擦除闪存区命令或者首次刷入新系统时,务必勾选相应选项以清除旧有数据残留影响后续功能表现。最后点击“Start”按钮发起正式烧录流程直至提示顺利完成为止。 ```bash # 命令行示例:使用esptool.py进行固件烧录 (假设已安装Python及相关依赖) esptool.py --port /dev/ttyUSB0 write_flash 0x0 firmware.bin ``` #### 测试验证 一旦上述所有环节均按部就班完成后,就可以尝试重启ESP8266模组看其能否自动接入预先定义好的Wi-Fi网络并向指定服务器发送心跳消息了。此时可以借助Serial Monitor监视日志输出情况进一步排查潜在错误原因所在。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值