Как передать значение между Django и MQTT

У меня есть django graph, который будет отображать некоторое случайное значение. Я подписался на тему mqtt и интегрировал в мое django приложение. Но проблема в том, как я могу прочитать msg.payload в моем views.py? Я хочу, чтобы мой график показывал значение, опубликованное из MQTT. Для справки, я создал py файл для хранения моего MQTT соединения и зациклил его в моем init.py.

Views.py

from django.shortcuts import render
import random
from paho.mqtt import client as mqtt_client

def showdata(request):
    context = '''Here is where i need to put the (MQTT VALUE: msg.payload )'''
    return render(request, 'index.html', {'data': context})

MQTT.py

import paho.mqtt.client as mqtt

global test

# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))

    # Subscribing in on_connect() means that if we lose the connection and
    # reconnect then subscriptions will be renewed.
    client.subscribe("Wind")

# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.payload))
    test = msg.payload

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("localhost", 1883, 60)

Init .py

from . import mqtt

mqtt.client.loop_start()
Вернуться на верх