The idea is to build a simple RFID system to control the main door lock and the laser cutter for EB members/staff.
Examples:
* https://create.arduino.cc/projecthub/smerkousdavid/arduino-ethernet-rfid-card-reader-1ffdee?ref=tag&ref_id=rfid&offset=4
* https://create.arduino.cc/projecthub/robotgeek-projects-team/rfid-door-lock-with-arduino-89cad2?ref=tag&ref_id=rfid&offset=9
* https://create.arduino.cc/projecthub/dtbaker/garage-door-opener-via-mobile-phone-and-rfid-c8fd44?ref=tag&ref_id=rfid&offset=17
* https://pimylifeup.com/raspberry-pi-rfid-rc522/ (using a Raspberry Pi rather than Arduino)
Server side exinting code for authentication (in php):
* https://github.com/gctechspace/door_opener_php
* Docs: https://gctechspace.org/2012/06/door-opener-code-and-documentation/
Server side proposal:
* Django 2.1 + Python3 server backend
* Bootstrap4 web UI
* SQLite (or MariaDB)
* Simple HTTP API: https://server/?resource=main_door&action=on&pin=12345
* resource = laser_cutter, main_door, lab_door etc
* action = on, off (open, close)
* pin = rfid ID
* HTTP status codes:
* A HTTP status of 405 will get sent if you have the wrong pin number.
* A HTTP status of 406 will get sent if you have an invalid pin (ie: no pin provided)
* A normal HTTP status of 200 will return if the pin is correct and the door has been triggered.
* A HTTP status of 407 will get send if you have just been banned (ie: too many incorrect attempts)
Hardware:
* SENS-26 MFRC522 NFC/RFID Controller Breakout Board
* SUNFOUNDER PN532
* Arduino nano + Ethernet shield
* Raspberry Pi 3
* Ethernet hub/switch
* Linux server (Raspberry Pi or similar)
* Relays
* Electronic door lock (ask Greg about those from aliexpress...)