Sleep before first PMS5003 reading
[EVA-2020-02-2.git] / examples / luftdaten.py
index dd6e967708664f4e3be22233904f576f2ea3c240..9995914e23d71144c9f1e99ff11c58f7baaf4e69 100755 (executable)
@@ -2,6 +2,7 @@
 
 import requests
 import ST7735
 
 import requests
 import ST7735
+import time
 from bme280 import BME280
 from pms5003 import PMS5003, ReadTimeoutError
 from subprocess import PIPE, Popen, check_output
 from bme280 import BME280
 from pms5003 import PMS5003, ReadTimeoutError
 from subprocess import PIPE, Popen, check_output
@@ -12,14 +13,7 @@ try:
 except ImportError:
     from smbus 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.
 
 PM2.5, and PM10 from Enviro plus and sends data to Luftdaten,
 the citizen science air quality project.
 
@@ -80,6 +74,7 @@ def read_values():
 def get_cpu_temperature():
     process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE, universal_newlines=True)
     output, _error = process.communicate()
 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("'")])
 
 
     return float(output[output.index('=') + 1:output.rindex("'")])
 
 
@@ -169,16 +164,22 @@ font_size = 16
 font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", font_size)
 
 # Display Raspberry Pi serial and Wi-Fi status
 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()
 
 # Main loop to read data, display, and send to Luftdaten
 while True:
     try:
 
 # Main loop to read data, display, and send to Luftdaten
 while True:
     try:
+        time_since_update = time.time() - update_time
         values = read_values()
         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:
         display_status()
     except Exception as e:
-        logging.info(e)
+        print(e)