university-final-iot-backend/app/mod_devices/mqtt_client.py

44 lines
1022 B
Python
Raw Normal View History

from datetime import datetime
2018-04-27 09:15:44 +00:00
from flask_mqtt import Mqtt
from .models import Recording
from . import db
2018-04-27 09:15:44 +00:00
mqtt = Mqtt()
# Mqtt setup
def setup_mqtt(app):
mqtt.init_app(app)
mqtt.client.on_message = handle_mqtt_message
mqtt.client.on_subscribe = handle_subscribe
print('MQTT client initialized')
def tear_down_mqtt():
mqtt.unsubscribe_all()
if hasattr(mqtt, 'client') and mqtt.client is not None:
mqtt.client.disconnect()
print('MQTT client destroyed')
@mqtt.on_connect()
def handle_connect(client, userdata, flags, rc):
print('MQTT client connected')
mqtt.subscribe('topic/state')
@mqtt.on_disconnect()
def handle_disconnect():
print('MQTT client disconnected')
def handle_subscribe(client, userdata, mid, granted_qos):
print('MQTT client subscribed')
def handle_mqtt_message(client, userdata, message):
recording = Recording(1, 1, "315", datetime.utcnow(), "{}")
db.session.add(recording)
db.session.commit()
2018-04-27 09:15:44 +00:00
print(message.payload.decode())