Merge branch 'master' into improved-logging
authorCiprian Manea <ciprian.manea@gmail.com>
Sun, 18 Aug 2019 19:25:58 +0000 (22:25 +0300)
committerGitHub <noreply@github.com>
Sun, 18 Aug 2019 19:25:58 +0000 (22:25 +0300)
1  2 
examples/luftdaten.py

diff --combined examples/luftdaten.py
index dd6e967708664f4e3be22233904f576f2ea3c240,27478c590c06088cea81334723a92417de559359..85e3cb26cd0109b5dad28ea43df075cca540a1c5
@@@ -2,6 -2,7 +2,7 @@@
  
  import requests
  import ST7735
+ import time
  from bme280 import BME280
  from pms5003 import PMS5003, ReadTimeoutError
  from subprocess import PIPE, Popen, check_output
@@@ -12,14 -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.
  
@@@ -78,7 -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("'")])
  
@@@ -169,16 -163,22 +170,22 @@@ font_size = 1
  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()
  # 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)
 +        logging.info(values)
-         resp = send_to_luftdaten(values, id)
-         logging.info("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"))
++            logging.info("Response: {}\n".format("ok" if resp else "failed"))
          display_status()
      except Exception as e:
 -        print(e)
 +        logging.info(e)