概述
问题描述
使用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问题描述问题解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复