rasolar/log_tls2591.py

64 lines
1.6 KiB
Python

#!/usr/bin/env python
import numpy as np
import os, serial,time,socket,sys,json,logging,requests,getopt
from meas_data import meas_data
# import the server implementation
# import ADC
#import vedirect
#import upload_osm
configfile="config.json"
cf=open(configfile,"r")
log_conf=json.load(cf)
cf.close()
devicename=socket.gethostname()
if "device" in log_conf:
devicename=log_conf['device']
mean_count=5
if "mean_count" in log_conf:
mean_count=int(log_conf['mean_count'])
# config of lux sensor tls2591
btls=False
if "tsl2591" in log_conf:
btls=True
if "enable" in log_conf['tsl2591']:
if log_conf['tsl2591']['enable'] == 0:
btls=False
if btls:
import tsl2591
tsl_port=1
if "port" in log_conf['tsl2591']:
tsl_port=int(log_conf['tsl2591']['port'])
tsl_add=0x29
if "address" in log_conf['tsl2591']:
tsl_add=int(log_conf['tsl2591']['address'],16)
try:
tsl = tsl2591.Tsl2591(i2c_bus=tsl_port,sensor_address=tsl_add) # initialize
except:
btls=False
else:
lux=meas_data(var_name="lux",ring_length=60,device=devicename,sensor="tls2591",store_file="/home/pi/log/data_tls2591",i2c=tsl_add)
if "sqlserver" in log_conf:
hostname="banana"
if "host" in log_conf['sqlserver']:
hostname=log_conf['sqlserver']['host']
port=24049
if "port" in log_conf['sqlserver']:
port=int(log_conf['sqlserver']['port'])
cpu_meas.set_sql(host=hostname,port=port)
if btls:
while True:
tsl_full,tsl_ir=tsl.get_full_luminosity()
lux.append(int(1000*tsl.calculate_lux(tsl_full,tsl_ir)))
time.sleep(.5)
print("done")