Difference between revisions of "Project:Tool Access Control/ACNet"

From London Hackspace Wiki
Jump to: navigation, search
(AC Server)
(System diagram)
Line 17: Line 17:
 
node [shape=box,style=filled,color=lightgrey];
 
node [shape=box,style=filled,color=lightgrey];
 
label = "ACServer";
 
label = "ACServer";
         sqlite [label="SQLite",shape=box];
+
         local_db [label="local db",shape=box];
 
         httpserver [label="HTTP server",shape=box];
 
         httpserver [label="HTTP server",shape=box];
         httpserver -> sqlite;
+
         httpserver -> local_db;
         sqlite -> httpserver;  
+
         local_db -> httpserver;  
 
   }
 
   }
  

Revision as of 23:18, 12 June 2013

Summary

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{
  rankdir=TD;
  size="10,5!";
  
  subgraph cluster_0 {

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

       local_db [label="local db",shape=box];
       httpserver [label="HTTP server",shape=box];
       httpserver -> local_db;
       local_db -> 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

2 versions Python Flask implementation started by ms7821 can be located here further improved by asoko

PHP Code Igniter implementation started by mentar located here here

Usage: curl http://[server]:[port]/[node_id]/card/[card_id]

For testing it's installed on babbage port 1234

Membership DB

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