为什么我无法从 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 代理。 之后,我收到并发布了消息。