import os import picamera import RPi.GPIO as GPIO import time import datetime sensor = 23 busy = False #dirMax = 1000000000 dirMax = 10000000 GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) GPIO.setup(sensor, GPIO.IN, pull_up_down = GPIO.PUD_UP) def fileErace(dp): files = os.listdir(dp) files.sort() os.remove(dp + files[0]) return def dirSize(): getSize = 0 dirPath = '/home/pi/recording/' dirList = os.listdir(dirPath) for filename in dirList: getSize += os.path.getsize(os.path.join(dirPath,filename)) if getSize > dirMax: fileErace(dirPath) return def cameraOn(): with picamera.PiCamera() as camera: camera.resolution = (640, 480) camera.start_preview() time.sleep(2) camera.start_recording(filename) camera.wait_recording(5) camera.stop_recording() dirSize() return False try: while True: today = datetime.datetime.now() filename = '/home/pi/recording/' + today.strftime('%Y%m%d-%H:%M:%S') + '.h264' value=GPIO.input(sensor) if value != 0 and busy != True: print('CAMERA ON') busy = cameraOn() print('CAMERA OFF') else: print('NO DETECT') time.sleep(1) except KeyboardInterrupt: pass GPIO.cleanup()