import requests from gpiozero import Button, LED from picamera import PiCamera from time import sleep, strftime url = 'http://192.168.1.108:3000/upload-photo' camera = PiCamera() camera.resolution = (2560, 1920) greenLed = LED(16) greenLed.on() redLed = LED(20) redLed.off() button = Button(21) buttonLastState = False def errorBlink(): greenLed.off() redLed.on() sleep(1) redLed.off() sleep(1) redLed.on() sleep(1) redLed.off() sleep(1) greenLed.on() def successBlink(): greenLed.on() redLed.off() sleep(1) greenLed.off() sleep(1) greenLed.on() sleep(1) greenLed.off() sleep(1) greenLed.on() def takePhotoAndUpload(): time = strftime("%H-%M-%S") filename = f"{time}.jpg" camera.capture(filename) files = {'photo': open(filename, 'rb')} try : r = requests.post(url, files=files, timeout=30) print(r.status_code) if (r.status_code == 200): errorSuccess() else: errorBlink() except: errorBlink() while True: if(buttonLastState != button.is_pressed): if button.is_pressed: buttonLastState = True takePhotoAndUpload() else: buttonLastState = False