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
Beispiel #4
0
    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()