问题描述
python 使用 paho.mqtt.client 库连接MQTT服务器时一直返回 code: 5,账号、密码、服务器地址、端口号都没问题。最后检查发现是因为没有设置clientId的事,特此记录一下。
解决办法
为客户端添加一下Id即可。
# 因客户端id不能重复,所以选当前时间为唯一ID
client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
client = mqtt.Client(client_id)
总结
有些MQTT服务器需要设置clientId才可以连接(比如:ejabberd),有的MQTT服务器不设置clientId也可以连接(比如:emqx、iotdb)。