Django中怎么使用MQTT方法
发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,这篇文章主要介绍了Django中怎么使用MQTT方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Django中怎么使用MQTT方法文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2024年09月27日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安全错误
数据库的锁怎样保障安全
公安厅的网络安全管理局
软件开发项目归档基本要求
企业密信服务器管理者有什么权限
学音悦网络技术有限公司
公路网络安全系统
还是网络技术
兴业数据库工程师招聘
管理主机和sip服务器区别
可视化数据库链接不上是为什么
歌尔光电软件开发工资待遇
java应用服务器业务代码
qt软件开发工具
九宫格日记软件开发
做软件开发要签保密协议吗
iis服务器在哪里
贵州管理软件开发
鼎隆网络技术公司
绿色数据库
直播软件开发哪个最好
软件开发工程师的职业生活
2010服务器无法启动
道通科技软件开发工程师笔试
洛阳吖呼网络技术有限公司
服你服务器
宁波优享汇互联网科技有限公司
上位机软件开发设计承包
先进网络安全风格
et网络安全
标准件3D数据库软件
实体类如何映射到数据库表