Project:Tool Access Control/ACNet

From London Hackspace Wiki
Jump to navigation Jump to search


This page aims to scope out the different projects that work together as part of the Access Control Network. The main components are:

  • ACNode - The clients that sit on the tool that is being controlled and manage physical access by reading the rfid card.
  • ACServer - The server stores the authentication information and pulls membership information from Turing over JSON and stores is at a SQLite DB
  • Membership DB - Secured storage of membership data.

System diagram

<graphviz border='frame' format='png' >

digraph rfboard{
  subgraph cluster_0 {

node [shape=box,style=filled,color=lightgrey]; label = "ACServer";

       sqlite [label="SQLite",shape=box];
       httpserver [label="HTTP server",shape=box];
       httpserver -> sqlite;
       sqlite -> httpserver; 
  acnode1 [label="ACNode",shape=box];
  acnode2 [label="ACNode",shape=box];
  acnode3 [label="ACNode",shape=box];
  membershipdb [label="Membership DB",shape=box];

  acnode1 -> httpserver;
  acnode2 -> httpserver;
  acnode3 -> httpserver;
  httpserver -> acnode1;
  httpserver -> acnode2;
  httpserver -> acnode3;
  membershipdb-> httpserver;

} </graphviz>

AC Node

Currently proposed (and built) by Solexious Link

AC Server

Python Flask implementation started by ms7821 can be located here ACServer (not node) further improved by Aaron and mentar

Currently running on Babbage for dev purposes, will be run on a secure box after.


Go to a shell on babbage.

Make sure it's not already running by:

sudo lsof -i :1234


cd /var/www/ACNode



Currently only test tool active (node 1).

As per Sol's ACNode rest spec:

curl -H 'Accept: text/plain' http://babbage:1234/1/sync/

curl -H 'Accept: text/plain' http://babbage:1234/1/card/04FF7922E40080

Membership DB

Running on Turing VM slice (hosted outside the space as it has personal data). Accessed in JSON format.