refector: mqtt优化

This commit is contained in:
caoqianming 2024-03-22 18:21:41 +08:00
parent 33dba0a30e
commit 4d524e3bf8
1 changed files with 4 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import paho.mqtt.client as mqtt
import logging import logging
import json import json
from django.conf import settings from django.conf import settings
import traceback
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, BASE_DIR) sys.path.insert(0, BASE_DIR)
@ -29,16 +30,16 @@ def on_message(mqttc: mqtt, userdata, msg):
payload = json.loads(msg.payload) payload = json.loads(msg.payload)
if topic == 'datachange_S_KIO_Project': if topic == 'datachange_S_KIO_Project':
print(payload) print(payload)
mqttc.publish('testtopic/#', 'ok') mqttc.publish('testtopic', 'ok')
def start_mqtt(): def start_mqtt():
if settings.MQTT_ENABLE: if settings.MQTT_ENABLED:
client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id=settings.BASE_PROJECT_CODE) client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id=settings.BASE_PROJECT_CODE)
client.on_connect = on_connect client.on_connect = on_connect
client.on_message = on_message client.on_message = on_message
# client.enable_logger(_logger) # client.enable_logger(_logger)
client.connect(host=settings.MQTT_HOST,port=settings.MQTT_PORT) client.connect(host=settings.MQTT_HOST,port=settings.MQTT_PORT)
client.loop_forever() client.loop_forever()
if __name__ == '__main__': if __name__ == '__main__':
start_mqtt() start_mqtt()