コード例 #1
0
def main():
    bme680.init()

    disp = display.open()
    disp.clear().update()

    while True:
        sensor_data = bme680.get_data()
        disp.clear()
        disp.print("BME680 Sensor")
        disp.print("{} C".format(str(sensor_data[0])), posy=20)
        disp.print("{} rh".format(str(sensor_data[1])), posy=40)
        disp.print("{} hPa".format(str(sensor_data[2])), posy=60)
        disp.update()
        utime.sleep(10)
コード例 #2
0
 def update_clock(self, display):
     fgcol = (55 * BRIGHTNESS, 55 * BRIGHTNESS, 55 * BRIGHTNESS)
     display.clear()
     (year, month, day, hour, minute, seconds, weekday, _yday) = utime.localtime()
     self.renderNum(display, hour, 1, fgcol)
     self.renderNum(display, minute, 13, fgcol)
     self.renderColon(display, fgcol)
     self.render_battery(display, os.read_battery())
     temperature, humidity, pressure, resistance = bme680.get_data()
     self.render_temperature(display, temperature)
     ccc_day = get_ccc_day()
     if ccc_day:
         date = 'Day {}'.format(ccc_day[0])
         date_color = ccc_day[1]
     else:
         date = '{}.{}'.format(day, MONTH_STRING[month - 1])
         date_color = (255, 255, 255)
     self.render_date(display, date, date_color)
     display.update()
コード例 #3
0
    def read_values(self, **kwargs):
        bme680.init()
        data = bme680.get_data()
        bme680.deinit()

        return list(data)
コード例 #4
0
ファイル: Air_Quality.py プロジェクト: bene987/card10-apps
        QualityColor = htmlcolor.CRIMSON
    else:
        QualityColor = htmlcolor.PURPLE
    LEDcount = round(gas_quality / 200 * numLEDs)
    leds.clear()
    for i in range(0, 10 - LEDcount):
        leds.set(i, QualityColor)
    leds.update()


bme680.init()
cont = True
numLEDs = 10

while cont:
    temperature, humidity, pressure, resistance = bme680.get_data()
    gas_quality = math.log(resistance) + 0.04 * math.log(
        resistance
    ) / humidity  #https://forums.pimoroni.com/t/bme680-observed-gas-ohms-readings/6608/17
    disp = display.open()
    disp.clear()
    disp.print("{:2.2f} °C".format(temperature),
               fg=[0, 255, 255],
               bg=[0, 0, 0],
               posx=0,
               posy=1)
    disp.print("{:2.2f} %r.h.".format(humidity),
               fg=[0, 255, 255],
               bg=[0, 0, 0],
               posx=0,
               posy=20)
コード例 #5
0
ファイル: main.py プロジェクト: nilshopf/AdvancedPython
# Vergleichswerte zum Kontrollieren der Messdaten
soil_moisture_check = 45  # Vergleichswert Bodenfeuchtigkeit in %
temperature_check = 26  # Vergleichswert Temperatur in °C
humidity_check = 80  # Vergleichswert Luftfeuchtigkeit in %
irrigation_time = 10  # Bewaesserungs Zeit in sek

ventilation_check = 0  # wird benoetigt, um den Luefter manuell zu steuern
"""------------------------------WEBSITE & THREADS-----------------------------------"""

# Befehle fuer Flask Webserver
app = Flask(__name__)
app.debug = False
app.use_reloader = False

# Erstmaliges auslesen der Sensordaten zum fuellen der Website
humidity, pressure, temperature = bme680.get_data()


# Festlegen der Website URL und der Funktion zum uebergeben der Daten an die Webseite
@app.route("/")
def hallo():
    return render_template("start.html",
                           soil_moisture=soil_moisture,
                           pressure=pressure,
                           temperature=temperature,
                           humidity=humidity)


# Funktion zum auslagern des Webservern auf einen eigenen Thread
def flaskThread():
    app.run(host="192.168.178.63")
コード例 #6
0
ファイル: __init__.py プロジェクト: derf/card10-datalogger
def run_loop():
    bat = [1, [0, 230, 00], [255, 215, 0], [255, 0, 0]]
    anim = 0
    write_timer = 0
    with display.open() as disp:
        disp.clear()
        disp.backlight(5)
        disp.print("@derfnull", posy=0)
        disp.update()
        disp.close()
    while True:
        pressed = buttons.read(buttons.BOTTOM_LEFT | buttons.BOTTOM_RIGHT)
        if pressed & buttons.BOTTOM_LEFT:
            anim += 1
        if pressed & buttons.BOTTOM_RIGHT:
            anim += 2
        if pressed:
            if anim > 4:
                anim = 0
            if anim == 0:
                leds.clear()
                leds.set_rocket(0, 0)
                leds.set_rocket(1, 0)
                leds.set_rocket(2, 0)
            if anim == 1:
                leds.set_rocket(0, 0)
                leds.set_rocket(1, 0)
                leds.set_rocket(2, 0)
                leds.gay(0.2)
            if anim == 2:
                leds.clear()
                leds.set_rocket(0, 2)
                leds.set_rocket(1, 15)
                leds.set_rocket(2, 15)
            if anim == 3:
                leds.clear()
                leds.set_rocket(0, 15)
                leds.set_rocket(1, 15)
                leds.set_rocket(2, 15)
            if anim == 4:
                leds.clear()
                leds.set_rocket(0, 0)
                leds.set_rocket(1, 0)
                leds.set_rocket(2, 0)
                leds.set(11, [127, 127, 127])
                leds.set(12, [127, 127, 127])
                leds.set(13, [127, 127, 127])
                leds.set(14, [127, 127, 127])
        sensor_data = bme680.get_data()
        ambient_light = light_sensor.get_reading()
        battery_voltage = os.read_battery()
        with display.open() as disp:
            disp.clear()
            render_battery(disp, bat, battery_voltage)
            disp.print("@derfnull", posy=0)
            disp.print("{:2.1f} C {:2.0f} %".format(sensor_data[0],
                                                    sensor_data[1]),
                       posy=20)
            disp.print("{:5.1f} hPa ".format(sensor_data[2]), posy=40)
            disp.print("{:4.1f} kOhm ".format(sensor_data[3] / 1000), posy=60)
            disp.update()
            disp.close()
        write_timer += 1
        if write_timer == 5:
            with open('sensorlog.txt', 'a') as f:
                f.write('{} {} {} {} {} {} {}\n'.format(
                    utime.time_ms(), sensor_data[0], sensor_data[1],
                    sensor_data[2], sensor_data[3], ambient_light,
                    battery_voltage))
            write_timer = 0
        utime.sleep(2)