38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
from gs.classes.a_sensors import Sensors
|
|
from dht import DHT22
|
|
from machine import ADC, Pin
|
|
|
|
|
|
class TemperatureHumiditySensor(Sensors):
|
|
|
|
sensor = None
|
|
|
|
most_recent_values = []
|
|
|
|
def __init__(self, settings):
|
|
super().__init__(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()
|
|
|