首页 > 解决方案 > 接收时的 MQTT 消息计数器

问题描述

我尝试搜索与我的问题相关的主题,我认为这是一个很常见的问题。我想计算在“on_message”上收到消息的次数。全局或局部计数变量不起作用,如何继续计数收到的消息?

这是我的代码片段,我的计数不起作用,因为它每次都会重置。

定义

def on_message(client, userdata, message):
    ts_data = str(message.payload.decode("utf-8"))
    count=count+1
    print(count)

if __name__ == '__main__':
    client = mqtt.Client()
    client.on_message=on_message

你能帮忙吗?

谢谢亲切的问候阿伦

标签: pythonmqttpaho

解决方案


我不确定您所说的以下内容是什么意思:

全局或局部计数变量不起作用,

以下应该可以正常工作:

count = 0

def on_message(client, userdata, message):
    global count
    ts_data = str(message.payload.decode("utf-8"))
    count=count+1
    print(count)

if __name__ == '__main__':
    client = mqtt.Client()
    client.on_message=on_message

推荐阅读