From: Phil Howard Date: Tue, 20 Aug 2019 15:22:05 +0000 (+0100) Subject: Merged cipy-improved-logging, omitted luftdaten.py for now X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02-2.git/commitdiff_plain/23cf04451d7cb0d6acf6b4b55bd3f57d11c6cc24?hp=-c Merged cipy-improved-logging, omitted luftdaten.py for now --- 23cf04451d7cb0d6acf6b4b55bd3f57d11c6cc24 diff --combined examples/compensated-temperature.py index 7d0d0f1,6a9c115..74b6bab --- a/examples/compensated-temperature.py +++ b/examples/compensated-temperature.py @@@ -2,13 -2,21 +2,20 @@@ import time from bme280 import BME280 -from subprocess import PIPE, Popen try: from smbus2 import SMBus except ImportError: from smbus import SMBus - print("""compensated-temperature.py - Use the CPU temperature + 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("""compensated-temperature.py - Use the CPU temperature to compensate temperature readings from the BME280 sensor. Method adapted from Initial State's Enviro pHAT review: https://medium.com/@InitialState/tutorial-review-enviro-phat-for-raspberry-pi-4cd6d8c63441 @@@ -23,17 -31,16 +30,17 @@@ bme280 = BME280(i2c_dev=bus # Get the temperature of the CPU for compensation def get_cpu_temperature(): - process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE, universal_newlines=True) - output, _error = process.communicate() - return float(output[output.index('=') + 1:output.rindex("'")]) + with open("/sys/class/thermal/thermal_zone0/temp", "r") as f: + temp = f.read() + temp = int(temp) / 1000.0 + return temp # Tuning factor for compensation. Decrease this number to adjust the # temperature down, and increase to adjust up factor = 0.8 - cpu_temps = [0] * 5 + cpu_temps = [get_cpu_temperature()] * 5 while True: cpu_temp = get_cpu_temperature() @@@ -42,5 -49,5 +49,5 @@@ avg_cpu_temp = sum(cpu_temps) / float(len(cpu_temps)) raw_temp = bme280.get_temperature() comp_temp = raw_temp - ((avg_cpu_temp - raw_temp) / factor) - print("Compensated temperature: {:05.2f} *C".format(comp_temp)) + logging.info("Compensated temperature: {:05.2f} *C".format(comp_temp)) time.sleep(1.0) diff --combined examples/luftdaten.py index 358d442,85e3cb2..9995914 --- a/examples/luftdaten.py +++ b/examples/luftdaten.py @@@ -13,7 -13,14 +13,7 @@@ try 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. @@@ -74,6 -81,6 +74,7 @@@ def read_values() def get_cpu_temperature(): 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("'")]) @@@ -163,8 -170,8 +164,8 @@@ font_size = 1 font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", 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() @@@ -174,11 -181,11 +175,11 @@@ while True try: time_since_update = time.time() - update_time values = read_values() - logging.info(values) + print(values) if time_since_update > 145: resp = send_to_luftdaten(values, id) update_time = time.time() - logging.info("Response: {}\n".format("ok" if resp else "failed")) + print("Response: {}\n".format("ok" if resp else "failed")) display_status() except Exception as e: - logging.info(e) + print(e)