Hacksburg door access system
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doorman
test
.gitignore
README.md
__init__.py
circuit.png
meet.py
requirements.txt
unmeet.py

README.md

Latchburg

Hacksburg door access system, for use with a Raspberry Pi

As a condition of Hacksburg's lease, we were required to implement a door-access system using magstripe cards like those issued to students and faculty by the local university (Virginia Tech). This is our fairly simple solution: We have a raspberry pi connected to a relay that opens and closes the latch on the door, and a magstripe reader connected as a keyboard device.

When someone swipes their card, the event is read in, the card data is hashed, and the hash is compared against a list of hashes in an access control file. If the hash is found in the file, the latch opens for ten seconds. If not, nothing happens and a log entry is added.

The meet script accepts a card swipe and adds the result to the list of authorized users.

Both the meet script and the doorman script must be run as root, in an environment containing python 2.7 and the libraries listed in requirements.txt.

Specifically for our system, the contents of this repository are kept in /usr/lib/latchburg/latchburg, and the virtualenv is in /usr/lib/latchburg/env. The meet.py and doorman/doorman.py scripts are more easily called by the bash scripts /usr/bin/meet and /usr/bin/doorman, respectively. There's a line in /etc/rc.local that calls /usr/bin/doorman on boot, so it should run automatically whenever the pi is rebooted.

This is the circuit as it's attached to the Raspberry Pi: [The circuit][embed] [embed]: http://123d.circuits.io/circuits/178281-hacksburg-latch/embed