|
|
@ -13,6 +13,9 @@ except ImportError: # Wenn smbus2 nicht zu importieren ist, nehmen wir smbus |
|
|
|
import mysql.connector |
|
|
|
|
|
|
|
port = 1 |
|
|
|
# Der BME280 ist auf Meerehöhe kalibriert, so dass der gelieferte Luftdruck |
|
|
|
# vom tatsächlichen Druck am Ort abweicht. Dies müssen wir hier ausgleichen. |
|
|
|
__luftdruck_kalibrierung__ = 296 # Kalibrierung auf ortsbezogenen Luftdruck |
|
|
|
adresse_bme280 = 0x76 |
|
|
|
|
|
|
|
logging.basicConfig( format='%(asctime)s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) |
|
|
@ -46,12 +49,12 @@ lcd=LCD1602.LCD1602(16,2) |
|
|
|
# BME280 initialisieren |
|
|
|
bus = smbus2.SMBus(port) |
|
|
|
calibration_params = bme280.load_calibration_params(bus, adresse_bme280) |
|
|
|
debug('Sensor kalibriert.') |
|
|
|
debug(f'Sensor kalibriert. {calibration_params}') |
|
|
|
try: |
|
|
|
while True: |
|
|
|
data = bme280.sample(bus, adresse_bme280, calibration_params) |
|
|
|
temperature = data.temperature |
|
|
|
pressure = data.pressure |
|
|
|
pressure = data.pressure + __luftdruck_kalibrierung__ |
|
|
|
humidity = data.humidity |
|
|
|
info('{:05.2f}°C {:05.2f}hPa {:05.2f}%'.format(temperature, pressure, humidity)) |
|
|
|
print_weather(temperature,humidity, pressure) |
|
|
|