最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Django中使用MQTT的方法

 更新時間:2021年05月10日 12:00:45   作者:安心寫bug  
這篇文章主要介紹了在Django中使用MQTT的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

安裝MQTT

Python環(huán)境下安裝MQTT也很簡單,需要注意的就是不要輸錯命令
在Python3環(huán)境下安裝Python MQTT的命令是:

pip3 install paho-mqtt

使用Python MQTT

編寫Python MQTT腳本
代碼如下:

# 為了能在外部腳本中調(diào)用Django ORM模型,必須配置腳本環(huán)境變量,將腳本注冊到Django的環(huán)境變量中
import os, sys
import django
# 第一個參數(shù)固定,第二個參數(shù)是工程名稱.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)

    # 收到消息后執(zhí)行任務(wù)
    if msg.topic == 'test/newdata':
        print(out)

# mqtt客戶端啟動函數(shù)
def mqttfunction():
    global client
    # 使用loop_start 可以避免阻塞Django進程,使用loop_forever()可能會阻塞系統(tǒng)進程
    # client.loop_start()
    # client.loop_forever() 有掉線重連功能
    client.loop_forever(retry_first_connection=True)

client = mqtt.Client(client_id="test", clean_session=False)

# 啟動函數(shù)
def mqtt_run():
    client.on_connect = on_connect
    client.on_message = on_message
    # 綁定 MQTT 服務(wù)器地址
    broker = '192.168.1.88'
    # MQTT服務(wù)器的端口號
    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 中引入要執(zhí)行的腳本文件,然后執(zhí)行啟動函數(shù)即可。
如:

from 存放MQTT腳本的模塊 import 腳本名
# 假如腳本名是:mqtt_functions
mqtt_functions.mqtt_run()

到此這篇關(guān)于在Django中使用MQTT的方法的文章就介紹到這了,更多相關(guān)Django使用MQTT內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • python獲取全國城市pm2.5、臭氧等空氣質(zhì)量過程解析

    python獲取全國城市pm2.5、臭氧等空氣質(zhì)量過程解析

    這篇文章主要介紹了python獲取全國城市pm2.5、臭氧等空氣質(zhì)量過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Python使用matplotlib實現(xiàn)的圖像讀取、切割裁剪功能示例

    Python使用matplotlib實現(xiàn)的圖像讀取、切割裁剪功能示例

    這篇文章主要介紹了Python使用matplotlib實現(xiàn)的圖像讀取、切割裁剪功能,結(jié)合實例形式分析了Python基于matplotlib操作圖片的加載、讀取、坐標(biāo)控制及裁剪相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • pytorch實現(xiàn)梯度下降和反向傳播圖文詳細講解

    pytorch實現(xiàn)梯度下降和反向傳播圖文詳細講解

    這篇文章主要介紹了pytorch實現(xiàn)梯度下降和反向傳播,反向傳播的目的是計算成本函數(shù)C對網(wǎng)絡(luò)中任意w或b的偏導(dǎo)數(shù)。一旦我們有了這些偏導(dǎo)數(shù),我們將通過一些常數(shù)α的乘積和該數(shù)量相對于成本函數(shù)的偏導(dǎo)數(shù)來更新網(wǎng)絡(luò)中的權(quán)重和偏差
    2023-04-04
  • python中mechanize庫的簡單使用示例

    python中mechanize庫的簡單使用示例

    最近的項目中使用到了mechanize庫,下面寫個簡單使用的小例子給大家參考
    2014-01-01
  • Python中優(yōu)雅地處理JSON5文件的方法詳解

    Python中優(yōu)雅地處理JSON5文件的方法詳解

    JSON5 是 JSON 的一個超集,通過引入部分 ECMAScript 5.1 的特性來擴展 JSON 的語法,以減少 JSON 格式的某些限制,同時,保持兼容現(xiàn)有的 JSON 格式,本文給大家介紹了Python中如何優(yōu)雅地處理 JSON5 文件,需要的朋友可以參考下
    2024-04-04
  • Python中網(wǎng)絡(luò)請求的12種方式

    Python中網(wǎng)絡(luò)請求的12種方式

    今天,我們要用一行簡潔的Python代碼來揭開網(wǎng)絡(luò)請求的神秘面紗,別看這行代碼短小,它背后的魔法可強大了,能幫你輕松獲取網(wǎng)頁數(shù)據(jù)、實現(xiàn)API調(diào)用,甚至更多,無論你是想做數(shù)據(jù)分析、網(wǎng)站爬蟲還是簡單的信息查詢,這12種方式都是你的得力助手,需要的朋友可以參考下
    2024-07-07
  • 關(guān)于python并發(fā)編程中的協(xié)程

    關(guān)于python并發(fā)編程中的協(xié)程

    協(xié)程是一種輕量級的并發(fā)方式,它是在用戶空間中實現(xiàn)的,并不依賴于操作系統(tǒng)的調(diào)度,協(xié)程可以在同一個線程中實現(xiàn)并發(fā),不需要進行上下文切換,因此執(zhí)行效率非常高,需要的朋友可以參考下
    2023-04-04
  • http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長鏈接方式

    http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長鏈接方式

    這篇文章主要介紹了http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長鏈接方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python中print和return的作用及區(qū)別解析

    Python中print和return的作用及區(qū)別解析

    print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • Python之re模塊詳解

    Python之re模塊詳解

    這篇文章主要介紹了Python編程之Re模塊下的函數(shù)介紹,還是比較不錯的,這里分享給大家,供需要的朋友參考,希望能夠給你帶來幫助
    2021-09-09

最新評論

新晃| 秦皇岛市| 阿勒泰市| 嘉义市| 岳普湖县| 文登市| 清水河县| 佛山市| 鄂州市| 淄博市| 开远市| 桃江县| 济源市| 谷城县| 靖宇县| 勐海县| 海阳市| 多伦县| 南郑县| 玉树县| 彭州市| 安平县| 綦江县| 会昌县| 红原县| 河间市| 宜都市| 甘谷县| 通海县| 滨州市| 金湖县| 克拉玛依市| 福贡县| 当雄县| 雷波县| 剑河县| 定襄县| 佛教| 台北县| 镇沅| 专栏|