start to use ids
parent
9a4fb7247d
commit
ba2660b3dd
10
id.json
10
id.json
|
@ -1,4 +1,4 @@
|
||||||
"id":{
|
{"id":{
|
||||||
"110":{"varname":"temperatur","sensor":"CPU","i2c":0},
|
"110":{"varname":"temperatur","sensor":"CPU","i2c":0},
|
||||||
"111":{"varname":"temperatur","sensor":"bme280","i2c":0},
|
"111":{"varname":"temperatur","sensor":"bme280","i2c":0},
|
||||||
"112":{"varname":"humidity","sensor":"bme280","i2c":0},
|
"112":{"varname":"humidity","sensor":"bme280","i2c":0},
|
||||||
|
@ -56,5 +56,11 @@
|
||||||
"1B4":{"varname":"stromherd","sensor":"manuell","i2c":0},
|
"1B4":{"varname":"stromherd","sensor":"manuell","i2c":0},
|
||||||
"1C1":{"varname":"km","sensor":"berlingo","i2c":0},
|
"1C1":{"varname":"km","sensor":"berlingo","i2c":0},
|
||||||
"1C2":{"varname":"diesel","sensor":"berlingo","i2c":0},
|
"1C2":{"varname":"diesel","sensor":"berlingo","i2c":0},
|
||||||
"1C3":{"varname":"preis","sensor":"berlingo","i2c":0}
|
"1C3":{"varname":"preis","sensor":"berlingo","i2c":0},
|
||||||
|
"1D0":{"varname":"temperatur","sensor":"w1therm","i2c":0},
|
||||||
|
"1D1":{"varname":"temperatur","sensor":"w1therm","i2c":1},
|
||||||
|
"1D2":{"varname":"temperatur","sensor":"w1therm","i2c":2},
|
||||||
|
"1D3":{"varname":"temperatur","sensor":"w1therm","i2c":3},
|
||||||
|
"1D4":{"varname":"temperatur","sensor":"w1therm","i2c":4}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
27
log_sds.py
27
log_sds.py
|
@ -7,6 +7,8 @@ from serial import Serial
|
||||||
import os, time,socket,sys,json,random,sds011
|
import os, time,socket,sys,json,random,sds011
|
||||||
from meas_data import meas_data
|
from meas_data import meas_data
|
||||||
|
|
||||||
|
sensor="sds011"
|
||||||
|
|
||||||
pathname = os.path.dirname(sys.argv[0])
|
pathname = os.path.dirname(sys.argv[0])
|
||||||
abspath=os.path.abspath(pathname)
|
abspath=os.path.abspath(pathname)
|
||||||
|
|
||||||
|
@ -18,6 +20,14 @@ except:
|
||||||
|
|
||||||
log_conf=json.load(cf)
|
log_conf=json.load(cf)
|
||||||
cf.close()
|
cf.close()
|
||||||
|
idf=open(abspath+"/id.json","r")
|
||||||
|
idlist=json.load(idf)["id"]
|
||||||
|
sens_id={}
|
||||||
|
for ids in idlist:
|
||||||
|
if "sensor" in idlist[ids]:
|
||||||
|
if idlist[ids]["sensor"]==sensor:
|
||||||
|
sens_id[ids]=idlist[ids]
|
||||||
|
idf.close()
|
||||||
|
|
||||||
parameter={"device":socket.gethostname(),"mean_count":2,"ring_length":30,"wait":0.1,"cycle":20,"check_last":2,"gpg_keyid":"","usbport":"/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0","meascount":5,"meassleep":30}
|
parameter={"device":socket.gethostname(),"mean_count":2,"ring_length":30,"wait":0.1,"cycle":20,"check_last":2,"gpg_keyid":"","usbport":"/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0","meascount":5,"meassleep":30}
|
||||||
for n in parameter:
|
for n in parameter:
|
||||||
|
@ -25,19 +35,26 @@ for n in parameter:
|
||||||
parameter[n]=log_conf[n]
|
parameter[n]=log_conf[n]
|
||||||
|
|
||||||
bsds=False
|
bsds=False
|
||||||
if "sds011" in log_conf:
|
if sensor in log_conf:
|
||||||
bsds=True
|
bsds=True
|
||||||
for n in parameter:
|
for n in parameter:
|
||||||
if n in log_conf['sds011']:
|
if n in log_conf[sensor]:
|
||||||
parameter[n]=log_conf['sds011'][n]
|
parameter[n]=log_conf[sensor][n]
|
||||||
try:
|
try:
|
||||||
sensor=sds011.SDS011(parameter['usbport'],use_query_mode=True)
|
sensor=sds011.SDS011(parameter['usbport'],use_query_mode=True)
|
||||||
except:
|
except:
|
||||||
bsds=False
|
bsds=False
|
||||||
else:
|
else:
|
||||||
pm25=meas_data(var_name="pm25",ring_length=parameter['ring_length'],device=parameter['device'],sensor="SDS011",store_dir="/home/pi/log/",digits=3,check_last=parameter['check_last'])
|
bpm25=False
|
||||||
|
bpm10=False
|
||||||
|
for ids in sens_id:
|
||||||
|
if sens_id[ids]['varname']=="pm25":
|
||||||
|
bpm25=True
|
||||||
|
pm25=meas_data(var_name="pm25",ring_length=parameter['ring_length'],device=parameter['device'],sensorid=sens_id[ids],store_dir="/home/pi/log/",digits=3,check_last=parameter['check_last'])
|
||||||
pm25.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
|
pm25.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
|
||||||
pm10=meas_data(var_name="pm10",ring_length=parameter['ring_length'],device=parameter['device'],sensor="SDS011",store_dir="/home/pi/log/",digits=3,check_last=parameter['check_last'])
|
if sens_id[ids]['varname']=="pm10":
|
||||||
|
bpm10=True
|
||||||
|
pm10=meas_data(var_name="pm10",ring_length=parameter['ring_length'],device=parameter['device'],sensorid=sens_id[ids],store_dir="/home/pi/log/",digits=3,check_last=parameter['check_last'])
|
||||||
pm10.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
|
pm10.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
|
||||||
|
|
||||||
bmqtt=False
|
bmqtt=False
|
||||||
|
|
17
meas_data.py
17
meas_data.py
|
@ -12,7 +12,7 @@ gpg=gnupg.GPG()
|
||||||
_STRINGREMOVE=str.maketrans(dict.fromkeys("/:;\\{}(){]%&"))
|
_STRINGREMOVE=str.maketrans(dict.fromkeys("/:;\\{}(){]%&"))
|
||||||
|
|
||||||
class meas_data:
|
class meas_data:
|
||||||
def __init__(self,var_name,ring_length=100,sigma=2,device=socket.gethostname(),sensor="CPU",i2c=0,store_dir="/home/pi/data",multiplicator=1,digits=5,check_last=0,mac=0,sql_min_wait=5,rsa_key="",check_last_shrinking=0.99,mean_count=5,store_each_cycle=False):
|
def __init__(self,var_name,ring_length=100,sigma=2,device=socket.gethostname(),sensor="CPU",i2c=0,store_dir="/home/pi/data",multiplicator=1,digits=5,check_last=0,mac=0,sql_min_wait=5,rsa_key="",check_last_shrinking=0.99,mean_count=5,store_each_cycle=False,sens_id={'varname':"",'sensor':"CPU",'i2c':0}):
|
||||||
self.set_varname(var_name)
|
self.set_varname(var_name)
|
||||||
self.value=[]
|
self.value=[]
|
||||||
self.act_value=0
|
self.act_value=0
|
||||||
|
@ -45,6 +45,7 @@ class meas_data:
|
||||||
self.set_check_last(check_last,check_last_shrinking)
|
self.set_check_last(check_last,check_last_shrinking)
|
||||||
self.set_i2c(i2c)
|
self.set_i2c(i2c)
|
||||||
self.set_multiplicator(multiplicator)
|
self.set_multiplicator(multiplicator)
|
||||||
|
self.set_sensid(sens_id)
|
||||||
self.mqtt_broker=""
|
self.mqtt_broker=""
|
||||||
self.mqtt_port=1883
|
self.mqtt_port=1883
|
||||||
self.mqtt_topic=""
|
self.mqtt_topic=""
|
||||||
|
@ -56,6 +57,15 @@ class meas_data:
|
||||||
self.sql_out=""
|
self.sql_out=""
|
||||||
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.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)
|
self.set_file_log(store_dir)
|
||||||
|
def set_sensid(self,sens_id):
|
||||||
|
if "varname" in sens_id:
|
||||||
|
self.set_varname(sens_id["varname"])
|
||||||
|
if "sensor" in sens_id:
|
||||||
|
self.set_sensor(sens_id["sensor"])
|
||||||
|
if "i2c" in sens_id:
|
||||||
|
self.set_i2c(sens_id["i2c"])
|
||||||
|
if "channel" in sens_id:
|
||||||
|
self.set_channel(sens_id["channel"])
|
||||||
def set_store_cycle(self,store_each_cycle):
|
def set_store_cycle(self,store_each_cycle):
|
||||||
self.bstoreeach=False
|
self.bstoreeach=False
|
||||||
if isinstance(store_each_cycle,bool):
|
if isinstance(store_each_cycle,bool):
|
||||||
|
@ -91,6 +101,11 @@ class meas_data:
|
||||||
self.i2c=i2c
|
self.i2c=i2c
|
||||||
else:
|
else:
|
||||||
self.i2c=0
|
self.i2c=0
|
||||||
|
def set_channel(self,channel):
|
||||||
|
if (isinstance(channel,(int,float)) and not isinstance(channel,bool)):
|
||||||
|
self.channel=channel
|
||||||
|
else:
|
||||||
|
self.channel=0
|
||||||
def set_varname(self,var_name):
|
def set_varname(self,var_name):
|
||||||
tvn=var_name.translate(_STRINGREMOVE)
|
tvn=var_name.translate(_STRINGREMOVE)
|
||||||
if len(tvn)==0:
|
if len(tvn)==0:
|
||||||
|
|
Loading…
Reference in New Issue