Access System
Keycode access
The keycode access system runs in parallel with the fob access system.
Hardware
It consists of: * A keypad outside * A pi Inside * A relay board inside
Getting access codes
The Pi gets a (announce_name
, fob_id
) CSV list of valid members every few minutes from the membership system and stores this locally.
fob_id
may sound like it's for fobs only but we've adapted how we use the fob table to include access codes. To separate the two, access codess start with ff
, whereas fobs don't.
When a code is entered, the code is compared to the list of all codes that start with ff
. If there's a match, the door is released.
Requesting an access code
When requesting an access code in the membership system, it's the same functionally as adding a fob with ID ff000000
. The backend identifies any new fobs that start with ff
and discard them, instead generating and saving a random 8 digit number.
Common numbers like 12345678
etc have already been blacklisted so can't accientally become in use.
Keyfob access
The current system has been in service for many years now and has proven mostly reliable. However, it requires a Pi 1, due to a custom had that was made for it.
It's therefore a candidate for modernising using a Pi 4.