Пример #1
0
def main():
    config = gardentools.get_config()
    GPIO.setmode(GPIO.BOARD)
    watered = pump(config)
    if config['camera']['enabled'] and config['camera'][
            'frequency'] == 'on pump':
        photo = camera.take_picture()
    else:
        photo = None
    with gardentools.Logs('opengardener.db') as logs:
        logs.write(watered=watered, photo_path=photo)
Пример #2
0
def home():
    with gardentools.Logs('opengardener.db') as db:
        logs = db.get(5)
        latest_image = db.get_latest_image()
        headers = db.columns
    if not latest_image or latest_image == '/static/img/plant/':
        latest_image = '/static/img/logo.png'
    return flask.render_template('home.html',
                                 logs=logs,
                                 latest_image=latest_image,
                                 headers=headers)
Пример #3
0
def image_logs():
    with gardentools.Logs() as db:
        logs = db.get()
    logs = [log for log in logs if log.get('photo_path')]
    photos = [[]]
    for row in logs:
        if row.get('photo_path'):
            photo = row.get('photo_path')
            if len(photos[-1]) == 5:
                photos.append([])
            if photo != '/static/img/plant/':
                photos[-1].append(photo)
    return flask.render_template('photos.html', photos=photos)
Пример #4
0
def main():
    config = gardentools.get_config()
    pin = config['light_sensor']['pin']
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(pin, GPIO.IN, GPIO.PUD_DOWN)
    dark = GPIO.input(pin)
    if dark:
        dark = True
        if config['light']['enabled'] and config['light'][
                'frequency'] == 'when dark':
            light_enabled = light.main()
        else:
            light_enabled = None
    else:
        dark = False
        light_enabled = None
    with gardentools.Logs('opengardener.db') as db:
        db.write(dark=dark, light_enabled=light_enabled)
Пример #5
0
def main():
    config = gardentools.get_config()
    moisture_pin = config['moisture_sensor']['pin']
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(moisture_pin, GPIO.IN, GPIO.PUD_DOWN)
    dry = GPIO.input(moisture_pin)
    if dry:
        dry = True
        if config['pump']['enabled'] and config['pump']['frequency'] == 'when dry':
            watered = pump.pump()
        else:
            watered = None
        if config['camera']['enabled'] and config['pump']['frequency'] == 'when dry':
            photo = camera.take_picture()
        else:
            photo = None
    else:
        dry = False
        watered = None
        photo = None
    with gardentools.Logs('opengardener.db') as db:
        db.write(dry=dry, photo_path=photo, watered=watered)
Пример #6
0
def main():
    picture = take_picture()
    with gardentools.Logs('opengardener.db') as logs:
        logs.write(photo_path=picture)
Пример #7
0
def text_logs():
    with gardentools.Logs() as db:
        logs = db.get()
        headers = db.columns
    return flask.render_template('logs.html', logs=logs, headers=headers)