X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02-2.git/blobdiff_plain/ec0759414b8c76c42fe99e1ac9fcd2146899d545..7c3404f8cace2ebe8600e75d53f4b53c32c7002c:/examples/luftdaten.py?ds=inline diff --git a/examples/luftdaten.py b/examples/luftdaten.py index b7f0565..9995914 100755 --- a/examples/luftdaten.py +++ b/examples/luftdaten.py @@ -2,6 +2,7 @@ import requests import ST7735 +import time from bme280 import BME280 from pms5003 import PMS5003, ReadTimeoutError from subprocess import PIPE, Popen, check_output @@ -62,7 +63,7 @@ def read_values(): values["P2"] = str(pm_values.pm_ug_per_m3(2.5)) values["P1"] = str(pm_values.pm_ug_per_m3(10)) except ReadTimeoutError: - pms5003 = PMS5003() + pms5003.reset() pm_values = pms5003.read() values["P2"] = str(pm_values.pm_ug_per_m3(2.5)) values["P1"] = str(pm_values.pm_ug_per_m3(10)) @@ -71,8 +72,9 @@ def read_values(): # Get CPU temperature to use for compensation def get_cpu_temperature(): - process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE) + process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE, universal_newlines=True) output, _error = process.communicate() + output = output.decode() return float(output[output.index('=') + 1:output.rindex("'")]) @@ -165,13 +167,19 @@ font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", font_size) 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() print(values) - resp = send_to_luftdaten(values, id) - print("Response: {}\n".format("ok" if resp else "failed")) + 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: print(e)