如何配置paho mqtt订阅以获得每秒1000条消息的高速数据



我正在使用pythonpaho mqtt客户端订阅mqtt代理以获取数据,并且我正在使用pubsubclient.h通过ESP32发布数据。

数据频率是每秒1000条消息。为了测试,我发布了100000条消息,并使用python-paho-mqt订阅和收集数据。我测试了好几次,但在100000条消息中,我收到了22000-30000条消息。

这是我用来订阅经纪人的代码:

import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to broker")
client.subscribe("pub_test",2) 
else:
print("Connection failed")
def on_message(client, userdata, message):
print (message.payload)

def updateMqtt():
client = mqtt.Client(client_id="Sathish", clean_session=False, userdata=None, transport="tcp")
#client = mqtt.Client()
client.on_connect= on_connect
print("after on connect")#attach function to callback
client.on_message= on_message
print("after on message")#attach function to callback    
client.connect("192.168.3.101", port=1883)
client.loop_forever()
# client.loop_start()

updateMqtt() 

由于您订阅的是QOS2,所以不会丢失broker和此代码之间的消息,因为PubSubClient只支持QOS0 ,所以丢失的消息更有可能在ESP32和broker之间

最新更新