From f5cb01c06d825c813bbbbd6dde76bf52855d5c10 Mon Sep 17 00:00:00 2001 From: Marco Locatelli Date: Thu, 25 Mar 2021 13:04:04 +0100 Subject: [PATCH] gestione valori scalatura --- logger/FlythisLogger.py | 26 +++++++--- server/FlythisServer.py | 83 ++++++++++++++------------------ server/templates/about.html | 22 +++++++++ server/templates/home.html | 20 ++++++++ server/templates/layout.html | 88 ++++++++++------------------------ server/templates/logger.html | 42 ++++++++++++++-- server/templates/settings.html | 68 ++++++++++++++++++-------- 7 files changed, 210 insertions(+), 139 deletions(-) diff --git a/logger/FlythisLogger.py b/logger/FlythisLogger.py index 0f5d02b..c51e3c9 100644 --- a/logger/FlythisLogger.py +++ b/logger/FlythisLogger.py @@ -14,12 +14,24 @@ redSrv0 = redis.Redis( port=REDIS_PORT, db=0) -#se non c'è un valore in LOG:STATUS, lo assegno -if redSrv0.get('RTDATA:LOG:STATUS') is None: - redSrv0.set('RTDATA:LOG:STATUS',1) +#se non c'è un valore nei campi di redis, gli do 1 +if redSrv0.get('SETTINGS:LOG:STATUS') is None: + redSrv0.set('SETTINGS:LOG:STATUS',1) + +if redSrv0.get('SETTINGS:CH:SCALE:MIN1') is None: + redSrv0.set('SETTINGS:CH:SCALE:MIN1',1) + +if redSrv0.get('SETTINGS:CH:SCALE:MAX1') is None: + redSrv0.set('SETTINGS:CH:SCALE:MAX1',1) + +if redSrv0.get('SETTINGS:CH:REAL:MIN1') is None: + redSrv0.set('SETTINGS:CH:REAL:MIN1',1) + +if redSrv0.get('SETTINGS:CH:REAL:MAX1') is None: + redSrv0.set('SETTINGS:CH:REAL:MAX1',1) #intervallo in millisecondi fra un campionamento e il successivo -redSampleFreq = 'RTDATA:LOG:FREQ' +redSampleFreq = 'SETTINGS:LOG:FREQ' startingFreq = 1000 redSrv0.set(redSampleFreq,startingFreq) @@ -45,7 +57,7 @@ try: #funzione salva time+data di log e otto valori su redis def redisSave(CHvalue): - redLastLog = 'RTDATA:CH:RECTIME' + redLastLog = 'RTDATA:TIME:LOG' lastLog = datetime.datetime.now() redSrv0.set(redLastLog,str(lastLog)) for CHcount in range(0,8,+1): @@ -55,12 +67,12 @@ try: #ciclo principale, salva time attuale e se LOG:STATUS è 1 fa il ciclo principale while(1): - redTime = 'RTDATA:CH:SRVTIME' + redTime = 'RTDATA:TIME:SRV' now = datetime.datetime.now() redSrv0.set(redTime,str(now)) #print(logStatus) # solo se su redis LOG è 1 eseguo il ciclo principale - logStatus = redSrv0.get('RTDATA:LOG:STATUS').decode('utf-8') + logStatus = redSrv0.get('SETTINGS:LOG:STATUS').decode('utf-8') if logStatus == "1" : CHvalue = CH.ADS1256_GetAll() #videoPrint(CHvalue) diff --git a/server/FlythisServer.py b/server/FlythisServer.py index f0b740a..3927a3f 100644 --- a/server/FlythisServer.py +++ b/server/FlythisServer.py @@ -1,7 +1,6 @@ #!/usr/bin/python from flask import Flask, render_template, jsonify, request -#from flask_bootstrap import Bootstrap import datetime from flask.wrappers import Request import redis @@ -31,21 +30,10 @@ redSrv0 = redis.Redis( flaskApp = Flask(__name__) @flaskApp.route("/") -#funzione main: passa al template html i primi dati che dovranno popolarlo. legge direttamente da redis. edit: passa anche indirizzo ip del server +#funzione main: passa al template home il titolo def main(): channelsData = { - 'title' : 'Home', - 'timeSrv' : redSrv0.get('RTDATA:CH:SRVTIME').decode('utf-8') - # 'timeLog' : redSrv0.get('RTDATA:CH:RECTIME').decode('utf-8'), - # 'Freq' : redSrv0.get('RTDATA:LOG:FREQ').decode('utf-8'), - # 'Ch0' : redSrv0.get('RTDATA:CH:0').decode('utf-8'), - # 'Ch1' : redSrv0.get('RTDATA:CH:1').decode('utf-8'), - # 'Ch2' : redSrv0.get('RTDATA:CH:2').decode('utf-8'), - # 'Ch3' : redSrv0.get('RTDATA:CH:3').decode('utf-8'), - # 'Ch4' : redSrv0.get('RTDATA:CH:4').decode('utf-8'), - # 'Ch5' : redSrv0.get('RTDATA:CH:5').decode('utf-8'), - # 'Ch6' : redSrv0.get('RTDATA:CH:6').decode('utf-8'), - # 'Ch7' : redSrv0.get('RTDATA:CH:7').decode('utf-8') + 'title' : 'Home' } #assegno il template html di riferimento return render_template('home.html', **channelsData) @@ -55,9 +43,9 @@ def main(): def logger(): channelsData = { 'title' : 'Logger', - 'timeSrv' : redSrv0.get('RTDATA:CH:SRVTIME').decode('utf-8'), - 'timeLog' : redSrv0.get('RTDATA:CH:RECTIME').decode('utf-8'), - 'Freq' : redSrv0.get('RTDATA:LOG:FREQ').decode('utf-8'), + 'timeSrv' : redSrv0.get('RTDATA:TIME:SRV').decode('utf-8'), + 'timeLog' : redSrv0.get('RTDATA:TIME:LOG').decode('utf-8'), + 'Freq' : redSrv0.get('SETTINGS:LOG:FREQ').decode('utf-8'), 'Ch0' : redSrv0.get('RTDATA:CH:0').decode('utf-8'), 'Ch1' : redSrv0.get('RTDATA:CH:1').decode('utf-8'), 'Ch2' : redSrv0.get('RTDATA:CH:2').decode('utf-8'), @@ -75,28 +63,16 @@ def logger(): def setup(): channelsData = { 'title' : 'Settings', - 'timeSrv' : redSrv0.get('RTDATA:CH:SRVTIME').decode('utf-8'), - 'timeLog' : redSrv0.get('RTDATA:CH:RECTIME').decode('utf-8'), - 'Freq' : redSrv0.get('RTDATA:LOG:FREQ').decode('utf-8'), - 'Ch0' : redSrv0.get('RTDATA:CH:0').decode('utf-8'), - 'Ch1' : redSrv0.get('RTDATA:CH:1').decode('utf-8'), - 'Ch2' : redSrv0.get('RTDATA:CH:2').decode('utf-8'), - 'Ch3' : redSrv0.get('RTDATA:CH:3').decode('utf-8'), - 'Ch4' : redSrv0.get('RTDATA:CH:4').decode('utf-8'), - 'Ch5' : redSrv0.get('RTDATA:CH:5').decode('utf-8'), - 'Ch6' : redSrv0.get('RTDATA:CH:6').decode('utf-8'), - 'Ch7' : redSrv0.get('RTDATA:CH:7').decode('utf-8') + 'Freq' : redSrv0.get('SETTINGS:LOG:FREQ').decode('utf-8') } - #assegno il template html di riferimento return render_template('settings.html', **channelsData) @flaskApp.route("/about") -#funzione setup, route a pagina /setup +#funzione about, route a pagina /about def about(): channelsData = { - 'title' : 'About', - 'timeSrv' : redSrv0.get('RTDATA:CH:SRVTIME').decode('utf-8') + 'title' : 'About' } #assegno il template html di riferimento return render_template('about.html', **channelsData) @@ -106,10 +82,9 @@ def about(): def api_channels_all(): #funzione api_channels_all: legge direttamente da redis, ritorna jsonify channelsData = { - 'title' : 'Home', - 'timeSrv' : redSrv0.get('RTDATA:CH:SRVTIME').decode('utf-8'), - 'timeLog' : redSrv0.get('RTDATA:CH:RECTIME').decode('utf-8'), - 'Freq' : redSrv0.get('RTDATA:LOG:FREQ').decode('utf-8'), + 'timeSrv' : redSrv0.get('RTDATA:TIME:SRV').decode('utf-8'), + 'timeLog' : redSrv0.get('RTDATA:TIME:LOG').decode('utf-8'), + 'Freq' : redSrv0.get('SETTINGS:LOG:FREQ').decode('utf-8'), 'Ch0' : redSrv0.get('RTDATA:CH:0').decode('utf-8'), 'Ch1' : redSrv0.get('RTDATA:CH:1').decode('utf-8'), 'Ch2' : redSrv0.get('RTDATA:CH:2').decode('utf-8'), @@ -117,7 +92,11 @@ def api_channels_all(): 'Ch4' : redSrv0.get('RTDATA:CH:4').decode('utf-8'), 'Ch5' : redSrv0.get('RTDATA:CH:5').decode('utf-8'), 'Ch6' : redSrv0.get('RTDATA:CH:6').decode('utf-8'), - 'Ch7' : redSrv0.get('RTDATA:CH:7').decode('utf-8') + 'Ch7' : redSrv0.get('RTDATA:CH:7').decode('utf-8'), + 'ChScaleMax1' : redSrv0.get('SETTINGS:CH:SCALE:MAX1').decode('utf-8'), + 'ChScaleMin1' : redSrv0.get('SETTINGS:CH:SCALE:MIN1').decode('utf-8'), + 'ChRealMax1' : redSrv0.get('SETTINGS:CH:REAL:MAX1').decode('utf-8'), + 'ChRealMin1' : redSrv0.get('SETTINGS:CH:REAL:MIN1').decode('utf-8') } # restituisce in formato json i dati letti da redis return jsonify(channelsData) @@ -126,13 +105,13 @@ def api_channels_all(): @flaskApp.route("/api/v1/log/start", methods=['PUT']) def start_log(): #funzione start_log: scrive su redis LOG:STATUS -> 1 - redSrv0.set('RTDATA:LOG:STATUS', 1) + redSrv0.set('SETTINGS:LOG:STATUS', 1) return "OK" @flaskApp.route("/api/v1/log/stop", methods=['PUT']) def stop_log(): #funzione stop_log: scrive su redis LOG:STATUS -> 0 - redSrv0.set('RTDATA:LOG:STATUS', 0) + redSrv0.set('SETTINGS:LOG:STATUS', 0) return "OK" @flaskApp.route("/api/v1/sessions", methods=['POST']) @@ -147,23 +126,35 @@ def sessionCreate(): def setFrequency(): #funzione set frequenza scrive su redis LOG:FREQ prendendolo dall'input in pagina html con nome LogFreq newFrequency = request.form['LogFreq'] - redSrv0.set('RTDATA:LOG:FREQ', newFrequency) + redSrv0.set('SETTINGS:LOG:FREQ', newFrequency) + # rimando in settings + return redirect("/settings") + +@flaskApp.route("/api/v1/smin1", methods=['POST']) +def setScaleMin1(): + scaleMin1 = request.form['ScaleMin1'] + redSrv0.set('SETTINGS:CH:SCALE:MIN1', scaleMin1) + # rimando in settings + return redirect("/settings") + +@flaskApp.route("/api/v1/smax1", methods=['POST']) +def setScaleMax1(): + scaleMax1 = request.form['ScaleMax1'] + redSrv0.set('SETTINGS:CH:SCALE:MAX1', scaleMax1) # rimando in settings return redirect("/settings") @flaskApp.route("/api/v1/rmin1", methods=['POST']) def setRealMin1(): - #funzione set frequenza scrive su redis LOG:FREQ prendendolo dall'input in pagina html con nome LogFreq - realMin1 = request.form['MinReal1'] - redSrv0.set('RTDATA:SET:RMIN1', realMin1) + realMin1 = redSrv0.get('RTDATA:CH:0') + redSrv0.set('SETTINGS:CH:REAL:MIN1', realMin1) # rimando in settings return redirect("/settings") @flaskApp.route("/api/v1/rmax1", methods=['POST']) def setRealMax1(): - #funzione set frequenza scrive su redis LOG:FREQ prendendolo dall'input in pagina html con nome LogFreq - realMax1 = request.form['MaxReal1'] - redSrv0.set('RTDATA:SET:RMAX1', realMax1) + realMax1 = redSrv0.get('RTDATA:CH:0') + redSrv0.set('SETTINGS:CH:REAL:MAX1', realMax1) # rimando in settings return redirect("/settings") diff --git a/server/templates/about.html b/server/templates/about.html index df0e263..9f27302 100644 --- a/server/templates/about.html +++ b/server/templates/about.html @@ -2,6 +2,28 @@ {% block content %}
+
diff --git a/server/templates/home.html b/server/templates/home.html index f5c5542..2dae026 100644 --- a/server/templates/home.html +++ b/server/templates/home.html @@ -2,6 +2,26 @@ {% block content %}
+
diff --git a/server/templates/layout.html b/server/templates/layout.html index c46d0cf..e39d9be 100644 --- a/server/templates/layout.html +++ b/server/templates/layout.html @@ -14,72 +14,32 @@ - + +