Code Monkey home page Code Monkey logo

raspberry-pi-access-control-system's Introduction

Welcome to the Raspberry Pi Access Control System (RPAC)

The Raspberry Pi is a cheap ($25) credit-card sized ARM-based computer running Linux, built and sold by the Raspberry Pi foundation

This project allows an electronics hobbyist to connect the Raspberry Pi to both an RFID card reader and electronic relays, and use the RFID reader to enable/disable physical machinery/doors by presenting or removing the RFID card.

Supported Hardware:

Other i2c RFID readers could be supported, but would require additional coding.

This code uses the following technologies:

  • Python 3
  • The i2c hardware electronics protocol
  • The 'Quick2Wire' Python i2c library
  • The 'Quick2Wire' Python General Purpose I/O (GPIO) library

Notes on Raspberry Pi and i2c problems

You may need the i2c Raspberry Pi kernel patch See the "SETUP" file for more info about this.

Notes on Security:

This system was specifically built to be used in a minimal-security environment (a shared communal space). It was also specifically designed so as to allow the use of existing London Underground 'Oyster Cards' so as to avoid the purchase of new RFID cards by the user.

Further, it was also designed to operate without interfering with the normal operation of those cards. If this were not the case the contents of the cards could be overwritten by the user to ensure secure operation.

Given these (unusual) requirements, this code operates simply based on the unique 'ID' supplied by the card. It does NOT use the MiFare encryption facilities provided by the card. Since a determined attacker with electronics knowledge could be able to fake a card ID, I do not recommend you use this where security is important.

Installation

This code requires a Raspberry Pi to operate. It may work on other similar hardware supported by the Quick2Wire libraries with minor modification.

  1. Install required programs as per 'SETUP.txt'

  2. Edit rapc.conf and configure the pin assignments for the card reader and relay.

  3. Start the rpac.py script by running start.sh, which configures the requisite environment variables for you:

    NOTE THAT THIS DOES NOT NORMALLY DISPLAY ANY OUTPUT

    ./start.sh

    In a separate session, run 'less rpac.log' to see what the system is doing

raspberry-pi-access-control-system's People

Contributors

oskarpearson avatar

Watchers

James Cloos avatar Jorge Mota 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.