介绍安装MQTT
使用Python MQTT
在Django项目中启动脚本
这篇文章主要介绍了在Django中如何使用MQTT的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
安装MQTT
Python环境下安装MQTT也很简单,需要注意的就是不要输错命令
在Python3环境下安装Python MQTT的命令是:
pip3 install paho-mqtt
使用Python MQTT
编写Python MQTT脚本
代码如下:
#,为了能在外部脚本中调用Django ORM模型,必须配置脚本环境变量,将脚本注册到Django的环境变量中 import 操作系统,系统 django import #,第一个参数固定,第二个参数是工程名称.settings os.environ.setdefault (& # 39; DJANGO_SETTING_MODULE& # 39;,, & # 39; my_django.settings& # 39;) django.setup () #,引入mqtt包 import paho.mqtt.client  as mqtt #,使用独立线程运行 得到threading import 线程 得到应用程序名,import 模型 import 时间 import json #,建立mqtt连接 def on_connect(客户端,用户数据,,国旗,rc): ,,,print (“Connect  with 从而result code “, +, str (rc)) ,,,client.subscribe(& # 39;测试/# & # 39;,,qos=2) #,接收,处理mqtt消息 def on_message(客户端,用户数据,,msg): ,,,out =, str (msg.payload.decode (& # 39; utf - 8 # 39;)) ,,,印刷(msg.topic) ,,,print () ,,,out =, json.loads(出) ,,,#,收到消息后执行任务 ,,,if msg.topic ==, & # 39;测试/newdata& # 39;: ,,,,,,,印刷(出) #,mqtt客户端启动函数 def mqttfunction (): ,,,global 客户端 ,,,#,使用loop_start 可以避免阻Django塞进程,使用loop_forever()可能会阻塞系统进程 ,,,#,client.loop_start () ,,,#,client.loop_forever(),有掉线重连功能 ,,,client.loop_forever (retry_first_connection=True) 时间=client mqtt.Client (client_id=皌est",, clean_session=False) #,启动函数 def mqtt_run (): ,,,client.on_connect =on_connect ,,,client.on_message =on_message ,,,#,绑定,MQTT 服务器地址 ,,,broker =, & # 39; 192.168.1.88& # 39; ,,,#,MQTT服务器的端口号 ,,,client.connect(代理,,1883,,62) ,,,client.username_pw_set(& # 39;用户# 39;,,& # 39;用户# 39;) ,,,client.reconnect_delay_set (min_delay=1, max_delay=2000) ,,,#,启动 ,,,mqttthread =,线程(目标=mqttfunction) ,,,mqttthread.start () #,启动MQTT #,mqtt_run () if __name__ ==,“__main__": ,,,mqtt_run ()
在Django项目中启动脚本
在Django2.1下,只需要在wsgi。py中引入要执行的脚本文件,然后执行启动函数即可。
如:
得到存放MQTT脚本的模块,import 脚本名 #,假如脚本名是:mqtt_functions mqtt_functions.mqtt_run ()
感谢你能够认真阅读完这篇文章,希望小编分享的“在Django中如何使用MQTT的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!