Project:Tool Access Control/ACNet: Difference between revisions
From London Hackspace Wiki
m (→TODO) |
m (→TODO) |
||
Line 11: | Line 11: | ||
* Figure out a strategy of syncing the membership database to the local access database, as currently manual (mentar) | * Figure out a strategy of syncing the membership database to the local access database, as currently manual (mentar) | ||
* Move the acserver to a separate VM running on the server downstairs (tgreer + mentar) | * Move the acserver to a separate VM running on the server downstairs (tgreer + mentar) | ||
* Code a basic web ui for adding tools/maintainers/nodes | * Code a basic web ui for adding tools/maintainers/nodes (mentar) | ||
== System diagram == | == System diagram == |
Revision as of 01:11, 11 July 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.
TODO
- Add a secondary acnode and test multiple acnode functionality (Sol)
- Figure out a strategy of syncing the membership database to the local access database, as currently manual (mentar)
- Move the acserver to a separate VM running on the server downstairs (tgreer + mentar)
- Code a basic web ui for adding tools/maintainers/nodes (mentar)
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 developed by mentar and Oskar located 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.