feat: 添加mqtt脚本并增加require
This commit is contained in:
parent
06bd6a7544
commit
370ae64299
|
@ -0,0 +1,44 @@
|
|||
import os
|
||||
import sys
|
||||
import django
|
||||
import paho.mqtt.client as mqtt
|
||||
import logging
|
||||
import json
|
||||
from django.conf import settings
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
sys.path.insert(0, BASE_DIR)
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings')
|
||||
django.setup()
|
||||
|
||||
_logger = logging.getLogger('log')
|
||||
|
||||
def on_connect(mqttc, userdata, flags, rc, properties):
|
||||
if rc == 0:
|
||||
_logger.info('Mqtt Connected successfully')
|
||||
if settings.KING_ENABLED: # 订阅亚控的mqtt转发
|
||||
mqttc.subscribe('datachange_S_KIO_Project') # 订阅主题
|
||||
_logger.info('订阅亚控主题成功')
|
||||
else:
|
||||
_logger.error('Mqtt Bad connection. Code:', rc)
|
||||
|
||||
def on_message(mqttc: mqtt, userdata, msg):
|
||||
print(f'Received message on topic: {msg.topic} with payload: {msg.payload}')
|
||||
topic = msg.topic
|
||||
payload = json.loads(msg.payload)
|
||||
if topic == 'datachange_S_KIO_Project':
|
||||
print(payload)
|
||||
mqttc.publish('testtopic/#', 'ok')
|
||||
|
||||
def start_mqtt():
|
||||
if settings.MQTT_ENABLE:
|
||||
client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id=settings.BASE_PROJECT_CODE)
|
||||
client.on_connect = on_connect
|
||||
client.on_message = on_message
|
||||
# client.enable_logger(_logger)
|
||||
client.connect(host=settings.MQTT_HOST,port=settings.MQTT_PORT)
|
||||
client.loop_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
start_mqtt()
|
|
@ -32,4 +32,5 @@ cron-descriptor==1.2.35
|
|||
pymysql==1.0.3
|
||||
# face-recognition==1.3.0
|
||||
docxtpl==0.16.7
|
||||
paho-mqtt==2.0.0
|
||||
# deepface==0.0.79
|
||||
|
|
Loading…
Reference in New Issue