import time
from bme280 import BME280
-from subprocess import PIPE, Popen
try:
from smbus2 import SMBus
# 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
import requests
import ST7735
+import time
from bme280 import BME280
from pms5003 import PMS5003, ReadTimeoutError
from subprocess import PIPE, Popen, check_output
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)