mirror of
https://github.com/brmlab/brmdoor_libnfc.git
synced 2025-06-07 16:14:01 +02:00
Access system implementation with Raspi and RFID (ISO-14443) cards. Makes uncloneable cards possible with cryptography (unlike many commercial systems). With status reporting over IRC and SFTP.
.gitignore | ||
brmdoor_adduser.py | ||
brmdoor_authenticator.py | ||
brmdoor_nfc.config.sample | ||
brmdoor_nfc.cpp | ||
brmdoor_nfc.h | ||
brmdoor_nfc.i | ||
brmdoor_nfc_daemon.py | ||
create_authenticator_db.py | ||
Doxyfile | ||
Makefile | ||
README.md | ||
test_nfc.py | ||
test_uids_db.sqlite | ||
unlocker.py |
Brmdoor via libnfc
This is an access-control system implementation via contactless ISO 14443A cards and a PN53x-based reader. So you basically swipe your card, and if it's in database, the door unlocks.
It's primarily intended for Raspberry Pi, but can work for other plaforms that can work with libnfc (including common x86 systems).
Info about authorized users and their cards and keys is stored in sqlite database.
Building
You need just to run make
. Additional dependencies:
- SWIG
- WiringPi2 pythonic binding (for switching lock on Raspberry)
- you may have to change
python2.7-config
topython-config
on some older systems in Makefile
Howto
-
Create the database
python create_authenticator_db.py authenthicator_db.sqlite
-
Copy sample config file, edit your pins, DB file location, timeouts
cp brmdoor_nfc.config.sample brmdoor_nfc.config
-
Add some users
-
either authenthication by UID, e.g.:
brmdoor_adduser.py -c brmdoor_nfc.config -a uid 34795FCC SomeUserName
-
authenthication by Yubikey's HMAC-SHA1 programmed on slot 2
brmdoor_adduser.py -c brmdoor_nfc.config -a hmac 40795FCCAB0701 SomeUserName 000102030405060708090a0b0c0d0e0f31323334
-
to program Yubikey slot 2 to use HMAC with given key, use:
ykpersonalize -2 -ochal-resp -ohmac-sha1 -ohmac-lt64 -oserial-api-visible
Finally, run the daemon:
python brmdoor_nfc_daemon.py brmdoor_nfc.config