def H2S(self): # print("Configuring parameters for the H2S") lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x20) lmp.get_REFVOLTAGE(0x80) lmp.get_BIAS(0x08) lmp.get_BIAS_SIGN(0x10) lmp.get_ADC_GAIN(0x04) ads.get_ads_config0(0x7C) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00)
def O3(): print("Configuring parameters for the O3") lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x20) lmp.get_REFVOLTAGE(0x80) lmp.get_BIAS(0x01) lmp.get_BIAS_SIGN(0x00) lmp.get_ADC_GAIN(0x0C) ads.get_ads_config0(0x7C) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00)
def Test3(self): # print(Bias = -1) lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x10) lmp.get_REFVOLTAGE(0x80) lmp.get_BIAS(0x01) lmp.get_BIAS_SIGN(0x00) lmp.get_ADC_GAIN(0x01) ads.get_ads_config0(0x00) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00)
def readSensors(boardAdr, s1, s2, cvals): # parameters = {} # parameters[boardAdr] = {"spec1": eeprom.realSensorData(boardAdr,1), "spec2": eeprom.realSensorData(boardAdr,2)} # print parameters # cvals = parameters#calibrate(boardAdr) #print boardAdr, s1, s2, cvals temperature, humidity, pressure = other_sensor() board.call_pca(boardAdr) time.sleep(0.4) time.sleep(0.4) time.sleep(0.4) ads.get_ads_config0(0x70) time.sleep(0.4) #print "sensor 1" val2 = float(conf_sensor1()) time.sleep(0.4) ads.get_ads_config0(0x60) time.sleep(0.4) #print "sensor2" val1 = float(conf_sensor2()) time.sleep(0.4) time.sleep(0.39) #print cvals type1 = str(cvals[boardAdr]['spec1'][0]) type2 = str(cvals[boardAdr]['spec2'][0]) sensitivity1 = float(cvals[boardAdr]['spec1'][1]) sensitivity2 = float(cvals[boardAdr]['spec2'][1]) baseline1 = float(cvals[boardAdr]['spec1'][2]) baseline2 = float(cvals[boardAdr]['spec2'][2]) zero1 = float(cvals[boardAdr]['spec1'][3]) zero2 = float(cvals[boardAdr]['spec2'][3]) span1 = float(cvals[boardAdr]['spec1'][4]) span2 = float(cvals[boardAdr]['spec2'][4]) unit1 = cvals[boardAdr]['spec1'][5] unit2 = cvals[boardAdr]['spec2'][5] #print val1, val2 #con1 = transform(temperature, val1, sensitivity1, baseline1, zero1, span1, type1) #con2 = transform(temperature, val2, sensitivity2, baseline2, zero2, span2, type2) con1 = val1 con2 = val2 print str("Concentration " + str(type1)+ ":" + str(con1)+", " + "Concentration " + str(type2)+ ":" + str(con2)) #if boardAdr=='87': dataline = {"temperature": temperature, "humidity": humidity, "pressure": pressure, "address": boardAdr, "typeSensor1": str(str(type1)+"("+str(boardAdr)+")"), "valueSensor1": val1, "concentrationSensor1": str(con1), "unit1": str(unit1), "typeSensor2":str(str(type2)+"("+str(boardAdr)+")"), "valueSensor2": val2, "unit2": str(unit2), "concentrationSensor2": str(con2)} print dataline return dataline
def NO2(): print("Configuring parameters for the NO2") lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x20) lmp.get_REFVOLTAGE(0x80) # print "AT NO2 Bias" lmp.get_BIAS(0x06) lmp.get_BIAS_SIGN(0x00) lmp.get_ADC_GAIN(0x0C) ads.get_ads_config0(0x64) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00)
def Tox(): # print("Configuring parameters for the Tox") lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x20) lmp.get_REFVOLTAGE(0x80) # print "AT TOX Bias" lmp.get_BIAS(0x05) lmp.get_BIAS_SIGN(0x10) lmp.get_ADC_GAIN(0x04) ads.get_ads_config0(0x50) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00)
def Tor(self): # print("Configuring parameters for the Tor") try: lmp.get_OPMODE(0x03) lmp.get_TIAGAIN(0x00) lmp.get_RLOAD(0x00) lmp.get_INTZSEL(0x20) lmp.get_REFVOLTAGE(0x80) lmp.get_BIAS(0x06) lmp.get_BIAS_SIGN(0x00) lmp.get_ADC_GAIN(0x0C) ads.get_ads_config0(0x7C) ads.get_ads_config1(0x00) ads.get_ads_config2(0x40) ads.get_ads_config3(0x00) except: print "FAIL"
def load_board(boardAdr): board.call_pca(boardAdr) t.sleep(0.4) ts = t.time() t.sleep(0.4) print ts, t.sleep(0.4) ads.get_ads_config0(0x70) t.sleep(0.4) #print "sensor 1" conf_sensor1() t.sleep(0.4) ads.get_ads_config0(0x60) t.sleep(0.4) #print "sensor2" conf_sensor2() t.sleep(0.4) t.sleep(0.39)
def load_board(): # for i in range (0,1): # addr = board_addr[i] board.call_pca(0x57) t.sleep(1) # print "\n Board %ld %ld" %(i, board_addr[i]) logfile.write("\n Board ") # logfile.write(str(board_addr[i])) ts = t.time() print "\n time %ld" %ts logfile.write("\nTimestamp = ") logfile.write(str(ts)) print("\n SENSOR 1 ") ads.get_ads_config0(0x7C) sensor1_conf() t.sleep(0.1) print("\n SENSOR 2 ") ads.get_ads_config0(0x64) sensor2_conf()
#board_init(board_addr[1]) #board_init(board_addr[2]) board_init(board_addr[3]) def conf_sensor1(): # print("sensor 1:") dc.s1_avg_data() sensor1Data = ads.get_readData() s1_avg = dc.get_s1Avg() def conf_sensor2(): # print("sensor 2:") dc.s2_avg_data() sensor2Data = ads.get_readData() s2_avg = dc.get_s2Avg() while 1==1: ts = t.time() t.sleep(0.4) ads.get_ads_config0(0x70) t.sleep(0.4) conf_sensor1() t.sleep(0.4) ads.get_ads_config0(0x60) t.sleep(0.4) conf_sensor2()
def read(self, board, slot1, slot2, selftest=False): pca.pca_init(board) # pm_types = ["OPC", "PPD42", "PPD60", "SHARP"] # else: # print "Reading Sensors on "+str(board)+", where Slot1: "+str(slot1)+" / Slot2: "+str(slot2) temperature, humidity, pressure = self.met_sensors() # time.sleep(0.1) ads.get_ads_config0(0x60) # time.sleep(0.2) s1vals = self.__conf_gas1__(board) val1 = float(s1vals[0]) # time.sleep(0.2) ads.get_ads_config0(0x70) s2vals = self.__conf_gas2__(board) # time.sleep(0.2) val2 = float(s2vals[0]) testval1 = s1vals[2] testval2 = s2vals[2] type1, type2 = str(slot1[5]), str(slot2[5]) sensitivity1, sensitivity2 = str(slot1[4]), str(slot2[4]) baseline1, baseline2 = str(slot1[3]), str(slot2[3]) # if temperature <= 25: # zero1, zero2 = str(list(slot1[2])[0]), str(list(slot2[2])[0]) # span1, span2 = str(list(slot1[1])[0]), str(list(slot2[1])[0]) # else: zero1, zero2 = ( str(slot1[2]), str(slot2[2]), ) # str(list(slot1[2])[2]), str(list(slot2[2])[2])# str(slot1[2]), str(slot2[2]) span1, span2 = ( str(slot1[1]), str(slot2[1]), ) # str(list(slot1[1])[2]), str(list(slot2[1])[2])#str(slot1[1]), str(slot2[1]) print zero1, zero2, span1, span2 unit1, unit2 = str(slot1[0]), str(slot2[0]) con1 = self.__calculate_concentration__( temperature, val1, sensitivity1, baseline1, zero1, span1, type1.lower().strip("-") ) con2 = self.__calculate_concentration__( temperature, val2, sensitivity2, baseline2, zero2, span2, type2.lower().strip("-") ) print str("Raw: " + str(type1) + ":" + str(val1) + ", " + "Raw " + str(type2) + ":" + str(val2)) dataline = { "temperature": temperature, "humidity": humidity, "pressure": pressure, "address": board, "typeSensor1": str(str(type1)), "raw_value_slot1": val1, "concentration_slot1": str(con1), "unit1": str(unit1), "typeSensor2": str(str(type2)), "raw_value_slot2": val2, "unit2": str(unit2), "concentration_slot2": str(con2), } testdataline = { "temperature": temperature, "humidity": humidity, "pressure": pressure, "address": board, "typeSensor1": str(str(type1)), "raw_value_slot1": testval1, "concentration_slot1": str(testval1), "unit1": str(unit1), "typeSensor2": str(str(type2)), "raw_value_slot2": testval2, "unit2": str(unit2), "concentration_slot2": str(testval2), } if selftest: return testdataline else: return dataline