Files
AnaLogger/logger/FlythisLogger.py
T
Marco Locatelli ce2e4c523e initial commit
2021-03-09 15:22:10 +01:00

85 lines
2.5 KiB
Python

#!/usr/bin/python
# -*- coding:utf-8 -*-
# ***Flythis***
# by M Loca
import time
import datetime
import ADS1256
import RPi.GPIO as GPIO
import redis
#configurazione per lavorare su server redis locale
REDIS_PORT = 6379
REDIS_HOST = '127.0.0.1'
redSrv0 = redis.Redis(
host=REDIS_HOST,
port=REDIS_PORT,
db=0)
#intervallo in millisecondi fra un campionamento e il successivo
sampleTime=500
try:
CH = ADS1256.ADS1256()
CH.ADS1256_init()
#funzione stampa otto valori letti su terminale
def videoPrint(CHvalue):
for CHcount in range(0,8,+1):
print("CH "+str(CHcount)+"= %lf"%(CHvalue[CHcount]*5.0/0x7fffff))
#funzione salva time+data e otto valori letti su file
def fileSave(CHvalue):
try:
logFile = open("PyLog.txt", "a")
except FileNotFoundError:
print("Creating new PyLog.txt")
logFile = open("PyLog.txt", "w+")
logFile.write("\nTime: "+str(now))
for CHcount in range(0,8,+1):
logFile.write(" | CH "+str(CHcount)+" = %lf"%(CHvalue[CHcount]*5.0/0x7fffff))
#funzione salva time+data e otto valori letti su redis
def redisSave(CHvalue):
redTime = 'RTDATA:CH:TIME'
redSrv0.set(redTime,str(now))
for CHcount in range(0,8,+1):
redArea = 'RTDATA:CH:'+str(CHcount)
strVal = "%lf" % (CHvalue[CHcount]*5.0/0x7fffff)
redSrv0.set(redArea,strVal)
#ciclo principale, chiama le tre funzioni definite sopra
while(1):
now = datetime.datetime.now()
CHvalue = CH.ADS1256_GetAll()
#videoPrint(CHvalue)
#fileSave(CHvalue)
redisSave(CHvalue)
time.sleep(sampleTime/1000)
#eccezione da ctrl+c in terminale e chiusura
except KeyboardInterrupt:
GPIO.cleanup()
print ("\r\nProgram End. Ctrl+C from user")
try:
logFile = open("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.close()
exit()
#eccezione da errore e chiusura
except Exception as errorMessage:
GPIO.cleanup()
print("\r\nCaught error " + str(errorMessage))
try:
logFile = open("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.close()
exit()