diff --git a/Garage_-_RasPi.fzz b/Garage_-_RasPi.fzz deleted file mode 100644 index afb6695..0000000 Binary files a/Garage_-_RasPi.fzz and /dev/null differ diff --git a/garage.py b/garage.py deleted file mode 100644 index 233ebe0..0000000 --- a/garage.py +++ /dev/null @@ -1,88 +0,0 @@ -import RPi.GPIO as GPIO -import logging -import time -from threading import Thread - -import cherrypy # https://docs.cherrypy.org/en/latest/tutorials.html#tutorial-1-a-basic-web-application - -cherrypy.config.update({ - 'server.socket_host' : '192.168.178.49', - 'server.socket_port' : 8081, -}) - -logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s - %(message)s') - - -PIN_MOTOR_BUTTON = 23 -PIN_REMOTE_BUTTON = 24 -PIN_MOTOR = 21 -PIN_REMOTE = 26 -PIN_LED = 11 - -GPIO.setmode(GPIO.BCM) -GPIO.setup(PIN_MOTOR_BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_UP) -GPIO.setup(PIN_REMOTE_BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_UP) -GPIO.setup(PIN_MOTOR, GPIO.OUT) -GPIO.setup(PIN_REMOTE, GPIO.OUT) -GPIO.setup(PIN_LED, GPIO.OUT) - - -def motor_button(channel): - time.sleep(0.01) # el cheapo relay module creates lots of interference, so we check again after a waiting period (see https://electronics.stackexchange.com/a/361793/253533) - if channel == 0 or GPIO.input(PIN_MOTOR_BUTTON) == False: - logging.info("trigger motor") - GPIO.output(PIN_MOTOR, GPIO.LOW) - GPIO.output(PIN_LED, GPIO.HIGH) - time.sleep(0.4) - GPIO.output(PIN_MOTOR, GPIO.HIGH) - GPIO.output(PIN_LED, GPIO.LOW) - else: - logging.info("flare (motor button)") - -def remote_button(channel): - time.sleep(0.01) - if channel == 0 or GPIO.input(PIN_REMOTE_BUTTON) == False: - logging.info("trigger remote 0.8") - GPIO.output(PIN_REMOTE, GPIO.HIGH) - GPIO.output(PIN_LED, GPIO.HIGH) - time.sleep(0.8) - GPIO.output(PIN_REMOTE, GPIO.LOW) - GPIO.output(PIN_LED, GPIO.LOW) - else: - logging.info("flare (remote button)") - -GPIO.add_event_detect(PIN_MOTOR_BUTTON, GPIO.FALLING, callback=motor_button, bouncetime=250) -GPIO.add_event_detect(PIN_REMOTE_BUTTON, GPIO.FALLING, callback=remote_button, bouncetime=250) - -GPIO.output(PIN_MOTOR, GPIO.HIGH) -GPIO.output(PIN_REMOTE, GPIO.LOW) -GPIO.output(PIN_LED, GPIO.LOW) - - -class GarageService(object): - @cherrypy.expose - def index(self): - return "Hello World!" - - @cherrypy.expose - def motor(self): - Thread(target=motor_button,args=[0]).start() - return "trigger motor" - - @cherrypy.expose - def remote(self): - Thread(target=remote_button,args=[0]).start() - return "trigger remote" - - @cherrypy.expose - def all(self): - Thread(target=motor_button,args=[0]).start() - Thread(target=remote_button,args=[0]).start() - return "trigger all" - - - -cherrypy.quickstart(GarageService()) -logging.info('Shutdown') -logging.info('Reset GPIO configuration and close') -GPIO.cleanup() \ No newline at end of file