diff --git a/src/Python/flask/web/app.py b/src/Python/flask/web/app.py index 4864394..9b91158 100644 --- a/src/Python/flask/web/app.py +++ b/src/Python/flask/web/app.py @@ -1,18 +1,24 @@ -from flask import Flask, request, render_template, jsonify +from flask import Flask, Response, request, render_template, jsonify import paho.mqtt.client as mqtt app = Flask(__name__) def on_message(client, userdata, message): - global kobuki_message #set scope for this variable - kobuki_message = str(message.payload.decode("utf-8")) + global kobuki_message, latest_image + if message.topic == "kobuki/data": + kobuki_message = str(message.payload.decode("utf-8")) + elif message.topic == "kobuki/cam": + latest_image = message.payload + # Create an MQTT client instance mqtt_client = mqtt.Client() mqtt_client.username_pw_set("server", "serverwachtwoordofzo") -mqtt_client.connect("145.92.224.21/ws", 80, 60) +mqtt_client.connect("localhost", 1884, 60) mqtt_client.loop_start() mqtt_client.subscribe("kobuki/data") +mqtt_client.subscribe("kobuki/cam") + mqtt_client.on_message = on_message # this lines needs to be under the function definition otherwise it cant find which function it needs to use @app.route('/') @@ -43,6 +49,13 @@ def move(): def data(): return kobuki_message +@app.route('/image') +def image(): + global latest_image + if latest_image is not None: + return Response(latest_image, mimetype='image/jpeg') + else: + return "No image available", 404