Merge branch 'master' of git://github.com/topshed/enviroplus-python into topshed...
authorPhil Howard <phil@gadgetoid.com>
Tue, 20 Aug 2019 15:08:53 +0000 (16:08 +0100)
committerPhil Howard <phil@gadgetoid.com>
Tue, 20 Aug 2019 15:08:53 +0000 (16:08 +0100)
examples/all-in-one-no-pm.py [changed mode: 0644->0755]
examples/compensated-temperature.py
examples/luftdaten.py

old mode 100644 (file)
new mode 100755 (executable)
index 048eb804fde2096a7c170bef086a94d8258ec4d0..7d0d0f1bd565821c26cd8af7ee12813b001b3c0f 100755 (executable)
@@ -2,7 +2,6 @@
 
 import time
 from bme280 import BME280
-from subprocess import PIPE, Popen
 
 try:
     from smbus2 import SMBus
@@ -24,10 +23,10 @@ bme280 = BME280(i2c_dev=bus)
 
 # Get the temperature of the CPU for compensation
 def get_cpu_temperature():
-    process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE)
-    output, _error = process.communicate()
-    output = output.decode()
-    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
index 99a40c0cdc7dc3562c99986784eda8c040307233..77a6d820d70e327d7affc3ed5f4a887eab19ba02 100755 (executable)
@@ -2,6 +2,7 @@
 
 import requests
 import ST7735
+import time
 from bme280 import BME280
 from pms5003 import PMS5003, ReadTimeoutError
 from subprocess import PIPE, Popen, check_output
@@ -166,13 +167,19 @@ font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", font_size)
 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:
+        time_since_update = time.time() - update_time
         values = read_values()
         print(values)
-        resp = send_to_luftdaten(values, id)
-        print("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"))
         display_status()
     except Exception as e:
         print(e)