mqtt连接 阿里云返回 error:2

[复制链接]
631|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>的时候,它的默认配置是
  1. MQTT_MAX_PACKET_SIZE 256
  2. MQTT_KEEPALIVE 15
  1. // MQTT_MAX_PACKET_SIZE : Maximum packet size. Override with setBufferSize().
  2. #ifndef MQTT_MAX_PACKET_SIZE
  3. #define MQTT_MAX_PACKET_SIZE 256
  4. #endif

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

把MQTT_KEEPALIVE值大于60 即可


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1205

主题

11937

帖子

26

粉丝
快速回复 在线客服 返回列表 返回顶部