返回顶部
首页 > 资讯 > 后端开发 > Python >在Django中使用MQTT的方法
  • 778
分享到

在Django中使用MQTT的方法

2024-04-02 19:04:59 778人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

安装MQTT python环境下安装MQtT也很简单,需要注意的就是不要输错命令 在python3环境下安装Python MQTT的命令是: pip3 install pah

安装MQTT

python环境下安装MQtT也很简单,需要注意的就是不要输错命令
python3环境下安装Python MQTT的命令是:


pip3 install paho-mqtt

使用Python MQTT

编写Python MQTT脚本
代码如下:


# 为了能在外部脚本中调用Django ORM模型,必须配置脚本环境变量,将脚本注册到DjanGo的环境变量中
import os, sys
import django
# 第一个参数固定,第二个参数是工程名称.settings
os.environ.setdefault('DJANGO_SETTING_MODULE', 'my_django.settings')
django.setup()

# 引入mqtt包
import paho.mqtt.client as mqtt
# 使用独立线程运行
from threading import Thread
from app名 import models
import time
import 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_functions
mqtt_functions.mqtt_run()

到此这篇关于在Django中使用MQTT的方法的文章就介绍到这了,更多相关Django使用MQTT内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 在Django中使用MQTT的方法

本文链接: https://lsjlt.com/news/125537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Django中使用MQTT的方法
    安装MQTT Python环境下安装MQTT也很简单,需要注意的就是不要输错命令 在Python3环境下安装Python MQTT的命令是: pip3 install pah...
    99+
    2024-04-02
  • 在Django中如何使用MQTT的方法
    这篇文章主要介绍了在Django中如何使用MQTT的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装MQTTPython环境下安装MQTT也很简单,需要注意的就是不要输...
    99+
    2023-06-15
  • JS 连接MQTT的使用方法
    目录本文章是介绍 mqtt.js 的使用方法一、说明二、安装三、使用四、测试五、测试结果PS:关于mqtt.js报错 n.createConnection is not a func...
    99+
    2023-01-28
    MQTT使用方法 JS 连接MQTT
  • 如何在 Java 中使用 MQTT
    MQTT 是一种基于发布/订阅模式的 轻量级物联网消息传输协议 ,可在严重受限的硬件设备和低带宽、高延迟的网络上实现稳定传输。它凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。...
    99+
    2023-09-04
    java 物联网 iot MQTT 客户端
  • 如何在Spring Boot中使用MQTT
    目录为什么选择MQTT MQTT, 启动! 使用方式 Client模式 创建工厂类 创建工具类 Spring Integration 总结 为什么选择MQTT MQTT的定义相信很...
    99+
    2024-04-02
  • 怎么在Spring Boot中使用MQTT
    这篇文章给大家分享的是有关怎么在Spring Boot中使用MQTT的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么选择MQTTMQTT的定义相信很多人都能讲的头头是道,本文章也不讨论什么高大上的东西,旨在用...
    99+
    2023-06-14
  • redis中django-redis的使用方法
    本篇文章主要探讨redis中django-redis的使用方法。有一定的参考价值,有需要的朋友可以参考一下,跟随小编一起来看使用方法吧。自定义连接池这种方式跟普通py文件操作redis一样,代码如下view...
    99+
    2024-04-02
  • Django 中使用日志的方法
    目录1. 日志的意义2. django 中如何处理日志3. Python 中使用日志3.1 直接输出日志信息3.2 设置日志级别3.3 保存日志到文件3.4 设置编码3.5 覆盖日志...
    99+
    2024-04-02
  • 如何在uniapp项目中使用mqtt
    目录一、uniapp插件市场的参考插件二、具体引入过程1.安装mqtt和uuid2.页面引入mqtt并调用3.运行结果由于要取一些实时数据并在手机app上展示,就想到用mqtt进行即...
    99+
    2024-04-02
  • 怎么在uniapp项目中使用mqtt
    这篇文章将为大家详细讲解有关怎么在uniapp项目中使用mqtt,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、uniapp插件市场的参考插件  https://ext.dcloud.net.cn/pl...
    99+
    2023-06-15
  • Django的get_absolute_url方法的使用
    目录一、创建模型二、设计urls三、编写视图四、HTML模板五、使用get_absolute_url方法六、总结思考本文主要的目的是通过一个简单的例子,展示`get_absolute...
    99+
    2024-04-02
  • 在Django中使用ElasticSearch
    目录什么是Elasticsearch?Elasticsearch的用途是什么?Elasticsearch-一些基本概念在Django中使用Elasticsearchmodels.py...
    99+
    2024-04-02
  • 怎么使用Spring integration在Springboot中集成Mqtt
    今天小编给大家分享一下怎么使用Spring integration在Springboot中集成Mqtt的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有...
    99+
    2023-07-05
  • 详解Django中 render() 函数的使用方法
    render() 函数 在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细...
    99+
    2024-04-02
  • python Django模板的使用方法
    模板是一个文本,用于分离文档的表现形式和内容。 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签)。 模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档。...
    99+
    2022-06-04
    使用方法 模板 python
  • django使用crontab定时的方法
    小编给大家分享一下django使用crontab定时的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当进行django开发时,通常会做一些特殊的定时任务,如定...
    99+
    2023-06-14
  • Django分页器的使用方法
    这篇文章主要介绍了Django分页器的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Django是一个大而全的框架。需要明确的是,传参进行分页获取分页后的数据,一般都...
    99+
    2023-06-15
  • django redis的使用方法详解
    目录1.说明2.安装3.配置3.1 配置Redis3.2 使用redis存储session3.3 redis连接超时时间设置4.使用redis4.1 使用默认redis4.2 使用指定redis(原生redis)5.连接...
    99+
    2023-04-14
    django redis使用 django redis
  • GraphQL在Django中的使用教程
    简介 特点 请求你所要的数据,不多不少获取多个资源,只用一个请求描述所有的可能,类型系统几乎所有语言支持 文档 Graphene-Python GraphQL | A query ...
    99+
    2022-12-26
    GraphQL在Django中的使用 GraphQL Django使用
  • 在.NET7中使用MQTTnet简单实现MQTT通信
    一、MQTT简介 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,主要用于物联网设备间的通信。MQTT协议采用客户端/服务器架构,支持发布...
    99+
    2023-09-11
    .net 服务器 网络
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作