import os.path import csv import time import datetime import RPi.GPIO as GPIO import bh1750fvi_input import dht11_input import ds18b20_input import mcp3204_input # initialize GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) try: while True: # get filename today = datetime.date.today() filename = '/home/pi/data_' + today.strftime('%Y%m%d') + '.txt' filename2 = '/home/pi/data_' + today.strftime('%Y%m%d') + '.csv' # new file if not os.path.exists(filename): with open(filename, mode = 'w') as f: f.write('< 管理システム用データ : ' + str(today) + ' >') if not os.path.exists(filename2): with open(filename2, 'w') as f2: writer = csv.writer(f2) writer.writerow(['時間', '照度', '空中温度', '空中湿度', '地中温度-1', '地中温度-2', '地中水分量-1', '地中水分量-2']) # read current time rTime = datetime.datetime.now() print(rTime) # read each sensore lxd = bh1750fvi_input.bh1750fvi_data() ta1, ha1 = dht11_input.dht11_data() tug = ds18b20_input.ds18b20_data() hug = mcp3204_input.mcp3204_data() # file write with open(filename, mode = 'a') as f: f.write('\n\n' + '--- 測定時間: ' + rTime.strftime('%H:%M:%S') + ' ---') f.write('\n' + '照度: ' + lxd + ' lux') f.write('\n' + '空中温度: ' + ta1 + ' C') f.write('\n' + '空中湿度: ' + ha1 + ' %') f.write('\n' + '地中温度-1: ' + tug[0] + ' C') f.write('\n' + '地中温度-2: ' + tug[1] + ' C') f.write('\n' + '地中水分量-1: ' + hug[0] + ' %') f.write('\n' + '地中水分量-2: ' + hug[1] + ' %') print() # file write for graph with open(filename2, 'a') as f2: writer = csv.writer(f2) writer.writerow([rTime.strftime('%H:%M:%S'), lxd, ta1, ha1, tug[0], tug[1], hug[0], hug[1]]) # wait 30min time.sleep(60 * 30) # time.sleep(5) #test only except KeyboardInterrupt: pass GPIO.cleanup()