cppApp | ||
Firmware | ||
hardware | ||
webApp | ||
.gitignore | ||
database.db | ||
Dockerfile | ||
README.md |
doar
This repository contains software, hardware, and firmware for the Doar project, a flexible, open-access control system.
Hardware
The current hardware consists of a single PCB with the following specs:
- 12V Input
- 1x Wiegand-26 reader input
- 4x Button Inputs
- 4x Low-side switched outputs
- 2x Form-C Relays (Up to 6A)
- CAN or RS-485 communication
- USB Serial Output
- Real Time Clock
- AVR AT90CAN128
Hardware designs files can be found in the hardware folder. The design was made in DipTrace 2.4.0.2.
The system is intended to be used with one set of hardware at each entry point. Nodes are networked together using CAN or RS-485. A PC or embedded platform (Raspi, BeagleBone, etc.) sits at one node, controlling access.
Currently, only the CAN bus hardware has been fully tested.
Firmware
Currently, the firmware is configured to use the CAN bus, and does not contain any logic. Protocol documentation can be found in the firmware folder.
The firmware simply passes messages from the CAN bus to the RS232 output, and vice-versa.
Software
The software consists of two components interacting with a shared database. A python web-app allows modification of the database by administrators. A C++ app monitors inputs from the system, looks up the appropriate outputs, and adds log-entries to the the database.
Python Web-app
The Python app uses the Flask webframework to provide an easy-to-use admin interface for the access control system.
C++ App
The C++ app monitors the serial line, correlates incoming events with valid door events, and sends the approprate output action.