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},
|
||||
"111":{"varname":"temperatur","sensor":"bme280","i2c":0},
|
||||
"112":{"varname":"humidity","sensor":"bme280","i2c":0},
|
||||
|
@ -56,5 +56,11 @@
|
|||
"1B4":{"varname":"stromherd","sensor":"manuell","i2c":0},
|
||||
"1C1":{"varname":"km","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}
|
||||
}
|
||||
}
|
||||
|
|
31
log_sds.py
31
log_sds.py
|
@ -7,6 +7,8 @@ from serial import Serial
|
|||
import os, time,socket,sys,json,random,sds011
|
||||
from meas_data import meas_data
|
||||
|
||||
sensor="sds011"
|
||||
|
||||
pathname = os.path.dirname(sys.argv[0])
|
||||
abspath=os.path.abspath(pathname)
|
||||
|
||||
|
@ -18,6 +20,14 @@ except:
|
|||
|
||||
log_conf=json.load(cf)
|
||||
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}
|
||||
for n in parameter:
|
||||
|
@ -25,20 +35,27 @@ for n in parameter:
|
|||
parameter[n]=log_conf[n]
|
||||
|
||||
bsds=False
|
||||
if "sds011" in log_conf:
|
||||
if sensor in log_conf:
|
||||
bsds=True
|
||||
for n in parameter:
|
||||
if n in log_conf['sds011']:
|
||||
parameter[n]=log_conf['sds011'][n]
|
||||
if n in log_conf[sensor]:
|
||||
parameter[n]=log_conf[sensor][n]
|
||||
try:
|
||||
sensor=sds011.SDS011(parameter['usbport'],use_query_mode=True)
|
||||
except:
|
||||
bsds=False
|
||||
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'])
|
||||
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'])
|
||||
pm10.set_sql(host="localhost",port=8080,min_wait=parameter['wait'])
|
||||
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'])
|
||||
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'])
|
||||
|
||||
bmqtt=False
|
||||
if "mqtt" in log_conf:
|
||||
|
|
17
meas_data.py
17
meas_data.py
|
@ -12,7 +12,7 @@ gpg=gnupg.GPG()
|
|||
_STRINGREMOVE=str.maketrans(dict.fromkeys("/:;\\{}(){]%&"))
|
||||
|
||||
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.value=[]
|
||||
self.act_value=0
|
||||
|
@ -45,6 +45,7 @@ class meas_data:
|
|||
self.set_check_last(check_last,check_last_shrinking)
|
||||
self.set_i2c(i2c)
|
||||
self.set_multiplicator(multiplicator)
|
||||
self.set_sensid(sens_id)
|
||||
self.mqtt_broker=""
|
||||
self.mqtt_port=1883
|
||||
self.mqtt_topic=""
|
||||
|
@ -56,6 +57,15 @@ class meas_data:
|
|||
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.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):
|
||||
self.bstoreeach=False
|
||||
if isinstance(store_each_cycle,bool):
|
||||
|
@ -91,6 +101,11 @@ class meas_data:
|
|||
self.i2c=i2c
|
||||
else:
|
||||
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):
|
||||
tvn=var_name.translate(_STRINGREMOVE)
|
||||
if len(tvn)==0:
|
||||
|
|
Loading…
Reference in New Issue