Skip to content
@doorlockd

doorlockd

Doorlockd

Doorlockd is a system for controlling (access to) electronic door locks. It was built for use in De WAR, a community building in the Netherlands, but can probably be useful in other places as well.

It is designed to control an electronic lock (we are using it to control an electric strike, but it should be possible to use any 12V or 24V-controlled lock, including electric deadbolts or magnetic locks).

Authorization is done using an NFC card reader (using the PN532 chip), using simple card-id comparison.

Typically each lock (and card reader) will be handled by a small Linux-based single-board computer (we use a Beaglebone black) with an add-on PCB to add the needed connectors, switch FETs and other needed hardware.

Management is done using a Django-based backend and web interface. A single backend can control many locks - each lock runs its own lock-client that pulls authenticated card ids from the backend periodically. The backend can run on any hosting environment that can run Django, including on one of the lock beaglebones.

Features:

  • Flexible module-based approach and event-based configuration allowing to support many different usecases out of the box, and additional cases by writing extra modules. Typical usecases:
    • Unlock door when valid card is presented
    • Unlock door when button (inside the building) is pressed
    • Lock and unlock the door by pressing a button
    • Detect when the door is opened or locked
  • Unknown cards are tracked in the backend and can be authorized easily.
  • Runs on any Linux-based SBC or regular computer.
  • Supports PN532 NFC card reader via UART (other card readers could be added).
  • Supports Linux GPIO pins for buttons and leds.
  • Supports any lock that can be controlled using a GPIO pin (typically 12V or 24V controlled using a FET switch).

The system consists of four components, each of which are in their own repository.

See the individual repositories for additional details on these components and how they fit together.

Installation documentation is currently a bit limited, but we use Ansible to install and configure the lock clients and backend, which can be used as an example for your own deployment and provides good insight in the steps needed to setup the system as well. The ansible files can be found in this repository.

There is also a 3D-printed case for the card reader, but the design files for that are not yet public.

Popular repositories

  1. doorlockd-client doorlockd-client Public

    rfid door lock security access control system using Mifare PN532 and Beaglebone black.

    Python 3

  2. doorlockd-PCB-BBB doorlockd-PCB-BBB Public

    Kicad drawings for all doorlockd electronics on a Beagelboard Black cape

    1

  3. doorlockd-PCB-Reader doorlockd-PCB-Reader Public

  4. doorlockd-backend doorlockd-backend Public

    Backend for managing users and access for doorlockd

    JavaScript

  5. .github .github Public

    Github info for organization

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…