From 93e0fce0f46f6ee2fe38ce1a4471b4b37f65ee7f Mon Sep 17 00:00:00 2001 From: Tilman Date: Mon, 18 Oct 2021 09:41:21 +0200 Subject: [PATCH] freezer.py --- storage/freezer.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 storage/freezer.py diff --git a/storage/freezer.py b/storage/freezer.py new file mode 100644 index 0000000..055bd0e --- /dev/null +++ b/storage/freezer.py @@ -0,0 +1,44 @@ +import RPi.GPIO as GPIO +import urllib.request +import logging +import logging.handlers as handlers +import time +import cherrypy # https://docs.cherrypy.org/en/latest/tutorials.html#tutorial-1-a-basic-web-application +import requests, json + + +cherrypy.config.update({ + 'server.socket_host' : '192.168.178.111', + 'server.socket_port' : 8081, +}) + +logger = logging.getLogger('Rotating Log') +logger.setLevel(logging.INFO) +logHandler = handlers.RotatingFileHandler('freezer.log', maxBytes=1000000, backupCount=2) +logHandler.setLevel(logging.INFO) +logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s - %(message)s', '%Y-%m-%d %H:%M:%S')) +logger.addHandler(logHandler) + + +PIN_REED_SENSOR = 21 + +GPIO.setmode(GPIO.BCM) +GPIO.setup(PIN_REED_SENSOR, GPIO.IN, GPIO.PUD_UP) + + +def door_change(channel): + logger.info('open: ' + str(GPIO.input(PIN_REED_SENSOR) == 1).lower()) + + +class FreezerService(object): + @cherrypy.expose + def index(self): + +GPIO.add_event_detect(PIN_REED_SENSOR, GPIO.BOTH, callback=door_change, bouncetime=250) + +logger.info('Initializing') + +cherrypy.quickstart(FreezerService()) +logger.info('Shutdown') +logger.info('Reset GPIO configuration and close') +GPIO.cleanup()