您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Django中使用Paho mqtt客户端?

如何在Django中使用Paho mqtt客户端?

如果您需要在Django的多个线程运行,那么发布您的Django应用程序的信息,您可以使用辅助功能从发布泛美卫生组织的模块-https://eclipse.org/paho/clients/python/docs/#id17 你不需要创建mqtt客户端的实例并在这种情况下启动循环。要订阅某些主题,请考虑将mqtt客户端作为独立脚本运行,并在其中导入Django应用程序所需的模块(不要忘记在脚本中设置Django环境)。

仅当您在单个线程中运行Django(在生产环境中并不常见)时,以下答案才是好的。

mqtt.py在您的应用程序文件夹中创建,并将所有相关代码放在此处。例如:

import paho.mqtt.client as mqtt

def on_connect(client, userdata, rc):
    client.subscribe("$SYS/#")

def on_message(client, userdata, msg):
    # Do something
    pass

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("iot.eclipse.org", 1883, 60)

然后在您的应用程序__init__.py调用loop_start()

from . import mqtt

mqtt.client.loop_start()

使用loop_start()代替loop_forever()将使您不会阻塞后台线程。

Go 2022/1/1 18:42:41 有383人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