From f1671adb4aae36e6c96d708821d9ec6a929070c7 Mon Sep 17 00:00:00 2001 From: Rousseau Vincent <vincent.rousseau@irstea.fr> Date: Thu, 3 Jan 2019 12:29:57 +0100 Subject: [PATCH] Write data to csv --- environmental_sensors.py | 43 ++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/environmental_sensors.py b/environmental_sensors.py index 75044f2..caeebb3 100644 --- a/environmental_sensors.py +++ b/environmental_sensors.py @@ -1,11 +1,42 @@ from sense_hat import SenseHat +from datetime import datetime +import time +from pathlib import Path +import csv sense = SenseHat() -humidity = sense.get_humidity() -temp_humidity = sense.get_temperature_from_humidity() -print("Humidity sensor : {:.2f} %rH , {:.2f} °C".format(humidity, temp_humidity)) +def float_format(f): + return '{:.2f}'.format(f) -pressure = sense.get_pressure() -temp_pressure = sense.get_temperature_from_pressure() -print("Pressure sensor : {:.2f} Millibars , {:.2f} °C".format(pressure, temp_pressure)) +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_minute = datetime.now().minute + 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_minute != datetime.now().minute): + break + +except KeyboardInterrupt: + pass -- GitLab