Django中怎么使用MQTT方法
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍了Django中怎么使用MQTT方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Django中怎么使用MQTT方法文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2024年11月26日Django中怎么使用MQTT方法安装MQTT
使用Python MQTT
在Django项目中启动脚本
这篇文章主要介绍了Django中怎么使用MQTT方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Django中怎么使用MQTT方法文章都会有所收获,下面我们一起来看看吧。
MQTT是消息队列遥测传输的缩写,是一种基于发布/订阅范式的消息协议,它广泛地应用在各种性能低下的网络设备或者网络情况糟糕情况下的消息传输。在Django上安装M
安装MQTT
Python环境下安装MQTT也很简单,需要注意的就是不要输错命令
在Python3环境下安装Python MQTT的命令是:
pip3 install paho-mqtt
使用Python MQTT
编写Python MQTT脚本
代码如下:
# 为了能在外部脚本中调用Django ORM模型,必须配置脚本环境变量,将脚本注册到Django的环境变量中import os, sysimport django# 第一个参数固定,第二个参数是工程名称.settingsos.environ.setdefault('DJANGO_SETTING_MODULE', 'my_django.settings')django.setup()# 引入mqtt包import paho.mqtt.client as mqtt# 使用独立线程运行from threading import Threadfrom app名 import modelsimport timeimport json# 建立mqtt连接def on_connect(client, userdata, flag, rc): print("Connect with the result code " + str(rc)) client.subscribe('test/#', qos=2)# 接收、处理mqtt消息def on_message(client, userdata, msg): out = str(msg.payload.decode('utf-8')) print(msg.topic) print(out) out = json.loads(out) # 收到消息后执行任务 if msg.topic == 'test/newdata': print(out)# mqtt客户端启动函数def mqttfunction(): global client # 使用loop_start 可以避免阻塞Django进程,使用loop_forever()可能会阻塞系统进程 # client.loop_start() # client.loop_forever() 有掉线重连功能 client.loop_forever(retry_first_connection=True)client = mqtt.Client(client_id="test", clean_session=False)# 启动函数def mqtt_run(): client.on_connect = on_connect client.on_message = on_message # 绑定 MQTT 服务器地址 broker = '192.168.1.88' # MQTT服务器的端口号 client.connect(broker, 1883, 62) client.username_pw_set('user', 'user') client.reconnect_delay_set(min_delay=1, max_delay=2000) # 启动 mqttthread = Thread(target=mqttfunction) mqttthread.start()# 启动 MQTT# mqtt_run()if __name__ == "__main__": mqtt_run()
在Django项目中启动脚本
在Django2.1下,只需要在 wsgi.py 中引入要执行的脚本文件,然后执行启动函数即可。
如:
from 存放MQTT脚本的模块 import 脚本名# 假如脚本名是:mqtt_functionsmqtt_functions.mqtt_run()
关于"Django中怎么使用MQTT方法"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Django中怎么使用MQTT方法"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
脚本
消息
方法
环境
函数
知识
内容
参数
变量
命令
情况
服务器
篇文章
网络
进程
传输
服务
阻塞
低下
糟糕
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
两个数据库连接卡顿
徐州市城管局网络安全招标
交换式网络技术简介
数据库备份的主要方式有哪三种
mysql数据库监控指标
徐州软件开发答疑解惑
上海新型网络技术出厂价格
网络安全电脑简笔画
应急管理局网络安全宣传方案
注意网络安全的手抄报资料
中华文化绘画软件开发
新站区采购管理软件开发公司
软件开发合同最新
计算机网络技术未来的前景
网络技术的加密
游戏软件开发项目技术方案
网络安全板块股票代号
管理服务器是啥
互联网下的金融科技有限公司
女生学什么网络技术好
软件开发专利申请
腾讯的数据库公司
ldap数据库怎么查
网络安全巡查意见
软件开发30
广东省网络安全总队
服务器搭建打不开
网络安全知识例题
第六届首都网络安全日
北京通州软件开发单位