Project:Tool Access Control/Solexious Proposal: Difference between revisions
Line 6: | Line 6: | ||
* Use i2c sm030 rfid readers | * Use i2c sm030 rfid readers | ||
* allow different control outputs (relay, Darlington, servo control etc) | * allow different control outputs (relay, Darlington, servo control etc) | ||
* | * use eeprom memory for internal storage | ||
==Services== | ==Services== |
Revision as of 02:54, 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 eeprom 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
Add card
/[nodeID]/add/[Card id to be added]/[Card id of adder]/
i.e.
- /1/add/04FF7922E40080/04FF1234540080
returns
- 0 - card not added
- 1 - card added
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 status
/[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
Tool usage
/[nodeID]/tooluse/[status]/[Card id]
- 0 - tool use stopped
- 1 - tool in use
returns
- 0 - not saved
- 1 - saved