Skip to content

allgreed/core-doorctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

core-doorctl

Hackserspace door control system via RFID cards

System "architecture"

The doorctl system consist of:

  • server handling card authentication
  • microcontroller operating the door and reading RFID cards

Communication

  • Device sends GET request to server @5000 with query parameter "card" containing comma separated card number, eg. 3,06,4,40,2,45,106,921,265,7
    • Example dev URL: http://localhost:5000/?card=3,06,4,40,2,45,106,921,265,7
  • Server responds with "yes" if the card is authorized, "no" otherwise

Development

Server

Instalation

    virtualenv env
    . env/bin/activate
    pip3 install flask

Usage

Make sure your virtualenv is active, if it's not:

    . env/bin/activate

then:

    python3 main.py

TODO:

POC:

  • Devboard reading card number
  • Devboard running servo
  • Devboard making requests
  • Devboard sending card number to server and opening door based on the response

Initial:

  • Rename the device file

  • Server logs request to logfile -> person or card id

  • Dockerized server with instruction

  • Run on HS infrastructure

  • ESP from devboard to production!

Improvements:

  • Card list and log via Docker volume so that cards can be added without image rebuilds

  • Move ESP credentials from code to memory

    • Add a program to upload them
  • Create a Makefile to ditch the shitty ArduinoIDE

  • Encrypt communication between device and server

  • Authenticate the server and the device

  • System handles more than 1 door

  • Don't authorize cards via their fucking ID...

Probbably like never:

  • Do a CLI for manual door control for authorized users
  • Integrate with Hs master auth

About

Hackserspace door control system via RFID cards

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published