Difference between revisions of "Project:Tool Access Control/Solexious Proposal"

From London Hackspace Wiki
Jump to navigation Jump to search
Line 34: Line 34:
 
* 1 - user
 
* 1 - user
 
* 2 - maintainer
 
* 2 - maintainer
 +
 +
===Check DB sync===
 +
'''/[nodeID]/resync/'''
 +
 +
Sets the DB as needing a resync from the beginning
 +
 +
i.e.
 +
* /1/resync/
 +
 +
returns the first card in the DB i.e.
 +
* 04FF7922E40080
 +
 +
'''/[nodeID/resync/[last received card]/'''
 +
 +
i.e.
 +
* /1/resync/04FF7922E40080/
 +
 +
returns either the next card in DB i.e.
 +
* 03FF7922FF008F
 +
or when out of cards returns
 +
* END
 +
 +
===Report tool out of service===
 +
'''/[nodeID]/status/set/[status]/[Card id]'''
 +
 +
* 0 - out of service
 +
* 1 - in service
 +
 +
returns
 +
* 0 - not saved
 +
* 1 - saved
 +
 +
===Check tool status===
 +
'''/[nodeID]/status/check/'''
 +
 +
Check if the ACNode has been remotely taken out of service, or put back in service
 +
 +
returns
 +
* 0 - out of service
 +
* 1 - in service

Revision as of 02:04, 17 February 2012

(ACN refers to Access Control Node, a physical node attached to a tool)

I plan to

  • Base the device on the Duemilanove arduino as it fits our needs and has a wide base of users.
  • Use the wiznet chip for ethernet support
  • Use i2c sm030 rfid readers
  • allow different control outputs (relay, Darlington, servo control etc)
  • use flash memory for internal storage

Services

Mission critical

These must function without networking or main server available:

  • Check if card in ACN local db and allow use if is
  • Set tool into "out of order" mode

Non critical

  • Add cards
  • Report back to central server (usage etc)

Progress

I have made a prototype shield for testing code while the full design remains to be tested and produced. http://www.flickr.com/photos/solexious/6865500239/

Design for the full ACNode at: https://github.com/solexious/ACNode

Network protocol

Get card permissions

/[nodeID]/getpermissions/[hex pairs in ascii]/

i.e.

  • /1/getpermissions/04FF7922E40080/

returns

  • 0 - no permissions
  • 1 - user
  • 2 - maintainer

Check DB sync

/[nodeID]/resync/

Sets the DB as needing a resync from the beginning

i.e.

  • /1/resync/

returns the first card in the DB i.e.

  • 04FF7922E40080

/[nodeID/resync/[last received card]/

i.e.

  • /1/resync/04FF7922E40080/

returns either the next card in DB i.e.

  • 03FF7922FF008F

or when out of cards returns

  • END

Report tool out of service

/[nodeID]/status/set/[status]/[Card id]

  • 0 - out of service
  • 1 - in service

returns

  • 0 - not saved
  • 1 - saved

Check tool status

/[nodeID]/status/check/

Check if the ACNode has been remotely taken out of service, or put back in service

returns

  • 0 - out of service
  • 1 - in service