from sense_hat import SenseHat from datetime import datetime import time from pathlib import Path import csv sense = SenseHat() def float_format(f): return '{:.2f}'.format(f) def get_data(): humidity = float_format(sense.get_humidity()) temp_humidity = float_format(sense.get_temperature_from_humidity()) #print("Humidity sensor : {} %rH , {} °C".format(humidity, temp_humidity)) pressure = float_format(sense.get_pressure()) temp_pressure = float_format(sense.get_temperature_from_pressure()) #print("Pressure sensor : {} Millibars , {} °C".format(pressure, temp_pressure)) return [datetime.now().timestamp(), humidity, temp_humidity, pressure, temp_pressure] # Create folder to store the data data_folder = Path('./data') data_folder.mkdir(parents=True, exist_ok=True) try: while(True): current_month = datetime.now().month file_date = datetime.now().strftime('%Y_%m_%d_%H_%M') file_name = data_folder/str('sense_hat_data_' + file_date + '.csv') with file_name.open('w') as csvfile: writer = csv.writer(csvfile) writer.writerow(['timestamp', 'humidity', 'temp_humidity', 'pressure', 'temp_pressure']) while(True): writer.writerow(get_data()) time.sleep(1) if(current_month != datetime.now().month): break except KeyboardInterrupt: pass