Skip to content

Latest commit

 

History

History
106 lines (57 loc) · 2.51 KB

File metadata and controls

106 lines (57 loc) · 2.51 KB

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; can also be ran 'stand alone' to test the RFID reader; e.g. with

      $ ./RfidReaderNode
      Detected card: 23-9-12-4-32
      Detected card: 3-71-5-21-81
      ctrl-C
      $
    
  • lib/Drivers

  • Mosfet.py

  • Stepper.py

Directory with hardware/wiring specific drivers. These can be ran from the command line as well. e.g. use:

  ./Stepper.py 

to activate the stepper to open the door.

Currentl dependencyies for a `pip install' are:

wheel setuptools 

followed by (as otherwise dependencies can go funny):

daemon setproctitle configargparse python-axolotl_curve25519 ed25519 python-axolotl paho-mqtt pycrypto

Pip can generally be installed with

pkg install pip
port install pip
apt install python-pip

etc. On some platforms you will have to also install the headers; e.g.

apt install python3-dev

or similar.