首页 > 解决方案 > Paho 订阅者 on_message 没有打印出收到的消息

问题描述

我使用 mosquitto 作为代理,它可以正常工作,发布者也可以。不幸的是 on_message 函数没有打印出接收到的数据,我完全不知道为什么。

import paho.mqtt.client as mqtt 
import psycopg2 as psy
import numpy as np

mqtt_hostname = "192.168.15.26" #IP adress of broker
mqtt_client = mqtt.Client()
mqtt_topic = "testmabi"
mqtt_port = "1883"
mqtt_port = int(mqtt_port)

Keep_Alive_Interval = 120 
granted_qos = 2

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe(mqtt_topic)
    print("on_subscribe succeeded")

def on_message(client, userdata, msg):
    print("MQTT Data Received...")
    print(msg.topic+" "+str(msg.payload))   
    Data_Handler(msg.topic, msg.payload)

def on_subscribe(client, userdata, mid, granted_qos): 
    pass

mqttc = mqtt.Client()

# Assign event callbacks
mqttc.on_connect = on_connect
print("on_connect succeeded")
mqttc.on_message = on_message
print("on_message succeeded")

mqttc.connect(mqtt_hostname, int(mqtt_port), int(Keep_Alive_Interval))

# Continue the network loop
mqttc.loop_forever()

我的输出:

on_connect succeeded
on_message succeeded
Connected with result code 0
on_subscribe succeeded

标签: pythonmqttmosquittopaho

解决方案


推荐阅读