The security system controls physical access to the building.
It consists of access control and intrusion detection/notification.
One controller, connected to a security server with membership database (card numbers and access codes) and cameras.
Connected to the controller:
- an RFID reader mounted outside the building by each door
- an electromagnetic strike for each door
- a request to exit button mounted inside by each door
- User swipes card
- Reader reads card
- Reader feeds card number to controller
- Controller logs number
- Controller looks up the number in a database (or in a list held in EEPROM, updated daily from the DB?)
- If the number corresponds to a member in good standing, controller unlocks door
- Controller re-locks door after specified amount of time
To exit, user presses button, door unlocks for a certain amount of time.
In addition to the basic functionality of letting people in, integration with the intrusion detection system allows for detection of attempts to bypass access control.
Intrusion Detection and Notification
A keypad and status display mounted by the door and door/motion/glassbreak/fire sensors are connected to the controller. A camera is pointed at the front door (inside or outside?) and can be triggered by the controller (when door opens?) to take a picture and write it to the server.
- User swipes card, door opens, user enters
- When door is opened, countdown to loud noises starts (audible beep)
- User enters code
- Keypad sends code to controller
- Controller checks if code entered matches card swiped
- If not, loud noises + call the cops, or just log it.
- If they match, alarm system deactivates.
For each member, stores membership status, card number, and access code. Makes it possible to easily disable access when members are kicked out/haven't paid dues/we just don't like the look of them.
For increased reliablity, the controller should hold a copy of the permitted cards and codes in EEPROM, updated daily from the database.
If there is a request to exit button, does the lock fail locked or unlocked in case of power outage? In case of fire? Can the system function without being attached to the server?