Как публиковать сообщения в mqtt из представлений [django]?
Я пытаюсь интегрировать paho.mqtt в django для публикации сообщений на брокер mosquitto, я искал, но не нашел много руководств о том, как я могу достичь этого.
Ну я попытался вставить этот код в mqtt.py:
from paho.mqtt import client as mqtt_client
topic = "#topic#"
def connect_mqtt() -> mqtt_client:
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect, return code %d\n", rc)
client = mqtt_client.Client(topic)
client.username_pw_set('#username#', '#psswd#')
client.on_connect = on_connect
client.connect('####the host##', 1883)
return client
def publish(client):
msg = 'test test'
result = client.publish(topic, msg)
def run():
client = connect_mqtt()
publish(client)
client.loop_forever()
и в init.py
from . import mqtt
client.loop_start()
и когда я вызываю run() на представлениях, он не работает, а runserver не кажется правильным способом сделать это.
Может кто-нибудь объяснить мне, как я должен структурировать свои файлы и систему, чтобы сделать это правильно.
Пожалуйста, любая помощь будет очень признательна.