This code pulls data from a BME280 Probe.
It returns the proper values. But my writing out to a .json file is wrong.
my output looks like this:
ProbeHum:55.58
ProbeTemp:84.0
ProbePress:29.81
ProbeDP:64.6
probeSP:19.4
My code:
#!/usr/bin/python3
import time
import math
import board
from adafruit_bme280 import basic as adafruit_bme280
i2c = board.I2C() # uses board.SCL and board.SDA
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
b = 17.62
c = 243.12
gamma = (b * bme280.temperature /(c + bme280.temperature)) + math.log(bme280.humidity / 100.0)
dewpoint = (c * gamma) / (b - gamma)
dewpoint= dewpoint *9 /5 +32
temperature = bme280.temperature * 9/5 +32
pressure = bme280.pressure /3386 *100 +.92
humidity = bme280.humidity +3.5
humidity = (round(humidity,2))
temperature =(round(temperature,2))
pressure = (round(pressure,2))
dewpoint = (round(dewpoint,2))
spread = (round(temperature-dewpoint,2))
probe = open("/home/pi/allsky/config/overlay/extra/usertemphum.txt","w")
probe.write ("ProbeHum:" +str(humidity)+"n")
probe.write ("ProbeTemp:" +str(temperature)+"n")
probe.write ("ProbePress:" +str(pressure)+"n")
probe.write ("ProbeDP:" +str(dewpoint)+"n")
probe.write ("probeSP:" +str(spread)+"n")
probe.close()
3