def run(): avgTemp = Average('temperature', 100) avgPressure = Average('pressure', 100) avgAlt = Average('altitude', 100) avgSeaLevelPressure = Average('sea level pressure', 100) print "Time\tTemp\tPress\tAlt\tSealevel Pressure" print "--------------------------------------------------" while True: for _ in range(1,60): t = avgTemp.getAverage(sensor.read_temperature()) p = avgPressure.getAverage(sensor.read_pressure()) p0 = avgSeaLevelPressure.getAverage(read_sealevel_pressure(p, edmonton_altitude)) a = avgAlt.getAverage(read_altitude(p, p0)) sleep(10) #print ' Temp = {0:0.2f} *C'.format(t) #print ' Pressure = {0:0.2f} kPa'.format(p/1000) #print ' Altitude = {0:0.2f} m'.format(a) #print 'Sealevel Pressure = {0:0.2f} kPa'.format(p0/1000) #print '--------------------------------' now = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S') reading = "{0}\t{1:0.2f}\t{2:0.2f}\t{3:0.2f}\t{4:0.2f}".format(now, t, p/1000, a, p0/1000) log = open("pressure.csv",'a') print reading log.write(reading+"\n") log.close()
def get_pressure(): avgPressure = Average('pressure', 100) for i in range(0,62): p = avgPressure.getAverage(sensor.read_pressure()) return p
def get_temperature(): avgTemp = Average('temperature', 60) for _ in range(1,60): t = avgTemp.getAverage(sensor.read_temperature()) return t
GPIO.output(trigger, True) time.sleep(trigger_delay) GPIO.output(trigger, False) while GPIO.input(echo) == 0: ping_send = time.time() while GPIO.input(echo) == 1: ping_return = time.time() ping_time = ping_return - ping_send distance = ping_time * 17000 return distance print ("---- sonar ----") avgDistance = Average('distance', 10) try: while True: raw_distance = ping() distance = round(raw_distance/precision) * precision print "range: {0:4.1f}".format(avgDistance.getAverage(distance)) time.sleep(0.010) except KeyboardInterrupt: print "exiting..." GPIO.cleanup()