为什么我无法从 python 脚本获取 mqtt 消息并且无法从 Node Red 接收 mqtt 消息?
Why i cant get mqtt messages from pythonscript and cant recieve mqtt messages from Node Red?
我无法从 Node Red 上的 pythonscript 获取 mqtt 消息,也无法从 Node Red 接收 mqtt 消息。
这是我的代码:
import time
import sys
sys.path.append('C:\Users\user\Python\pyproj\project1\Lib\site-packages\paho_mqtt-1.6.1-py3.10.egg')
import paho.mqtt.client as mqtt
userdata = "Leer"
client_name = "Pythonscript"
broker_address="000.000.000.000"
port = 1234
topic = "a topic"
subtopic = "fromNodeRed"
def on_log(client, userdata, level, buf):
print(" client: ",client)
print(" userdata: ",userdata)
print(" level: ",level)
print(" buf: ",buf)
def on_connect(client, userdate, flags, rc):#, message):
if rc==0:
print("connected OK ")
print("Subscribing to topic ",subtopic)#topic)
client.subscribe(subtopic)
else:
print("Bad Connection Returned code=",rc)
def on_message(client,userdate,msg):
topic=msg.topic
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("message recieved",m_decode)
print("Publishing message to topic ",topic)
client.publish(topic, "python mqqt message")
def on_disconnect(client, userdate, flags, rc=0):
print("Disconnected result code "+str(rc))
print("creating new instance ",client_name)
client =mqtt.Client(client_name)
client.on_connect=on_connect
client.on_disconnect=on_disconnect
client.on_log=on_log
client.on_message=on_message
print("connecting to broker ",broker_address+" :"+str(port))
client.connect(broker_address,port,60)
client.loop_start()
print("Publishing message to topic ",topic)
client.publish(topic, "python mqqt message")
time.sleep(4)
client.loop_stop()
client.disconnect()
我更改了一些数据以进行保护。
控制台输出如下:
我检查了主题、IP、端口。一切似乎都还好。
我想念什么?
我使用了 Node Red 的端口号而不是 mqtt 代理。
之后,我收到并发布了消息。
我无法从 Node Red 上的 pythonscript 获取 mqtt 消息,也无法从 Node Red 接收 mqtt 消息。
这是我的代码:
import time
import sys
sys.path.append('C:\Users\user\Python\pyproj\project1\Lib\site-packages\paho_mqtt-1.6.1-py3.10.egg')
import paho.mqtt.client as mqtt
userdata = "Leer"
client_name = "Pythonscript"
broker_address="000.000.000.000"
port = 1234
topic = "a topic"
subtopic = "fromNodeRed"
def on_log(client, userdata, level, buf):
print(" client: ",client)
print(" userdata: ",userdata)
print(" level: ",level)
print(" buf: ",buf)
def on_connect(client, userdate, flags, rc):#, message):
if rc==0:
print("connected OK ")
print("Subscribing to topic ",subtopic)#topic)
client.subscribe(subtopic)
else:
print("Bad Connection Returned code=",rc)
def on_message(client,userdate,msg):
topic=msg.topic
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("message recieved",m_decode)
print("Publishing message to topic ",topic)
client.publish(topic, "python mqqt message")
def on_disconnect(client, userdate, flags, rc=0):
print("Disconnected result code "+str(rc))
print("creating new instance ",client_name)
client =mqtt.Client(client_name)
client.on_connect=on_connect
client.on_disconnect=on_disconnect
client.on_log=on_log
client.on_message=on_message
print("connecting to broker ",broker_address+" :"+str(port))
client.connect(broker_address,port,60)
client.loop_start()
print("Publishing message to topic ",topic)
client.publish(topic, "python mqqt message")
time.sleep(4)
client.loop_stop()
client.disconnect()
我更改了一些数据以进行保护。
控制台输出如下:
我检查了主题、IP、端口。一切似乎都还好。
我想念什么?
我使用了 Node Red 的端口号而不是 mqtt 代理。 之后,我收到并发布了消息。