如何排查Paho Python Mqtt单次发布的挂起问题
我正在寻找解决在本地mosquitto安装(在树莓派上)发布问题的方法。
我发现mosquitto_sub和_pub的命令运行得还不错,mqtt-os-status也可以正常工作。
我用pip安装了paho-mqtt,现在我在尝试以下代码:
import paho.mqtt.publish as publish
publish.single("paho/test/single", "boo-localhost", hostname="localhost")
但是Python命令行没有任何反应……我上次尝试已经过了几分钟,我就等着看看会不会出现错误信息。
有没有人能给我一些建议,从哪里开始排查问题?或者有没有人遇到过类似的情况?
Matt
2 个回答
3
你可以试试这个:
import paho.mqtt.publish as publish
import paho.mqtt.client as mqtt
publish.single("paho/test/single", "boo-localhost", hostname="localhost", protocol=mqtt.MQTTv31)
有可能你的代理服务器不支持MQTTv3.1.1,而它处理这个未知协议的方式对Paho库来说不太友好。
1
如果你刚刚从'Raspbian软件库'安装了mosquitto,我建议你去'Mosquitto Debian软件库'安装最新版本。
如果你需要帮助安装,可以参考这里的好指南。