栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 接收MQTT间隔一段时间停止问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 接收MQTT间隔一段时间停止问题

试了很久,发现是sleep()函数问题。我不太清楚是什么问题,就是程序运行一段时间就停止了,也不会报错,有大佬知道是为什么的可以说一下么,谢谢了。下面是我实现的MQTT订阅消息代码。

import paho.mqtt.client as mqtt
from datetime import datetime
import json
import time
import pymysql as MySQLdb

MQTTHOST = "192.168.31.67"
MQTTPORT = 1883
mqttClient1 = mqtt.Client()



# 连接MQTT服务器
def on_mqtt_connect():
    mqttClient1.connect(MQTTHOST, MQTTPORT, 60)
    mqttClient1.loop_start()

# 消息处理函数
def on_message_come(lient, userdata, msg):

    #设置接收时间间隔
    # time.sleep(1);

    print(msg.topic + ":" + str(msg.payload.decode("gbk", errors='ignore'))) 
    s = json.loads(msg.payload.decode("utf-8", errors='ignore'));


# subscribe 消息订阅
def on_subscribe():
  mqttClient1.subscribe("EGC", 0) 
  mqttClient1.subscribe("EGO", 0)
  mqttClient1.on_message = on_message_come # 消息到来处理函数

def main():
    on_mqtt_connect()
    on_subscribe()
    while True:
        pass

if __name__ == '__main__':
     main()

由于这个传感器发送了很多的数据,我需要几分钟一个信息,所以就是用了sleep函数,当我使用sleep函数时,代码会自动停止,注释掉sleep后就没有这个问题。正在尝试多线程处理MQTT接收。

反馈:多线程完美解决问题

python MQTT多线程接收与数据上传MySQL_huidong_zhu的博客-CSDN博客承接上篇博客null试了很久,发现是sleep()函数问题。我不太清楚是什么问题,就是程序运行一段时间就停止了,也不会报错,有大佬知道是为什么的可以说一下么,谢谢了。下面是我实现的MQTT订阅消息代码。import paho.mqtt.client as mqttfrom datetime import datetimeimport jsonimport timeimport pymysql as MySQLdbMQTTHOST = "192.168.31.67"MQTTPORT = 1883mqttClhhttps://blog.csdn.net/huidong_zhu/article/details/121305262

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号