PubSubClient.h库有一个坑点会导致MQTT connect failed, error code:2

如果你没有动过这个库还莫名还其妙报错,这时候就需要检查一下PubSubClient.h文件中定义的 MQTT_MAX_PACKET_SIZE的值,最低是1024, MQTT_KEEPALIVE 要大于60

修改后(注意加断点的两个位置)
Arduino环境下MQTT链接华为云-OpenHarmony技术社区

如何找到PubSubClient.h库文件所在位置?

首先打开Arduino IDE的首选项,在资源管理器中打开项目文件夹对应位置
Arduino环境下MQTT链接华为云-OpenHarmony技术社区

进入libraries文件夹寻找即可
Arduino环境下MQTT链接华为云-OpenHarmony技术社区