返回值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 即可
|