#!/usr/bin/env python3 import RPi.GPIO as GPIO import adafruit_dht import time from datetime import datetime def get_sensor_data(dht22): try: temperature = 9./5. * dht22.temperature + 32. humidity = dht22.humidity return temperature, humidity except RuntimeError as e: print("Reading from DHT failure: ", e.args) return None if __name__ == "__main__": # Setup for Hardware DHT22_PIN = 4 dht_device = adafruit_dht.DHT22(4) file = '/home/pi/code/garden/dht22/log.csv' with open(file,'a') as f: try: while True: data = get_sensor_data(dht22=dht_device) if data: temperature, humidity = get_sensor_data(dht22=dht_device) current_time = datetime.now().strftime("%D %H:%M:%S") print(f'{humidity:.2f}% {temperature:.2f}degF') f.write(f'{current_time},{humidity:.2f},{temperature:.2f}\n') time.sleep(14.9) else: time.sleep(0.1) finally: GPIO.cleanup()