first loggers changed to new api

master
ademant 2019-10-12 11:05:26 +02:00
parent 73a304dac1
commit 82fc13e0e8
4 changed files with 64 additions and 19 deletions

View File

@ -22,6 +22,7 @@
"sqlserver":
{
"enable": 1, "host": "localhost", "port": 8080},
"CPU":{"enable":1,"var_name":"temperature"},
"bme280":{"enable": 1, "port": 1,"address": "0x77","id":["111","112","113"]},
"tristar":
{"enable": 1, "port": "/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0","baud": 9600,"timeout": 1,"id":["170","171","172","173","174","175","176","177","178","179","17A","17B","17C","17D","17E","17F","180","181"]},

View File

@ -5,27 +5,44 @@ import os, serial,time,socket,sys,json
from meas_data import meas_data
# import the server implementation
sensor="ads1x15"
pathname = os.path.dirname(sys.argv[0])
abspath=os.path.abspath(pathname)
idfile=abspath+"/id.json"
id_conf=0
try:
idf=open(idfile,"r")
id_conf=json.load(idf)['id']
idf.close()
except:
id_conf=0
configfile=abspath+"/config.json"
cf=open(configfile,"r")
try:
cf=open(configfile,"r")
except:
cf=open(configfile+".template","r")
log_conf=json.load(cf)
cf.close()
channel_names=[]
channel_info={}
parameter={"device":socket.gethostname(),"mean_count":5,"ring_length":10,"wait":0.5,"sigma":2,"cycle":10,"check_last":5,"gpg_keyid":""}
parameter={"device":socket.gethostname(),"deviceid":"FF","mean_count":5,"ring_length":10,"wait":0.5,"cycle":10,"check_last":5,"gpg_keyid":"","digits":4,"store_dir":"/home/pi/log/","multiplicator":1}
for n in parameter:
if n in log_conf:
parameter[n]=log_conf[n]
bsensor=False
if sensor in log_conf:
if "enable" in log_conf[sensor]:
if log_conf[sensor]["enable"] == 1:
bsensor=True
# declare adc
badc=False
GAIN=1
if "ads1x15" in log_conf:
if bsensor:
badc=True
ads_conf=log_conf['ads1x15']
if "enable" in ads_conf:
@ -64,11 +81,13 @@ if "ads1x15" in log_conf:
tsl_sigma=int(log_conf['ads1x15']['sigma'])
if tsl_sigma < 1:
tsl_sigma=1
parameter["sigma"]=tsl_sigma
from Adafruit_ADS1x15 import ADS1115
from Adafruit_ADS1x15 import ADS1015
adc_count=0
tadc=ads_conf['adc']
for x in tadc:
varpar=parameter
y=tadc[x]
adc_address=0x48
if "address" in y:
@ -92,12 +111,16 @@ if "ads1x15" in log_conf:
adc_assigned=True
except:
print("could not assign ADC")
varpar["sensor"]="ads"+str(adc_type)
varpar["i2c"]=adc_address
if adc_assigned:
for j in range(4):
cnadc="a"+str(adc_count)+"_"+str(j)
cnadcs="a"+"_"+str(j)
channel_names.append(cnadc)
channel_info[cnadc]={"meas_data": meas_data(var_name=cnadcs,multiplicator=1,mean_count=parameter['cycle'],store_each_cycle=True,ring_length=parameter['ring_length'],device=parameter['device'],sensor="ads"+str(adc_type),i2c=adc_address,store_dir="/home/pi/log",sigma=tsl_sigma,check_last=parameter['check_last'])}
varrpar=varpar
varrpar["var_name"]=cnadcs
channel_info[cnadc]={"meas_data": meas_data(varrpar)}
if bmqtt and ("mqtt" in log_conf['ads1x15']):
channel_info[cnadc]['meas_data'].set_mqtt(broker=mbroker,port=mport)
if "sqlserver" in log_conf:

View File

