Merge branch 'master' into improved-logging
[EVA-2020-02-2.git] / examples / luftdaten.py
index 27478c590c06088cea81334723a92417de559359..85e3cb26cd0109b5dad28ea43df075cca540a1c5 100755 (executable)
@@ -13,7 +13,14 @@ try:
 except ImportError:
     from smbus import SMBus
 
 except ImportError:
     from smbus import SMBus
 
-print("""luftdaten.py - Reads temperature, pressure, humidity,
+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,
 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.
 
@@ -72,7 +79,7 @@ def read_values():
 
 # Get CPU temperature to use for compensation
 def get_cpu_temperature():
 
 # 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()
     return float(output[output.index('=') + 1:output.rindex("'")])
 
     output, _error = process.communicate()
     return float(output[output.index('=') + 1:output.rindex("'")])
 
@@ -163,8 +170,8 @@ 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
-print("Raspberry Pi serial: {}".format(get_serial_number()))
-print("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected"))
+logging.info("Raspberry Pi serial: {}".format(get_serial_number()))
+logging.info("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected"))
 
 time_since_update = 0
 update_time = time.time()
 
 time_since_update = 0
 update_time = time.time()
@@ -174,11 +181,11 @@ while True:
     try:
         time_since_update = time.time() - update_time
         values = read_values()
     try:
         time_since_update = time.time() - update_time
         values = read_values()
-        print(values)
+        logging.info(values)
         if time_since_update > 145:
             resp = send_to_luftdaten(values, id)
             update_time = time.time()
         if time_since_update > 145:
             resp = send_to_luftdaten(values, id)
             update_time = time.time()
-            print("Response: {}\n".format("ok" if resp else "failed"))
+            logging.info("Response: {}\n".format("ok" if resp else "failed"))
         display_status()
     except Exception as e:
         display_status()
     except Exception as e:
-        print(e)
+        logging.info(e)