摘要:很多小伙伴在初期学习ESP8266 WIFI模块时会遇到很多的问题。其中主要包括:应该给ESP8266模块刷什么固件版本合适、STM32下位机应该怎样编写驱动程序以及大家可能都遇到过的连接服务器失败等问题。由于博主本人在学习使用ESP8266 WIFI模块初期也遇到过类似的问题,现在博主将这些解决经验分享给有需要的小伙伴们。博主给ESP8266 WIFI模块刷的MQTT固件,因此下面也主要给大家介绍一下刷MQTT固件的流程以及解决连接服务器失败的问题。

一、给ESP8266刷鞋MQTT固件

1.1 ESP8266 WIFI模块的选择

博主买的是德飞莱的ESP-12S WIFI模组,如下图。其实买哪个模组不重要,主要的是WIFI模块的型号。刷MQTT固件需要的flash相较于其它的要大一点,因此需要选择稍大一点的型号模组,官方提供的MQTT固件主要也是适配于12S的模块。因此博主也建议使用ESP-12S型号。

虽然博主使用的是德飞莱的WIFI模块,但是不建议购买这个这个模块,因为他刷固件不方便啊,而且淘宝官方店还给没有接线的原理图!!!!当时下这个固件折磨了我好久。所以建议大家购买那种flash大一点,把刷驱动的引脚留出来的模块。

1.2 MQTT固件下载

由于博主使用的WIFI模块是用的安信可科技的32模组,所以可以在安信可官网资料里面下载MQTT固件包。选择固件号:1112的透传固件,下载。大家可以点击下面的连接直接跳转到该网页进行下载:https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

1.3 辅助工具安装下载

1.3.1 刷固件工具 :flash_download_tool

现在给ESP8266刷写新固件差不多也基本上用的是这个flash_download_tool工具,其界面如图:

下载连接我就不贴了,网站上搜索一大把,或者也可以下载我上传的资源包,里面包含了所有所需要的工具、MQTT固件,以及STM32成功连接服务器的例程,还有我总结的一些使用注意事项。

1.3.2 数据生成平台

博主使用的是阿里云物联网开发平台。因此大家如果不会阿里云物联网开发平台的话可以参考这位非常厉害的博主教程:https://blog.csdn.net/u014779536/article/details/106328156

登录阿里云服务器需要正确的连接参数,大家可能接触过不同的服务器连接参数输出工具,有离线网页的,有单独.exe软件的,在这里博主本人非常推荐一款连接参数输出工具:阿里云物联平台配置。他长这样:

由于过了太久,我也找不到当初的下载连接在哪了,所以我也只能将这个打包放在上传的资源包里了。至于我为什么非常推荐这个配置功能,我后面会讲到。

1.3 固件烧录方法

①.进入固件烧录软件后,根据ESP8266 flash内容大小选择相应的配置。点击第一行空白处的右侧的‘"...",选择需要烧录的固件,右侧的空白框填写"0x0000"。弄好后,记住在左侧的空白小框中勾选上这一行,勾选中后,这一行显示绿色。

②由于博主的模块没有将烧录引脚引出,所以还得借助杜邦线手动连接才行。

刷固件时需要将RST、IO0两个引脚同时接地,点击 "START",此时显示错误错,松开RST引脚,使其悬空,但是IO0引脚继续接地,然后再次点击 "START"开始烧录便成功了。如下图:

同时附上ESP8266引脚图:

1.4 MQTT固件测试

大家根据自己生成的信息,使用下列AT指令测试MQTT固件是否刷入成功。以下代码也是ESP 8266 WIFI模块登录云服务器的指令流程。大家在测试登录阿里云服务器时,最好是先将单独的WIFI模块成功接入阿里云服务器后再进行加入STM32单片机的操作。

二、关于ESP8266连接服务器失败的解决

2.1 模块登录服务器失败

相信很多小伙伴都遇到过连接服务器失败的情况,其返回报错信息如下:

+MQTTDISCONNECTED:0 ERROR

官方给出MQTT使用手册中给出了这样相关的内容:

其大致意思是说:

一般情况下,AT MQTT命令会在10秒内响应,但AT+MQTTCONN命令除外。例如,如果路由器无法访问internet,则AT+MQTTPUB命令会在10秒内响应。但是AT+MQTTCONN命令可能需要更多的时间,因为在不良的网络环境中需要重传数据包。.如果AT+MQTTCONN基于TLS连接,每个包的超时为10秒,则根据握手包计数,总超时将长得多。

当MQTT连接结束时,将提示消息+MQTTDISCONNECTEd:<LinkID>。

当MQTT连接建立时,它将提示消息+MQTTCONNECTED:<LinkID>“<scheme><”主机“>,端口,<”路径“>,<reconnect>

简单的说就是,使用AT+MQTTCONN命令时,断开连接或者主动连接失败都会返回+MQTTDISCONNECTEd:<LinkID> 错误内容。

关键来了:

连接服务器时之所以会报错的原因就是出在利用 物联平台配置工具生成的PASSWORD不正确!

其正确的做法是:

①在建立好阿里云物联网平台的物理模型后,将设备的三元组复制到物联平台配置工具中

②Cilentld 随便填,5位;TimeStamp不要填!!!,不然生成密码有误!!!

③再将生成的密码等参数重新进行MQTT AT测试。然后你就会发现,此时WIFI模块可以正常连接云服务器了;

由于博主的WIFI模块被拿去做项目了,所以现在暂时不能给大家展示完整的成功连接流程。待过一段时间,我会再来完善这篇文章,将完整的成功连接流程补上。

若使用了这个方法还是没有连接失败,给予各位一下几点建议:

