Drop Python 2.6
[EVA-2020-02-2.git] / examples / compensated-temperature.py
index 6a9c115ed05cf3d6229f5ead5178724a1f1967d4..b648f57608a02c5a8a523b90a88884d545dac979 100755 (executable)
@@ -1,8 +1,7 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
 import time
 from bme280 import BME280
-from subprocess import PIPE, Popen
 
 try:
     from smbus2 import SMBus
@@ -31,14 +30,15 @@ bme280 = BME280(i2c_dev=bus)
 
 # Get the temperature of the CPU for compensation
 def get_cpu_temperature():
-    process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE, universal_newlines=True)
-    output, _error = process.communicate()
-    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
 # temperature down, and increase to adjust up
-factor = 0.8
+factor = 2.25
 
 cpu_temps = [get_cpu_temperature()] * 5