X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02-2.git/blobdiff_plain/10b73e181c132294ea7ab9ee8b0ddc1fb2670781..97ee1d88e84df79d82c3ca20eb89378c65197f9a:/examples/luftdaten.py?ds=inline diff --git a/examples/luftdaten.py b/examples/luftdaten.py index dd6e967..d2d6562 100755 --- a/examples/luftdaten.py +++ b/examples/luftdaten.py @@ -1,25 +1,20 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import requests import ST7735 +import time from bme280 import BME280 from pms5003 import PMS5003, ReadTimeoutError from subprocess import PIPE, Popen, check_output from PIL import Image, ImageDraw, ImageFont +from fonts.ttf import RobotoMedium as UserFont try: from smbus2 import SMBus except ImportError: from smbus import SMBus -import logging - -logging.basicConfig( - format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s', - level=logging.INFO, - datefmt='%Y-%m-%d %H:%M:%S') - -logging.info("""luftdaten.py - Reads temperature, pressure, humidity, +print("""luftdaten.py - Reads temperature, pressure, humidity, PM2.5, and PM10 from Enviro plus and sends data to Luftdaten, the citizen science air quality project. @@ -155,7 +150,7 @@ def send_to_luftdaten(values, id): # Compensation factor for temperature -comp_factor = 1.2 +comp_factor = 2.25 # Raspberry Pi ID to send to Luftdaten id = "raspi-" + get_serial_number() @@ -166,19 +161,25 @@ HEIGHT = disp.height # Text settings font_size = 16 -font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", font_size) +font = ImageFont.truetype(UserFont, font_size) # Display Raspberry Pi serial and Wi-Fi status -logging.info("Raspberry Pi serial: {}".format(get_serial_number())) -logging.info("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected")) +print("Raspberry Pi serial: {}".format(get_serial_number())) +print("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected")) + +time_since_update = 0 +update_time = time.time() # Main loop to read data, display, and send to Luftdaten while True: try: + time_since_update = time.time() - update_time values = read_values() - logging.info(values) - resp = send_to_luftdaten(values, id) - logging.info("Response: {}\n".format("ok" if resp else "failed")) + print(values) + if time_since_update > 145: + resp = send_to_luftdaten(values, id) + update_time = time.time() + print("Response: {}\n".format("ok" if resp else "failed")) display_status() except Exception as e: - logging.info(e) + print(e)