Yet another RFID apartment access control project. The system was designed to have:
- No outside components, or maintenance will remove it.
- A functional lock using the key so that apartment maintenance can still enter, significantly reducing changes of administrative problems.
- Web access, in case the ID card is forgotten. Also it's really cool to unlock the door from the couch.
One fun hurdle to overcome was that the serial connection between microcontroller. It would randomly fail silently, with the only indication that no data is passed (whee
two generals problem). Thus, the computer constantly pings the microcontroller to check its connectivity, and requires acknowledgement of all actions taken.
|
First iteration, without sensors. Whee breadboard. |
|
The door server. |
|
The two servo system was used instead of mounting a servo directly to the lock handle so that the lock handle can be freely turned no matter what state the servos are in.
|
Version 2, with sensors to detect door and lock state. |
After a lot of trouble with microswitches to detect whether the door was opened or not, I stopped being an idiot and used magnetic reed switches, similar to the switches used in security switches.
|
Version 3, with contact-less hall effect sensors. |
To show the door is locked or unlocked, the peephole was sacrificed to house some red LEDs. I am a huge fan of the appearance outside.
|
I'm sorry Dave, I'm afraid I can't do that. |
Table of details
Microcontroller |
Boarduino variant of the Arduino (Atmel 328) |
Server software |
Django running on gunicorn |
Authentication database |
MySQL |
Actuators |
Standard size analog servos |
RFID reader |
HID Thinline II from eBay |
Source code for both microcontroller and server can be found on
my friend's github repository here.