/AccesSystem

system to provide access to physical space and tools

Primary LanguagePythonApache License 2.0Apache-2.0

Software for the Access Control Nodes (ACNode) at the Makerspace Leiden.

RFID cards are coded as decimal numbers separated by a dash. So if the card contains

unsigned char uid[] = { 13, 70, 0, 33, 19 }; // In 'read from card' order.

then the seralisation into an ascii string wil be '13-17-0-33-19'.

  • Master

    The master node and a sample database. Can be ran out of the box with

     ./master.py --debug --dbfile sample-keydb.txt 
    
  • SimpleDeurNode

    A simple door RFID reader and stepper-motor lock combination. Can be tested/ran with the command

    ./acnode-deur.py --offline --debug 1-1
    

    The --offline command removes the hardware from the loop (see the top of the file for the GPIO settings); the '1-1' is a 'fake' card; see the above sample-keydb.txt

  • DeurControlNode

    A node that has only the stepper engine to open the door connected. Run with:

    ./acnode-deur.py --offline --debug
    
  • DeurRFIDNode

    A node that has just a reader attached.

    Test with the command (after starting above DeurControlNode.

    ./acnode-rfid.py --offline --debug 1-1
    
  • KrachtstroomACNode

    A more complex node - which can control multiple tools.

  • Drumbeat

    A test tool - just broadcast the timestamps.

  • lib

    Library of shared files:

  • lib/ACNode.py

Base class with the protocol and assorted sundry

  • SensorACNode.py

  • ActuatorACNode.py

  • DrumbeatNode.py

    Classes on top of the ACNode that add the protocol bits for a sensor, actuator and the timestamps.

  • OfflineModeACNode.py

    Provides the '--offline' functionality to allow testing on laptops (e.g. not require the specific RasberryPI & assorted hardware).

  • RfidReaderNode.py

    Simple RFID reader