我是靠谱客的博主 霸气草丛,最近开发中收集的这篇文章主要介绍连接阿里云失败MQTT connect failed, error code:2问题描述问题解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述

使用ESP8266 Node MCU Arduino模式烧写程序,串口调试报错

MQTT connect failed, error code:2

问题解决

我查阅了很多资料,大家可以参考一下这一个讨论

解决方案

我查阅了<PubSubClient.h>文件

// MQTT_MAX_TRANSFER_SIZE : limit how much data is passed to the network client
//  in each write call. Needed for the Arduino Wifi Shield. Leave undefined to
//  pass the entire MQTT packet in each write call.
//#define MQTT_MAX_TRANSFER_SIZE 80

// Possible values for client.state()
#define MQTT_CONNECTION_TIMEOUT     -4
#define MQTT_CONNECTION_LOST        -3
#define MQTT_CONNECT_FAILED         -2
#define MQTT_DISCONNECTED           -1
#define MQTT_CONNECTED               0
#define MQTT_CONNECT_BAD_PROTOCOL    1
#define MQTT_CONNECT_BAD_CLIENT_ID   2
#define MQTT_CONNECT_UNAVAILABLE     3
#define MQTT_CONNECT_BAD_CREDENTIALS 4
#define MQTT_CONNECT_UNAUTHORIZED    5

然后映射到MQTT_CONNECT_BAD_CLIENT_ID 这个问题
参考

我昨天下午已经联系了阿里的工程师,最后解决了。
mqtt的密码错误这个坑我已经在第一轮就踩过了,的确解释的不清楚,已经反馈了阿里。
那边工程师给出的答复是:
工程师 97851 号 : 你好, 返回值2表示客户端标识符不正确, -4表示用户名或者密码错误。 请做以下检查:
1、先检查一下PubSubClient.h文件中定义的 MQTT_MAX_PACKET_SIZE的值, 最好要大于1024, MQTT_KEEPALIVE 大于60;
2、检查一下你的签名和接入参数的设置,可以参考文档 https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.6.650.3820619bBWPshh 。
我仔细检查了一遍才发现我的c盘还有一个PubSubClient.h文件,这个文件没有改…我只修改了arduino盘下的文件。结果导致一遍遍的被阿里服务器拒绝…真是服了…
谢谢你的答复,咱们替其他同学先踩踩坑吧~
摘自jpolo的回答

修改库文件<PubSubClient.h>的内容
在这里插入图片描述
之后就成功了!
MQTT connect succeed!

最后

以上就是霸气草丛为你收集整理的连接阿里云失败MQTT connect failed, error code:2问题描述问题解决的全部内容,希望文章能够帮你解决连接阿里云失败MQTT connect failed, error code:2问题描述问题解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部