ef2582dfa7
Signed-off-by: Thomas Klaehn <thomas.klaehn@u-blox.com>
29 lines
884 B
Python
29 lines
884 B
Python
'''Module for sensor implementations'''
|
|
try:
|
|
import Adafruit_DHT
|
|
except ImportError:
|
|
raise ImportError('Adafruit_DHT library not found.')
|
|
|
|
def is_valid(temperature, humidity):
|
|
'''Check if temperature and humidity are valid.'''
|
|
return True if humidity <= 100.0 and humidity >= 0.0 and \
|
|
temperature <= 100.0 and temperature >= -50.0 else False
|
|
|
|
class Dht22(object):
|
|
'''DHT 22 temperature and Humidity sensor class.'''
|
|
sensor = 22
|
|
pin = int()
|
|
|
|
def __init__(self, pin):
|
|
self.pin = pin
|
|
|
|
def read(self):
|
|
'''Read temperature and humidity.'''
|
|
temperature = -200.0
|
|
humidity = -1.0
|
|
valid = False
|
|
while valid is False:
|
|
temperature, humidity = Adafruit_DHT.read_retry(self.sensor, self.pin)
|
|
valid = is_valid(temperature, humidity)
|
|
return temperature, humidity
|