Freezer sensor on Wemos D1

This commit is contained in:
Tilman
2024-12-08 09:09:20 +01:00
parent 980234e1ff
commit d0747aedd4
2 changed files with 116 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# in rc.local:
# su pi -c 'python3 /home/pi/freezer.py >> /home/pi/freezer.log 2>&1 &'
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('/home/pi/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):
return '{ "open": ' + str(GPIO.input(PIN_REED_SENSOR) == 1).lower() + ' }'
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()