打印

mqtt连接 阿里云返回 error:2

[复制链接]
381|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaochy1126|  楼主 | 2021-3-22 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
返回值2:表示客户端标识符不正确,
返回值 -4:表示用户名或者密码错误。
1、先检查一下PubSubClient.h文件中定义的 MQTT_MAX_PACKET_SIZE的值, 最好要大于1024, MQTT_KEEPALIVE 大于60;
2、检查一下你的签名和接入参数的设置,可以参考文档 https://help.aliyun.com/document ... .650.3820619bBWPshh
管方也有建议

CONNECT指令中需包含Keep
Alive(保活时间)。保活心跳时间取值范围为30秒~1200秒。如果心跳时间不在此区间内,物联网平台会拒绝连接。建议取值300秒以上。如果网络不稳定,将心跳时间设置高一些。

在引入 这个库 #include <PubSubClient.h>的时候,它的默认配置是
MQTT_MAX_PACKET_SIZE 256
MQTT_KEEPALIVE 15
// MQTT_MAX_PACKET_SIZE : Maximum packet size. Override with setBufferSize().
#ifndef MQTT_MAX_PACKET_SIZE
#define MQTT_MAX_PACKET_SIZE 256
#endif

// MQTT_KEEPALIVE : keepAlive interval in Seconds. Override with setKeepAlive()
#ifndef MQTT_KEEPALIVE
#define MQTT_KEEPALIVE 15
#endif

把MQTT_KEEPALIVE值大于60 即可


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1061

主题

11320

帖子

26

粉丝