0

当我尝试运行屏幕下方的代码时,屏幕仍然为空白,并且不表示客户端已连接到代理。

#! /usr/bin/python
import paho.mqtt.client as mqtt

broker = "localhost"
#define what happens after connection
def on_connect(rc):
    print "Connection returned result: "+str(rc)
#On recipt of a message do action
def on_message(msg):
    n = msg.payload
    t = msg.topic
    print t+" "+str(n)
# create broker
mqttc = mqtt.Client()

#define callbacks
mqttc.on_message = on_message
mqttc.on_connect = on_connect

#connect
mqttc.connect(broker, 1883, 60)

#Subscribe to topic
mqttc.subscribe("/sensor/rfid", 2)

#keep connected
mqttc.loop_forever()

我可以验证代理是否正常运行,因为我能够运行

mosquitto_sub -t /sensor/rfid

并获取从我的 Android 手机上的 MyMQTT 应用程序发送的消息。我还忘了提到这一切都在安装了 mosquitto、mosquitto-clients 和 paho-mqtt 的树莓派上。

4

1 回答 1

1

尝试使用 Paho 网站上的官方示例;https://eclipse.org/paho/clients/python/或更多在这里;http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.python.git/tree/examples

看起来您在函数 on_connect() 中缺少一些参数

于 2014-12-12T04:52:38.763 回答