From 55a217a1289670838b002428832ccdaf1a39cbf8 Mon Sep 17 00:00:00 2001 From: Ventilaar Date: Mon, 18 Jan 2021 15:47:23 +0100 Subject: [PATCH] heel wat dingen aangepast --- run.py | 52 ++++++++++++++++++++++++++++++++++------- templates/hardware.html | 1 - 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/run.py b/run.py index c7111b9..4438d47 100644 --- a/run.py +++ b/run.py @@ -1,13 +1,20 @@ import json -from flask import Flask, render_template, request +from flask import Flask, render_template, request, Response import ss import stats import steam_api +RPI = True # ZET NAAR TRUE ALS JE OP EEN RPI DRAAIT MET DE JUISTE LIBRARIES, ZODAT DE HARDWARE TAB WERKT + + +# if RPI: +# import hardware + + app = Flask(__name__) # flask app initialiseren state_schuifregister = 0 # deze 3 waardes slaan de status op van de hardware onderdelen -state_ledstrip = 0 +state_ledstrip = '000000' state_servo = 0 @@ -109,6 +116,8 @@ def app_appid(appid): @app.route('/api/afstandsensor') def api_afstandsensor(): """Dit pad geeft een json array met de key 'afstand' met waarde van de afstandsensor in cm """ + if not RPI: + return Response('Hardware kan niet aangestuurt worden omdat het niet op een RPI draait!', status=418) afstand = 0 return {'afstand': afstand} @@ -120,8 +129,13 @@ def api_schuifregister(): Door het opvragen van dit pad met de GET functie is het mogelijk om de status van het schuifregister uit te lezen. Door te POST'en naar dit pad met de waarde 'setstate' is het mogelijk om de status aan te passen. """ - state = 00000000 - return {'state': state} + if not RPI: + return Response('Hardware kan niet aangestuurt worden omdat het niet op een RPI draait!', status=418) + global state_schuifregister + if request.method == 'POST': + pass + else: + return {'state': state_schuifregister} @app.route('/api/servo', methods=['POST', 'GET']) @@ -130,13 +144,20 @@ def api_servo(): Door het opvragen van dit pad met de GET functie is het mogelijk om de status van de servo uit te lezen. Door te POST'en naar dit pad met de waarde 'setstate' is het mogelijk om de status aan te passen. """ - state = -90 - return {'state': state} + if not RPI: + return Response('Hardware kan niet aangestuurt worden omdat het niet op een RPI draait!', status=418) + global state_servo + if request.method == 'POST': + pass + else: + return {'state': state_servo} @app.route('/api/pushbutton') def api_pushbutton(): """Dit pad geeft de status van de pushbuttons af in True en False, de keys alsvolgd genoemd: button0, button1""" + if not RPI: + return Response('Hardware kan niet aangestuurt worden omdat het niet op een RPI draait!', status=418) button0 = False return {'button0': button0} @@ -148,8 +169,23 @@ def api_ledstrip_set(): Door het opvragen van dit pad met de GET functie is het mogelijk om de status van de ledstrip uit te lezen. Door te POST'en naar dit pad met de waarde 'setstate' is het mogelijk om de status aan te passen. """ - state = ((0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)) - return {'state': state} + if not RPI: + return Response('Hardware kan niet aangestuurt worden omdat het niet op een RPI draait!', status=418) + + global state_ledstrip + + if request.method == 'POST': + desired_state = request.form['setstate'] + + try: + hardware.set_strip(desired_state) + except: + return {'request': 'False'} + + state_ledstrip = desired_state + return {'request': 'True'} + else: + return {'state': state_ledstrip} if __name__ == "__main__": diff --git a/templates/hardware.html b/templates/hardware.html index 14167cd..1f3e20a 100644 --- a/templates/hardware.html +++ b/templates/hardware.html @@ -2,7 +2,6 @@ Hardware - {% include "t-navbar.html" %}