试图从树莓派发布一些数据,但是没有任何结果。但是,通过MQTT.fx发布可以正常工作。这是我的python脚本:
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
publish.single("example_topic", payload="example message", qos=0, retain=False,\
hostname="example.com",port=8883, client_id="random_number", \
keepalive=60, will=None,auth = {'username':"example_username",\
'password':"example_password"}, tls=None, protocol=mqtt.MQTTv311, transport="tcp")
要知道,这可能很重要:在MQTT.fx中,如果不导航到“ SSL / TLS”,在“启用SSL / TLS”旁边打叉,然后在“ CA”旁边打叉,就无法连接。签名的服务器证书”。
有人可以告诉我我在做什么错吗? :)
答案 0 :(得分:1)
您似乎在这里混淆了不同的事物。 publish.single
不需要任何mqtt.Client()
东西。它旨在在单个函数调用中实现所有功能。
publish.single()
包含所有选项。文档是here
import paho.mqtt.publish as publish
publish.single(topic, payload=None, qos=0, retain=False, hostname="localhost",
port=1883, client_id="", keepalive=60, will=None,
auth={username:"user", password:"pass"}, tls=None,
protocol=mqtt.MQTTv311, transport="tcp")