Create a doorrc file
This file contains configuration data for the door controllers that way the script doesn't need to be changed on every new device. Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
c318e74ea0
commit
27fdb0fd9c
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
# Name of this Raspberry Pi unit
|
||||||
|
CONTROLLER="deadbeef01"
|
||||||
|
|
||||||
|
# Server to send requests to
|
||||||
|
SERVER = "http://openings.workantile.com/access/" + CONTROLLER
|
||||||
|
|
||||||
|
# Set path to RFID reader
|
||||||
|
RFID_PATH = "/dev/ttyUSB0"
|
||||||
|
|
||||||
|
# Set Raspberry Pi GPIO pin numbers
|
||||||
|
RED_LED = 11
|
||||||
|
GREEN_LED = 13
|
||||||
|
DOOR_STRIKE = 15
|
55
doors.py
55
doors.py
|
@ -1,27 +1,44 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
####################
|
|
||||||
# #
|
|
||||||
# Define GPIO Pins #
|
|
||||||
# #
|
|
||||||
####################
|
|
||||||
|
|
||||||
|
import socket
|
||||||
|
##################
|
||||||
|
# #
|
||||||
|
# Default values #
|
||||||
|
# #
|
||||||
|
##################
|
||||||
|
|
||||||
|
CONTROLLER = socket.gethostname()
|
||||||
|
SERVER = "localhost"
|
||||||
|
RFID_PATH = "/dev/ttyUSB0"
|
||||||
RED_LED = 11
|
RED_LED = 11
|
||||||
GREEN_LED = 13
|
GREEN_LED = 13
|
||||||
DOOR_STRIKE = 15
|
DOOR_STRIKE = 15
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
####################
|
||||||
|
# #
|
||||||
|
# Read doorrc file #
|
||||||
|
# #
|
||||||
|
####################
|
||||||
|
|
||||||
|
for conf in [ "/etc/doorrc", "./doorrc" ]:
|
||||||
|
if os.path.exists(conf):
|
||||||
|
with open(conf) as f:
|
||||||
|
exec(compile(f.read(), "doorrc", 'exec'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import atexit
|
||||||
|
import RPi.GPIO as GPIO
|
||||||
####################
|
####################
|
||||||
# #
|
# #
|
||||||
# Set up GPIO Pins #
|
# Set up GPIO Pins #
|
||||||
# #
|
# #
|
||||||
####################
|
####################
|
||||||
|
|
||||||
import atexit
|
|
||||||
import RPi.GPIO as GPIO
|
|
||||||
import time
|
|
||||||
|
|
||||||
GPIO.setmode(GPIO.BOARD)
|
GPIO.setmode(GPIO.BOARD)
|
||||||
atexit.register(GPIO.cleanup)
|
atexit.register(GPIO.cleanup)
|
||||||
|
|
||||||
|
@ -53,36 +70,30 @@ def close_door():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import time
|
||||||
|
#python-pyserial package. Not sure we need this. Grabbed based on
|
||||||
|
#http://allenmlabs.blogspot.se/2013/01/raspberry-pi-parallax-rfid-reader.html
|
||||||
|
import serial
|
||||||
######################
|
######################
|
||||||
# #
|
# #
|
||||||
# Set up RFID Reader #
|
# Set up RFID Reader #
|
||||||
# #
|
# #
|
||||||
######################
|
######################
|
||||||
#python-pyserial package. Not sure we need this. Grabbed based on
|
|
||||||
#http://allenmlabs.blogspot.se/2013/01/raspberry-pi-parallax-rfid-reader.html
|
|
||||||
import serial
|
|
||||||
|
|
||||||
#Find the RFID as a USB device
|
RFID_SERIAL = serial.Serial(RFID_PATH, 2400, timeout=1)
|
||||||
#TODO: script should find it if not at USB0
|
|
||||||
RFID_SERIAL = serial.Serial('/dev/ttyUSB0', 2400, timeout=1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from urllib import request
|
||||||
#############################################
|
#############################################
|
||||||
# #
|
# #
|
||||||
# Verify a key with openings.workantile.com #
|
# Verify a key with openings.workantile.com #
|
||||||
# #
|
# #
|
||||||
#############################################
|
#############################################
|
||||||
|
|
||||||
from urllib import request
|
|
||||||
|
|
||||||
# Which door controller are we?
|
|
||||||
CONTROLLER="deadbeef01"
|
|
||||||
|
|
||||||
|
|
||||||
# Blocks for 5 seconds before resetting the door
|
# Blocks for 5 seconds before resetting the door
|
||||||
def verify_key(key):
|
def verify_key(key):
|
||||||
url = "http://openings.workantile.com/access/%s/%s" % (CONTROLLER, key)
|
url = SERVER + ("/%s" % key)
|
||||||
if request.urlopen(url).read().decode() == "OK":
|
if request.urlopen(url).read().decode() == "OK":
|
||||||
open_door()
|
open_door()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
Loading…
Reference in New Issue