#!/usr/bin/python3 import argparse import time import pigpio def dayseconds(): Now = time.localtime() return Now.tm_hour*60*60 + Now.tm_min*60 + Now.tm_sec def file_name(Prefix=""): Start = time.localtime() print(Prefix) return Prefix+"soildata-py_{}-{}-{}.dat".format(Start.tm_year,Start.tm_mon,Start.tm_mday) Parser = argparse.ArgumentParser(description="DataCollection of the bme280 Sensor from adafruit. Tmeperature, Humidity, Pressure and more is shown and stored at the same time.") Parser.add_argument("--prefix",metavar="PATH",help="Prefix for the OUPUT-FILE; usually a certain folder.",type=str,required=False) Parser.add_argument("-p",metavar="N",help="Set Pulse to N µs, default p = 20µs.", default=[20], type=int,nargs=1,required=False) Parser.add_argument("-s",metavar="N",help="Set sample rate to N deciseconds [10^-1 s]; default s = 10.",default=[10],type=int,nargs=1,required=False) Parser.add_argument("-g",metavar="N",help="Listen to GPIO-Pin(s) N, where soil humidity sensors are connected.",nargs="+",type=int,required=True) Args = Parser.parse_args() Sensors = Args.g #Read from GPIO XX Head = "DailySecond\t"+"\t".join("GPIO_"+str(Gpio) for Gpio in Sensors) Units = "#[s]\t"+"\t".join("[Hz]" for Gpio in Sensors) Prefix = "" PulseMS = 10 PulseDelay = 20 PinMask = 0 Time = 0 TimeLast = 0 if Args.prefix: Prefix = Args.prefix if Prefix[-1] != "/": Prefix += "/" if Args.p: PulseDelay = Args.p[0] if Args.s: PulseMS = Args.s[0] for Pin in Sensors: PinMask |= 1<