Access Control System

Af · oktober 27, 2018

Our space has been equipped with an RFID-based door system since the beginning. It has worked well, but when we got the laser cutter, it was necessary to restrict access to the cutter to members who had received training. At first, the laser cutter had its own simple ‘database’, but it soon became inefficient to maintain two separate fdsfsystems. Also, the door system was not integrated with the member database, so we actually had three different databases that had to be maintained.

So we started talking about making a new system, and after extended discussion we actually started to code. The center of the system ia a backend, written in Rails. The backend provides a web interface for administration, and a REST interface for use by the various peripherals – called ‘machines’.

Configuring a user’s permissions with the web interface.

Viewing the log.

The primary ‘machine’ is the card reader located at the door. It uses the REST API to determine if the card is associated with a user who has access to the space.

Card reader at the entrance

In the same way, a number of other machines (lathe, mill, CNC router, 3-D printers) are equipped with a box containing an RFID reader, a relay, and an ESP8266. The ESP8266 connects to the backend over WiFi. For most of the machines, the power is only on as long as the card is inserted into the reader, but for the 3-D printers, the card can be removed once the print is started (the box measures current consumption of the printer, and shuts off once the print is done and the printer has cooled down).

Card reader at Bungard CNC

Access control box mounted on the Lulzbot Taz printer

Inside of access control box showing PSU, relay, and ESP8266. The version for the 3-D printers has an additional current sensor so that they can determine when the printer is idle.

The front of the access control box seen from the inside, showing card reader loop antenna/switch, OLED display, card reader PCB, and indicator LED.

The backend runs on a Cubieboard (an SBC based on an Allwinner ARM core, with on board SATA) with an SDD for storage. The connection between backend and the door ‘machine’ is USB, so you can open the door as long as there’s power, even if internet access should be down.

The backend is placed near the door and has a display and two buttons; the green one unlocks the door for fifteen minutes, and the red one locks the door.

The door is locked.

The door is open for 15 minutes.

Counting down.

Gemt under: Projekter