在Django中如何使用MQTT的方法

  介绍

这篇文章主要介绍了在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的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

在Django中如何使用MQTT的方法