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
 
-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.
 
@@ -72,7 +79,7 @@ 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()
     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
-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()
@@ -174,11 +181,11 @@ while True:
     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()
-            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:
-        print(e)
+        logging.info(e)