36 lines
997 B
Python
36 lines
997 B
Python
from dht import DHT22
|
|
from machine import ADC, Pin
|
|
|
|
|
|
class TemperatureHumiditySensor:
|
|
sensor_pin_int = -1
|
|
|
|
sensor = None
|
|
|
|
most_recent_values = []
|
|
|
|
def __init__(self, settings):
|
|
print("Initialize dht22 sensor. Sensor pin is: " + str(settings['pin_int']))
|
|
print(settings)
|
|
self.sensor_pin_int = settings['pin_int']
|
|
self.sensor = DHT22(Pin(self.sensor_pin_int, Pin.IN, Pin.PULL_UP))
|
|
|
|
def read(self):
|
|
try:
|
|
self.sensor.measure()
|
|
self.most_recent_values = [
|
|
{
|
|
'type': 'temperature',
|
|
'value': self.sensor.temperature(),
|
|
'unit': 'C'
|
|
},
|
|
{
|
|
'type': 'humidity',
|
|
'value': self.sensor.humidity(),
|
|
'unit': '%'
|
|
}
|
|
]
|
|
except OSError:
|
|
print('DHT22 Error reading temperature/humidity. Check wires')
|
|
print()
|