/rpidoor

Primary LanguagePython

rpidoor - [Work In Progress]

Background

This is a python script for a door lock system.
Current work in progress is on main even though it is in testing.
Once we have a working model, dev will move to a dev branch and this md will be updated to reflect

Setup

Copy this command and paste into terminal. It will change your directory to your home directory, clone the repo, change directory to the repo, install sqlite3 and python3 as super user, then create a virtual python environment and activate it as a regular user, then install the requirements and start the script.

  • note: this does not work perfectly yet
cd ~
 git clone https://www.github.com/444B/rpidoor.git
 cd rpidoor/
 apt update

then run the next command individually

sudo apt install sqlite3 python3 -y

then run the rest

python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
nohup python3 door.py

TODO - polish these commands

Physical layout

          __________________   
         | ______________  |  
         |  |            | |               _______   
         |  |      []...........__________|       |  
         |  |      []...........          |      O|  
         |  |       |   (RPI)  |          |       |  
         +  +       |__________|          |_______|  
|7|8|9| (LEDs)        |     |               (door)  
|4|5|6|_______________|     |  
|1|2|3|                  ___|__  
|*|0|#|                 [>->X<-<]  
(Keypad)              (RFID Reader)  

Design

inpired by IEEE paper and c-base/raspberrylock

Future plans TODO

  • Set up a working model in python
  • rewrite a working model in rust (for practise)
  • organise red/blue team events to break the model, using open and black box methods
  • add in RFID tag support for the usr cred and leaving the keypad for the passwd