diff --git a/ads1x15.py b/ads1x15.py new file mode 100644 index 0000000..352c93a --- /dev/null +++ b/ads1x15.py @@ -0,0 +1,46 @@ +def init(ads_conf): + badc=True + if "enable" in ads_conf: + if ads_conf['enable'] == 0: + badc=False + if badc: + adc={} + GAIN=1 + if "gain" in ads_conf: + GAIN=ads_conf['gain'] + if "adc" in ads_conf: + from Adafruit_ADS1x15 import ADS1115 + from Adafruit_ADS1x15 import ADS1015 + adc_count=0 + tadc=ads_conf['adc'] + for x in tadc: + y=tadc[x] + adc_address=0x48 + if "address" in y: + adc_address=int(y['address'],16) + abc_bus=1 + if "busnum" in y: + adc_bus=y['busnum'] + adc_type=1015 + if "type" in y: + adc_type=y['type'] + adc_assigned=False + if adc_type == 1115: + try: + adc[adc_count]=ADS1115(address=adc_address,busnum=adc_bus) + adc_assigned=True + except: + print("could not assign ADC") + if adc_type == 1015: + try: + adc[adc_count]=ADS1015(address=adc_address,busnum=adc_bus) + adc_assigned=True + except: + print("could not assign ADC") + if adc_assigned: + for j in range(4): + channel_names.append("a"+str(adc_count)+"_"+str(j)) + adc_count=adc_count+1 + else: + badc=False + return (badc,adc) diff --git a/logger.py b/logger.py index eacf2a8..5ffc6e9 100755 --- a/logger.py +++ b/logger.py @@ -5,12 +5,7 @@ import os, serial,time,socket,sys,json,logging,requests,getopt # import the server implementation # import ADC import vedirect - -def upload_osm(sensor_id,value): - url="https://ingress.opensensemap.org/boxes/%s/%s" % (sensebox_id,sensor_id) - r = requests.post(url,json={'value': value}) - if r.status_code != requests.codes.ok: - print("Error %d: %s" % (r.status_code,r.text)) +import upload_osm configfile="config.json" cf=open(configfile,"r") @@ -144,51 +139,7 @@ if "vedirect" in log_conf: # declare adc badc=False if "ads1x15" in log_conf: - badc=True - if "enable" in log_conf['ads1x15']: - if log_conf['ads1x15']['enable'] == 0: - badc=False - if badc: - adc={} - GAIN=1 - if "gain" in log_conf['ads1x15']: - GAIN=log_conf['ads1x15']['gain'] - if "adc" in log_conf['ads1x15']: - from Adafruit_ADS1x15 import ADS1115 - from Adafruit_ADS1x15 import ADS1015 - adc_count=0 - tadc=log_conf['ads1x15']['adc'] - for x in tadc: - y=tadc[x] - adc_address=0x48 - if "address" in y: - adc_address=int(y['address'],16) - abc_bus=1 - if "busnum" in y: - adc_bus=y['busnum'] - adc_type=1015 - if "type" in y: - adc_type=y['type'] - adc_assigned=False - if adc_type == 1115: - try: - adc[adc_count]=ADS1115(address=adc_address,busnum=adc_bus) - adc_assigned=True - except: - print("could not assign ADC") - if adc_type == 1015: - try: - adc[adc_count]=ADS1015(address=adc_address,busnum=adc_bus) - adc_assigned=True - except: - print("could not assign ADC") - if adc_assigned: - for j in range(4): - channel_names.append("a"+str(adc_count)+"_"+str(j)) - adc_count=adc_count+1 - else: - badc=False - +badc,adc = ads1x15.init(log_conf['ads1x15']) ch_val=np.zeros(len(channel_names)) for i in range(len(channel_names)): @@ -277,7 +228,7 @@ while a > 1: if channel_names[i] in push_vars: if push_counter == push_count: sense_data=push_data[channel_names[i]]/(1000*push_mean_counts[channel_names[i]]) - upload_osm(sensebox_sid[channel_names[i]],round(sense_data,2)) + upload_osm.upload_osm(sensebox_sid[channel_names[i]],round(sense_data,2)) push_data[channel_names[i]]=0 push_mean_counts[channel_names[i]]=0 else: