Giter VIP home page Giter VIP logo

avr-door-controller's Introduction

AVR based wiegand door controller

This project is about building an open source physical access control system for small communities and groups.

Electronic

In this directory you will find the hardware design (schematics and PCB) for a two door controller using an Arduino Nano. Its main features are:

  • Can be powered with 12V or 24V.
  • Support various setup for the door lock, the relay can be connected to 12V, 24V or GND as normally open or as normally closed.
  • An USB power supply to power additional devices such as an AP for network connectivity.
  • Use RJ-45 connectors for the doors to allow standardizing the physical installation.

This design intentionally doesn't provide network connectivity for two reasons. First we want to keep the device as cheap and reliable as possible. But most importantly we want a secure system, implementing secure communication (SSL) on a small micro-controller is not really possible. So instead of using dubious Ethernet expansion boards we decided to only provide an USB interface and rely on external devices running a full OS for access over the network.

Pin out

Pin | Function | T-568 A      | T-568 B      | Reader
------------------------------------------------------
  1 | Beep     | White Green  | White Orange | Yellow
  2 | LED      | Green        | Orange       | Blue
  3 | Status   | White Orange | White Green  |
  4 | D1       | Blue         | Blue         | White
  5 | D0       | White Blue   | White Blue   | Green
  6 | Relay    | Orange       | Green        |
  7 | 12V      | White Brown  | White Brown  | Red
  8 | GND      | Brown        | Brown        | Black

Firmware

In this directory you will find the firmware for the above hardware, it supports both the Arduino Nano version 2 and version 3. We recommend using version 3 as they have a much large EEPROM which allow for up to 200 access records.

The firmware currently support:

  • 26 bits wiegand RFID readers
  • RFID reader with keypad for PIN
  • Access with PIN only, card only or card + PIN
  • Simple access records management over USB

The following is planned:

  • Support external EEPROM for more access records
  • Support RTC to allow various time dependent access control
  • 34 bits RFID cards

Daemon

In this directory you will find a daemon that allow managing one or more controllers using OpenWrt ubus. As OpenWrt include a JSON-RPC interface to ubus this daemon allow to manage the controllers over the network using a JSON-RPC interface.

Client

In this directory you will find the client software to manage the controllers. First is a tool (and python API) that allow to manage a controller, either over USB or over JSON-RPC. This tool is pretty low level but make it easy to setup a single controller with a couple of users. Then there is database backed tool that allow to easily manage larger deployments with several controllers and many users.

avr-door-controller's People

Contributors

albanbedel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.