From ed636d077a7fcc1c9a04751b9a559e2cc54f2801 Mon Sep 17 00:00:00 2001 From: Marco Locatelli Date: Mon, 29 Mar 2021 11:42:29 +0200 Subject: [PATCH] display scaled values in logger page --- logger/FlythisLogger.py | 26 ++++++++------- logger/PyLog.txt | 57 -------------------------------- logger/log/PyLog.txt | 9 ++++++ server/FlythisServer.py | 63 +++++++++++++++++------------------- server/templates/layout.html | 35 -------------------- server/templates/logger.html | 56 +++++++++++++++++++++++++------- 6 files changed, 99 insertions(+), 147 deletions(-) delete mode 100644 logger/PyLog.txt create mode 100644 logger/log/PyLog.txt diff --git a/logger/FlythisLogger.py b/logger/FlythisLogger.py index fc43d83..b07fc4b 100644 --- a/logger/FlythisLogger.py +++ b/logger/FlythisLogger.py @@ -14,7 +14,11 @@ redSrv0 = redis.Redis( port=REDIS_PORT, db=0) -#se non c'è un valore nei campi di redis, gli do 0 +#se non c'è un valore nei campi di redis, popolo il db + +LOG_path = "/home/pi/Flythis/logger/log/" +DATA_path = "/home/pi/Flythis/logger/data/" + if redSrv0.get('SETTINGS:LOG:STATUS') is None: redSrv0.set('SETTINGS:LOG:STATUS',1) @@ -52,10 +56,10 @@ try: #funzione salva time+data e otto valori letti su file def fileSave(CHvalue): try: - logFile = open("PyLog.txt", "a") + logFile = open(LOG_path, "a") except FileNotFoundError: print("Creating new PyLog.txt") - logFile = open("PyLog.txt", "w+") + logFile = open(LOG_path, "w+") logFile.write("\nTime: "+str(now)) for chIndex in range(0,8,+1): logFile.write(" | CH "+str(chIndex)+" = %lf"%(CHvalue[chIndex]*5.0/0x7fffff)) @@ -122,25 +126,25 @@ try: #eccezione da ctrl+c in terminale e chiusura except KeyboardInterrupt: GPIO.cleanup() - print ("\r\nProgram End. Ctrl+C from user") + print (str(now)+" Program End. Ctrl+C from user\r\n") try: - logFile = open("PyLog.txt", "a") + logFile = open(LOG_path+"PyLog.txt", "a") except FileNotFoundError: print("Creating new PyLog.txt") - logFile = open("PyLog.txt", "w+") - logFile.write("\r\nProgram end. Ctrl+C from user at time: "+str(now)) + logFile = open(LOG_path+"PyLog.txt", "w+") + logFile.write(str(now)+" Program end. Ctrl+C from user\r\n") logFile.close() exit() #eccezione da errore e chiusura except Exception as errorMessage: GPIO.cleanup() - print("\r\nCaught error " + str(errorMessage)) + print(str(now)+" Caught error " + str(errorMessage)+"\r\n") try: - logFile = open("PyLog.txt", "a") + logFile = open(LOG_path+"PyLog.txt", "a") except FileNotFoundError: print("Creating new PyLog.txt") - logFile = open("PyLog.txt", "w+") - logFile.write("\r\nCaught error: "+str(errorMessage)+" at time: "+str(now)) + logFile = open(LOG_path+"PyLog.txt", "w+") + logFile.write(str(now)+" Caught error: "+str(errorMessage)+"\r\n") logFile.close() exit() \ No newline at end of file diff --git a/logger/PyLog.txt b/logger/PyLog.txt deleted file mode 100644 index 4d68f61..0000000 --- a/logger/PyLog.txt +++ /dev/null @@ -1,57 +0,0 @@ - -Program end by Ctrl+C from user at time: 2021-03-02 10:58:32.924038 -Program end by Ctrl+C from user at time: 2021-03-02 15:31:02.592220 -Program end. Ctrl+C from user at time: 2021-03-03 09:16:55.728488 -Program end. Ctrl+C from user at time: 2021-03-03 10:33:35.124096 -Program end. Ctrl+C from user at time: 2021-03-03 10:51:21.859527 -Program end. Ctrl+C from user at time: 2021-03-03 10:52:51.564834 -Program end. Ctrl+C from user at time: 2021-03-05 10:55:41.203884 -Program end. Ctrl+C from user at time: 2021-03-05 14:58:00.328326 -Program end. Ctrl+C from user at time: 2021-03-09 11:54:37.081347 -Program end. Ctrl+C from user at time: 2021-03-09 12:28:40.268269 -Program end. Ctrl+C from user at time: 2021-03-09 12:54:10.962510 -Program end. Ctrl+C from user at time: 2021-03-09 15:08:18.134550 -Program end. Ctrl+C from user at time: 2021-03-09 16:08:30.446015 -Program end. Ctrl+C from user at time: 2021-03-09 16:09:05.759802 -Program end. Ctrl+C from user at time: 2021-03-15 16:01:16.217190 -Program end. Ctrl+C from user at time: 2021-03-16 12:13:05.400117 -Program end. Ctrl+C from user at time: 2021-03-18 08:58:50.018800 -Caught error: Error 111 connecting to 127.0.0.1:6379. Connection refused. at time: 2021-03-18 10:21:27.190143 -Program end. Ctrl+C from user at time: 2021-03-18 12:11:40.393985 -Program end. Ctrl+C from user at time: 2021-03-18 12:12:18.995260 -Program end. Ctrl+C from user at time: 2021-03-18 12:13:20.497212 -Program end. Ctrl+C from user at time: 2021-03-18 12:13:25.594680 -Program end. Ctrl+C from user at time: 2021-03-18 12:14:18.546804 -Program end. Ctrl+C from user at time: 2021-03-18 12:14:41.216737 -Program end. Ctrl+C from user at time: 2021-03-18 14:09:28.913884 -Program end. Ctrl+C from user at time: 2021-03-18 14:15:12.712488 -Program end. Ctrl+C from user at time: 2021-03-18 14:42:56.107040 -Program end. Ctrl+C from user at time: 2021-03-18 14:43:54.837925 -Program end. Ctrl+C from user at time: 2021-03-18 14:57:58.864880 -Program end. Ctrl+C from user at time: 2021-03-18 15:02:53.303865 -Caught error: Error 111 connecting to 127.0.0.1:6379. Connection refused. at time: 2021-03-19 09:19:55.193580 -Program end. Ctrl+C from user at time: 2021-03-19 09:34:33.511872 -Program end. Ctrl+C from user at time: 2021-03-19 10:10:31.986759 -Program end. Ctrl+C from user at time: 2021-03-19 10:12:48.131123 -Program end. Ctrl+C from user at time: 2021-03-19 10:15:55.788262 -Program end. Ctrl+C from user at time: 2021-03-19 11:16:56.194264 -Program end. Ctrl+C from user at time: 2021-03-19 11:21:34.246971 -Caught error: 'NoneType' object has no attribute 'decode' at time: 2021-03-19 11:46:37.483097 -Program end. Ctrl+C from user at time: 2021-03-19 12:48:01.838556 -Program end. Ctrl+C from user at time: 2021-03-19 12:49:41.004201 -Program end. Ctrl+C from user at time: 2021-03-19 12:53:27.063207 -Program end. Ctrl+C from user at time: 2021-03-19 15:00:27.908197 -Program end. Ctrl+C from user at time: 2021-03-19 15:24:20.079220 -Program end. Ctrl+C from user at time: 2021-03-22 12:33:04.141973 -Program end. Ctrl+C from user at time: 2021-03-22 15:30:41.573572 -Program end. Ctrl+C from user at time: 2021-03-23 09:06:45.866191 -Caught error: 'NoneType' object has no attribute 'decode' at time: 2021-03-23 12:27:05.778515 -Program end. Ctrl+C from user at time: 2021-03-23 12:48:33.227212 -Program end. Ctrl+C from user at time: 2021-03-23 12:52:51.386359 -Caught error: 'NoneType' object has no attribute 'decode' at time: 2021-03-23 12:53:15.167221 -Program end. Ctrl+C from user at time: 2021-03-23 14:12:15.324783 -Program end. Ctrl+C from user at time: 2021-03-23 15:23:23.456196 -Program end. Ctrl+C from user at time: 2021-03-23 15:31:55.154641 -Program end. Ctrl+C from user at time: 2021-03-23 15:33:33.517326 -Program end. Ctrl+C from user at time: 2021-03-24 12:35:48.198605 -Program end. Ctrl+C from user at time: 2021-03-24 15:27:56.660342 \ No newline at end of file diff --git a/logger/log/PyLog.txt b/logger/log/PyLog.txt new file mode 100644 index 0000000..c54af4c --- /dev/null +++ b/logger/log/PyLog.txt @@ -0,0 +1,9 @@ +2021-03-29 09:58:47.508544 Program end. Ctrl+C from user +2021-03-29 09:58:49.419906 Program end. Ctrl+C from user +2021-03-29 10:06:36.805375 Program end. Ctrl+C from user +2021-03-29 10:16:34.873420 Program end. Ctrl+C from user +2021-03-29 11:31:02.367011 Program end. Ctrl+C from user +2021-03-29 11:36:21.793976 Program end. Ctrl+C from user +2021-03-29 11:36:32.642389 Program end. Ctrl+C from user +2021-03-29 11:36:39.298257 Program end. Ctrl+C from user +2021-03-29 11:37:09.962049 Program end. Ctrl+C from user diff --git a/server/FlythisServer.py b/server/FlythisServer.py index 3b429a5..c3d80fa 100644 --- a/server/FlythisServer.py +++ b/server/FlythisServer.py @@ -7,8 +7,6 @@ import redis import socket from werkzeug.utils import redirect - - #create a socket object s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -30,10 +28,10 @@ redSrv0 = redis.Redis( port=REDIS_PORT, db=0) +#funzione per leggere e decodificare da redis def getRedisVal(redisKey): return redSrv0.get(redisKey).decode('utf-8') - flaskApp = Flask(__name__) @flaskApp.route("/") #funzione main: passa al template home il titolo @@ -49,17 +47,17 @@ def main(): def logger(): channelsData = { 'title' : 'Logger', - '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'), - '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'), + 'timeSrv' : getRedisVal('RTDATA:TIME:SRV'), + 'timeLog' : getRedisVal('RTDATA:TIME:LOG'), + 'Freq' : getRedisVal('SETTINGS:LOG:FREQ'), + 'Ch0' : getRedisVal('RTDATA:CH:0'), + 'Ch1' : getRedisVal('RTDATA:CH:1'), + 'Ch2' : getRedisVal('RTDATA:CH:2'), + 'Ch3' : getRedisVal('RTDATA:CH:3'), + 'Ch4' : getRedisVal('RTDATA:CH:4'), + 'Ch5' : getRedisVal('RTDATA:CH:5'), + 'Ch6' : getRedisVal('RTDATA:CH:6'), + 'Ch7' : getRedisVal('RTDATA:CH:7'), 'Out0' : getRedisVal('RTDATA:OUT:0'), 'Out1' : getRedisVal('RTDATA:OUT:1'), 'Out2' : getRedisVal('RTDATA:OUT:2'), @@ -77,7 +75,7 @@ def logger(): def setup(): channelsData = { 'title' : 'Settings', - 'Freq' : redSrv0.get('SETTINGS:LOG:FREQ').decode('utf-8'), + 'Freq' : getRedisVal('SETTINGS:LOG:FREQ'), 'Ch0' : getRedisVal('RTDATA:CH:0'), 'Ch1' : getRedisVal('RTDATA:CH:1'), 'Ch2' : getRedisVal('RTDATA:CH:2'), @@ -113,17 +111,17 @@ def api_channels_all(): numCh = redSrv0.get('SETTINGS:SELECTED_CH').decode('utf-8') #funzione api_channels_all: legge direttamente da redis, ritorna jsonify channelsData = { - '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'), - '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'), + 'timeSrv' : getRedisVal('RTDATA:TIME:SRV'), + 'timeLog' : getRedisVal('RTDATA:TIME:LOG'), + 'Freq' : getRedisVal('SETTINGS:LOG:FREQ'), + 'Ch0' : getRedisVal('RTDATA:CH:0'), + 'Ch1' : getRedisVal('RTDATA:CH:1'), + 'Ch2' : getRedisVal('RTDATA:CH:2'), + 'Ch3' : getRedisVal('RTDATA:CH:3'), + 'Ch4' : getRedisVal('RTDATA:CH:4'), + 'Ch5' : getRedisVal('RTDATA:CH:5'), + 'Ch6' : getRedisVal('RTDATA:CH:6'), + 'Ch7' : getRedisVal('RTDATA:CH:7'), 'Out0' : getRedisVal('RTDATA:OUT:0'), 'Out1' : getRedisVal('RTDATA:OUT:1'), 'Out2' : getRedisVal('RTDATA:OUT:2'), @@ -132,15 +130,14 @@ def api_channels_all(): 'Out5' : getRedisVal('RTDATA:OUT:5'), 'Out6' : getRedisVal('RTDATA:OUT:6'), 'Out7' : getRedisVal('RTDATA:OUT:7'), - 'ChScaleMax' : redSrv0.get('SETTINGS:IN:MAX:'+str(numCh)).decode('utf-8'), - 'ChScaleMin' : redSrv0.get('SETTINGS:IN:MIN:'+str(numCh)).decode('utf-8'), - 'ChRealMax' : redSrv0.get('SETTINGS:OUT:MAX:'+str(numCh)).decode('utf-8'), - 'ChRealMin' : redSrv0.get('SETTINGS:OUT:MIN:'+str(numCh)).decode('utf-8') + 'ChScaleMax' : getRedisVal('SETTINGS:IN:MAX:'+str(numCh)), + 'ChScaleMin' : getRedisVal('SETTINGS:IN:MIN:'+str(numCh)), + 'ChRealMax' : getRedisVal('SETTINGS:OUT:MAX:'+str(numCh)), + 'ChRealMin' : getRedisVal('SETTINGS:OUT:MIN:'+str(numCh)) } # restituisce in formato json i dati letti da redis return jsonify(channelsData) - # definisco una NUOVA route a cui rispondere su chiamta in metodo GET x restituire dati aggiornati @flaskApp.route("/api/v1/channels/current", methods=['GET']) def api_channels_current(): @@ -177,7 +174,7 @@ def stop_log(): @flaskApp.route("/api/v1/setup/saveInMin", methods=['PUT']) def setupInMin(): # devo leggere il channel attualmente selezionato - indCh = redSrv0.get('SETTINGS:SELECTED_CH').decode('utf-8') + indCh = getRedisVal('SETTINGS:SELECTED_CH') currChVal = redSrv0.get('RTDATA:CH:'+ str(indCh)) redSrv0.set('SETTINGS:IN:MIN:'+ str(indCh), currChVal) return redirect("/settings") @@ -185,7 +182,7 @@ def setupInMin(): @flaskApp.route("/api/v1/setup/saveInMax", methods=['PUT']) def setupInMax(): # devo leggere il channel attualmente selezionato - indCh = redSrv0.get('SETTINGS:SELECTED_CH').decode('utf-8') + indCh = getRedisVal('SETTINGS:SELECTED_CH') currChVal = redSrv0.get('RTDATA:CH:'+ str(indCh)) redSrv0.set('SETTINGS:IN:MAX:'+ str(indCh), currChVal) return redirect("/settings") diff --git a/server/templates/layout.html b/server/templates/layout.html index cf40d5f..a800033 100644 --- a/server/templates/layout.html +++ b/server/templates/layout.html @@ -13,41 +13,6 @@ -