@ -1,9 +1,9 @@
#!/usr/bin/env python
import numpy as np
import os, time,socket,sys,json,random
from meas_data import meas_data
sensor="CPU"
pathname = os.path.dirname(sys.argv[0])
abspath=os.path.abspath(pathname)
@ -25,15 +25,29 @@ except:
log_conf=json.load(cf)
cf.close()
parameter={"device":socket.gethostname(),"deviceid":"FF","mean_count":5,"ring_length":300,"wait":0.1,"cycle":20,"check_last":5,"gpg_keyid":""}
parameter={"device":socket.gethostname(),"deviceid":"FF","mean_count":5,"ring_length":300,"wait":0.1,"cycle":20,"check_last":5,"gpg_keyid":"","digits":4,"store_dir":"/home/pi/log/"}
for n in parameter:
if n in log_conf:
parameter[n]=log_conf[n]
bsensor=False
if sensor in log_conf:
if "enable" in log_conf[sensor]:
if log_conf[sensor]["enable"] == 1:
bsensor=True
cpu_meas=meas_data(var_name="temperature",ring_length=parameter['ring_length'],device=parameter['device'],sensor="CPU",store_dir="/home/pi/log",digits=4,check_last=parameter['check_last'],id_conf=id_conf,deviceid=parameter['deviceid'])
cpu_meas.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
cpu_meas.set_rsa("25A4CF79414F10FD")
if bsensor:
parameter["sensor"]=sensor
if "temperature" in log_conf[sensor]["var_name"]:
parameter["var_name"]="temperature"
else:
bsensor=False
if bsensor:
cpu_meas=meas_data(parameter)
# cpu_meas=meas_data(var_name="temperature",ring_length=parameter['ring_length'],device=parameter['device'],sensor="CPU",store_dir="/home/pi/log",digits=4,check_last=parameter['check_last'],id_conf=id_conf,deviceid=parameter['deviceid'])
cpu_meas.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
cpu_meas.set_rsa("25A4CF79414F10FD")
bmqtt=False
if "mqtt" in log_conf:

View File

@ -57,7 +57,10 @@ class meas_data:
self.bsql=False
self.bchanged=False
self.bfile=False
self.sigma=sigma
if "sigma" in var_config:
self.sigma=sigma
else:
self.sigma=2
if "device" in var_config:
self.set_device(var_config["device"])
else:
@ -66,7 +69,7 @@ class meas_data:
self.set_deviceid(var_config["deviceid"])
else:
self.set_device(format(getnode(),"x"))
if "sensor" in var_config["sensor"]:
if "sensor" in var_config:
self.set_sensor(var_config["sensor"])
else:
self.set_sensor("local")
@ -94,10 +97,17 @@ class meas_data:
self.ids=""
self.set_mac()
# self.set_id(id_conf,deviceid)
self.set_rsa(rsa_key)
if "rsa_key" in var_config:
self.set_rsa(var_config["rsa_key"])
else:
self.set_rsa("")
self.sql_out=""
self.set_id()
self.json_out={"hash":self.hash,"signature":"","payload":{"device":self.device,"varname":self.var_name,"i2c":self.i2c,"sensor":self.sensor,"mac":self.mac,"measures":{}}}
self.set_file_log(store_dir)
if "store_dir" in var_config:
self.set_file_log(var_config["store_dir"])
else:
self.set_file_log(var_config[""])
def set_sensid(self,sens_id):
if "varname" in sens_id:
self.set_varname(sens_id["varname"])
@ -151,12 +161,9 @@ class meas_data:
def get_varname(self):
return self.var_name
def set_varname(self,var_name):
print(var_name)
tvn=var_name.translate(_STRINGREMOVE)
print(tvn)
if len(tvn)==0:
tvn="var"
print(tvn)
self.var_name=tvn
def set_check_last(self,check_last,check_last_shrinking):
if (isinstance(check_last,(int,float)) and not isinstance(check_last,bool))and(isinstance(check_last_shrinking,(int,float)) and not isinstance(check_last_shrinking,bool)):