esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...

2020-06-162.2万


问题摘要:     esp32连接阿里云失败,遇到一个难题,wifi能正常连接成功,就是void ConnectAliyun() 的mqtt连接不上。提示如图:

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图1

我的要求:

1.FireBeetle 萤火虫 ESP32微控制器 v4.0

2.WIfi能正常连接成功。

3.串口打印出来的信息是上图那种。

4.把myAliyun.client_id,myAliyun.username,myAliyun.password打印出来

步骤①写上阿里云的ProductKey

步骤2写上打印出来的myAliyun.client_idesp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图4

步骤③写上打印出来的myAliyun.username,myAliyun.password的值

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图2

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图3

5.如果mqtt.fx工具连接成功,设备还是报...rc=2..的话,往下看。

解决方法:

1.参数设置

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图6

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图5

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图7

2.在开发管理器种更新完成Firebeetle后,编译项目,会提示WiFi、pubsubclient、ArduinoJson。这时候把Arduino/libraries下面的WIFI库删了,用开发管理器中的版本即可解决问题。

删除Arduino\libraries中的 ,WiFi文件夹

保留你的电脑位置\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.9\libraries\WiFi  。  0.0.9是版本号,我的是0.0.9。

3.如果提示ArduinoJson 需要6.0以上版本,这时候保留Arduino\libraries这下面的,如果不行就删除那提示的位置下面的ArduinoJson。



============================================分割线===============================================

2020.6.18更新

昨晚我手痒,esp32正常运行的时候按了rst复位键,后面不管怎么重烧写程序,重复拔线,还是连不上阿里云。

还有是我的套餐快用完了,我把阿里云上面的设备状态设置禁用。

情况一:阿里云上设备设置为禁用状态也会连不上报rc=4。

esp32-萤火虫.连不上阿里云mqtt.rc=2 try again in 5 sec...图8

情况二:手贱按rst连不上,之后报rc=2。。。。。

我的解决办法,关掉IDE工具,打开SmartLight项目,开始编译出现pubsubclient、ArduinoJson多个库,按照删除一个原则,重新打开我的项目编译,烧写,结果ok了。

总结:只要遇到mqtt连不上的问题,那就是pubsubclient、ArduinoJson库的对应问题,多切换几个项目进行编译就会找出来了,删了重新编译即可。前提符合分割线上面的要求。


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
纯鹿人
纯鹿人
在吗,遇到了同样的问题,不知道怎么解决啊
硬件菜鸟
硬件菜鸟
作者
搞不明白的是,按了几下rst复位键会出现mqtt连不上的情况,我的esp32板子是2020.6.5号买的,刚生产出来的产品。有同样情况的可以交流。
硬件菜鸟
硬件菜鸟
作者
mqtt.fx工具地址:https://www.alibabacloud.com/help/zh/doc-detail/86706.htm
- 没有更多了 -