我正在开发一个python应用程序,应该可以接收mqtt消息。我使用的是paho-mqtt库。
在设置了用户名/密码和回调函数on_message之后,我订阅了该主题并建立了到代理的连接。然后启动loop_forever()。
下面是我的代码:
import paho.mqtt.client as mqtt
MQTT_TOPIC = "my_topic"
BROKER_ENDPOINT = "my_broker_url"
BROKER_PORT = my_port
BROKER_USERNAME = "my_username"
BROKER_PASSWORD = "my_password"
mqtt_client = mqtt.Client()
def on_message(client, userdata, message):
print("Message Recieved from broker: " + message.payload)
def main():
mqtt_client.username_pw_set(username=BROKER_USERNAME, password=BROKER_PASSWORD)
mqtt_client.on_message = on_message
mqtt_client.connect(BROKER_ENDPOINT, BROKER_PORT)
mqtt_client.subscribe(MQTT_TOPIC)
mqtt_client.loop_forever()
if __name__ == '__main__':
main()我使用mosquitto_pub命令测试这段代码:
mosquitto_pub -h my_broker_url -p my_port -u my_username -P my_password -t 'my_topic' -m "Hello World"
但是我看不到我的应用程序收到的任何消息。
我做错了什么?感谢你的帮助
发布于 2019-08-19 22:27:05
我终于找到了错误:
def on_message(client, userdata, message):
print("Message Recieved from broker: " + message.payload.decode()).decode()不见了
消息现在已正确接收
https://stackoverflow.com/questions/57555558
复制相似问题