1.仔细检查填入参数配置平台的数据是否正确以及进行MQTT连接时,输入的指令内容是否正确。

2.尝试使用博主使用的参数配置平台。

3.本博主使用的该参数配置平台连接阿里云服务器,没有测试过腾讯云等其它服务器,所以使用其它云服务器的不一定适用哦。

4.坚持不懈,再次百度

[ESP8266]刷MQTT固件以及连接服务器失败的问题解决相关推荐

  1. STM32+ESP8266连接服务器失败,不断发送OneNet_DevLink

    修改onenet.c文件上方的PROID,AUTH_INFO,DEVID即可, 不要使用默认的 #define PROID "77247"#define AUTH_INFO &qu ...

  2. ORA-28547:连接服务器失败,可能是Oracle Net管理错误

    描述:监听和服务都正常启动了,但是远程连接的时候会有这种错误 ORA-28547:连接服务器失败,可能是Oracle Net管理错误 解决办法: listener.ora 文件中 DEFAULT_SE ...

  3. cf网络原因服务器无响应,CF由于网络原因连接服务器失败请重试 1033_10136

    今天好不容易叫上以前朋友上CF玩几把游戏,兴致勃勃打开游戏,两人一起组队打排位,我游戏一进去就掉出来,一直弹出错误:由于网络原因连接服务器失败请重试 1033_10136.试了好多次都这样,就是进不去 ...

  4. 海贼王热血航线正在连接服务器,航海王热血航线连接服务器失败?解决方法一览...

    航海王热血航线进不去怎么办,进不去解决方法一览,航海王与今天早上正式开服了,相信很多玩家都遇到了进不去的问题,下面小编教大家解决办法 航海王热血航线进不去游戏怎么办 原因1:网络问题 如果小伙伴们在登 ...

  5. 永劫无间为啥显示连接服务器失败,永劫无间服务器故障怎么办?永劫无间服务器故障解决办法...

    永劫无间国服已上线了,有不少玩家遇到了连接服务器失败的情况,不知道怎么解决,下面小编就为大家详细的介绍一下,感兴趣的玩家一起来了解下吧! 永劫无间服务器故障怎么办?永劫无间服务器故障解决办法 一.在确 ...

  6. dnf无限重连服务器,dnf无限连接服务器失败解决方法

    dnf无限连接服务器失败怎么解决?相信很多小伙伴们都会遇到类似的问题,下面小编给小伙伴们带来了dnf无限连接服务器失败的临时解决办法,一起来看看把! 除了重启怎么办 几天好几次了 刚刚忍不了了 重启烦 ...

  7. 元神一直显示连接服务器失败,原神连接服务器失败是什么情况-提示连接服务器失败处理办法-去秀手游网...

    原神连接服务器失败是什么情况?想必很多小伙伴都知道游戏近期连接服务器失败,玩游戏的时候有弹窗提示这几个字,接下来去秀小编就给大家带来了原神提示连接服务器失败处理办法,希望能帮助到大家,一起来看看吧. ...

  8. 总是助手服务器失败怎么回事,《遇见逆水寒》连接服务器失败解决方法汇总 服务器连接失败问题原因...

    导 读 遇见逆水寒连接服务器失败怎么回事,近期不少小伙伴都在反映遇见逆水寒助手连接服务器失败,一直登不上去是怎么回事,小编这就为大家分享下遇见逆水寒连接服务器失败解决方法. 遇见逆水寒连接服务器失败解 ...

  9. pgadmin连接服务器失败_增值税发票税控软件:连接服务器失败是否使用离线文件进行更新?...

    增值税发票税控软件:连接服务器失败是否使用离线文件进行更新? 第一步:确认本地电脑是否可以正常打开网页: 打开电脑,网页查看一下是否可以正常上网,打开百度发现,可以正常上网. 第二步:请先确认网络配置 ...

最新文章

  1. 用C语言解“用天平找小球”题
  2. mysql容器重启数据是否丢失_docker重启后数据是否会丢失
  3. Oracle笔记 八、PL/SQL跳转/判断/循环语句块
  4. Spring Boot和Apache Camel
  5. JLBH示例1 –为什么应在上下文中对代码进行基准测试
  6. mouseup 左键_javascript中mouseup事件丢失的原因与解决办法
  7. devops推荐_DevOps World 2019的热门推荐
  8. 软件设计师11-数据库
  9. chrome 文本框 获取焦点时 边框色
  10. ArcView GIS 应用与开发技术(10)-影像操作
  11. 数字PCR的数学原理及系统间相互比较
  12. android的NDK安装及工程实例
  13. 姿态角解算(MPU6050 加速度计加陀螺仪)
  14. ubuntu 设置静态路由_Ubuntu添加静态路由
  15. sap中re凭证是什么意思_SAP财务模块内有哪些凭证类型
  16. 短线王的盯盘宝怎么样_短线王炒股十大技巧!
  17. Python3 + selenium 实现QQ群接龙自动化
  18. 金融IC卡全“芯”起航
  19. 尚品汇_第4章_ 商品spu保存
  20. foldermove中文版下载 | FolderMove(电脑文件夹移动软件)单文件汉化版V3.0.0.0 | 最新版foldermove下载

热门文章

  1. 下载landsat8 L2级产品的步骤
  2. 小福利,用excel制作旋风图,小狗图和漏斗图
  3. 关于酷狗音乐api搜索歌手信息的问题
  4. 修改Chrome默认的搜索引擎
  5. web前端图片极限优化策略
  6. 为什么文件进行压缩后总是自带密码?
  7. 统计学习第二弹--描述性统计(理论公式)
  8. 遇到oracle错误12514,【ORACLE】提示ORA-12514错误处理
  9. css a标签去除下划线
  10. DataStage问题汇总