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

如何在Django中使用Paho mqtt客户端?,第1张

如何在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 mqttdef on_connect(client, userdata, rc):    client.subscribe("$SYS/#")def on_message(client, userdata, msg):    # Do something    passclient = mqtt.Client()client.on_connect = on_connectclient.on_message = on_messageclient.connect("iot.eclipse.org", 1883, 60)

不要

loop_forever()
在这里打电话!

然后在您的应用程序

__init__.py
调用中
loop_start()

from . import mqttmqtt.client.loop_start()

使用

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5654706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存