python - 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
解决方案
推荐阅读
- go - 如何在我的主包中导入本地文件
- javascript - jQuery Datepicker setDate - 在 Datepicker 2 中查找下一个工作日
- php - 自定义中间件无法阻止被禁止的用户
- javascript - React js 不认识我的 map 方法
- javascript - 使用没有类组件的构造函数(道具)
- keras - 在 SageMaker 管理的 AWS ml.p2.xlarge 实例上,Keras/Tensorflow 未检测到 GPU
- vue.js - 变量在父级中更改但在子级 VueJ 中未更改
- javascript - 我不能在 node.js 中使用 router.post 方法
- html - 将导航栏定位在标题图像下方
- r - 设置 RMySQL 的全局选项以在 R 中与 sqldf 一起使用