Machine Access Node: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(14 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Project|name=Tool Access Node|created=1 Sept 2016|members=[[User: | {{Project|name=Tool Access Node|created=1 Sept 2016|members=[[User:ad|ad]] [[User:snowdenator|snowdenator]] }} | ||
Hackspace has machines, that ideally need to be inducted and access controls for safety reasons. A vital step towards the goal of 24/7 access on membership. A bonus of the system would be usage tracking and maintenance notifications. | Hackspace has machines, that ideally need to be inducted and access controls for safety reasons. A vital step towards the goal of 24/7 access on membership. A bonus of the system would be usage tracking and maintenance notifications. | ||
Line 5: | Line 5: | ||
A solution is a control device consisting of a box which enables the machine for as long as your RFID card is in the box. A Tool Access Node. | A solution is a control device consisting of a box which enables the machine for as long as your RFID card is in the box. A Tool Access Node. | ||
https://github.com/leedshackspace/machine-access-node | |||
https://github.com/leedshackspace/tool-api | |||
===Potential design=== | ===Potential design=== | ||
* | * ESP-12F module | ||
* 3A Relay | * 3A Relay | ||
* | * bicolour LED (red/green) | ||
* Card interface header | * Card interface header (6 pin SPI bus presenting power & ground) | ||
* | * DIP switch addressable (or other) | ||
===User Workflow=== | |||
====First Time Authorised Use, Network Available==== | |||
* User inserts their card for the first time. | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server says "Yes!". | |||
* Does this card exist already in the EEPROM? | |||
* EEPROM says "Does not exist." | |||
* Store this card ID in the EEPROM. | |||
* Enable access to tool, illuminate appropriate LEDs. | |||
====Unauthorised Use, Network Available==== | |||
* User inserts their card for the first time. | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server says "No!". | |||
* Illuminate denied LED. | |||
====First Time Authorised/Unauthorised Use, Network Unavailable==== | |||
* User inserts their card for the first time. | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server is not available. | |||
* Check local EEPROM. Can this card ID use the machine? | |||
* EEPROM: No record of this card. | |||
* Illuminate denied LED. | |||
====Authorised Use, Network Available==== | |||
* User inserts their card. | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server says "Yes!" | |||
* Does this card exist already in the EEPROM? | |||
* EEPROM says "This card exists." | |||
* Enable access to tool, illuminate appropriate LEDs. | |||
====Authorised Use, Network Unavailable==== | |||
* User inserts their card? | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server is not available. | |||
* Check local EEPROM. Can this card ID use the machine? | |||
* EEPROM says "This card exists." | |||
* Enable access to tool, illuminate appropriate LEDs. | |||
====Previously Authorised Unauthorised Use, Network Available==== | |||
* User inserts their card. | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server says "No!" | |||
* Does this card exist already in the EEPROM? | |||
* EEPROM says "This card exists." | |||
* Delete entry from EEPROM. | |||
* Illuminate denied LED. | |||
====Previously Authorised Unauthorised Use, Network Unavailable==== | |||
''This eventuality should be countered by regular updates, or an update sequence upon startup. Sequentially checking each EEPROM entry and removing unauthorised entries.'' | |||
* User inserts their card? | |||
* Check with permissions server. Can this card ID use this machine? | |||
* Permissions server is not available. | |||
* Check local EEPROM. Can this card ID use the machine? | |||
* EEPROM says "This card exists." | |||
* Enable access to tool, illuminate appropriate LEDs. | |||
===Functional Specs=== | ===Functional Specs=== | ||
====Mission Critical==== | |||
These must work without networking or the main server being avalable. | |||
* Check if card valid in local storage | |||
* Set tool into "out of order" mode - must work without networking | |||
* Relay contacts of at least | ====Functions==== | ||
* Relay contacts of at least 3 amps for switching the device (this would be best driving a contactor coil rather than the machine itself, as carrying machine current on a board seems bad). Hard-wired in using suitable grommets and with sufficient isolation between low and high voltage. | |||
* Internal database of (up to at least 200*) authorised RFID card IDs, plus a flexible way of fetching updates from a membership server. | * Internal database of (up to at least 200*) authorised RFID card IDs, plus a flexible way of fetching updates from a membership server. | ||
* Logging of who used the machine + hours used. | * Logging of who used the machine + hours used. | ||
* Open Source hardware & software. | * Open Source hardware & software. | ||
* Status light, for "active", "denied" and "thinking". (Although "active" is really the only important one, and blinking is fine) | * Status light, for "active", "denied" and "thinking". (Although "active" is really the only important one, and blinking is fine). To build upon this, various different colours could indicate different things such as blinking green means valid, but offline and solid green means valid & online | ||
* Fits in a standard backbox (probably deep depth, ideally single unit) | |||
===="Nice-to-haves"==== | ===="Nice-to-haves"==== | ||
Line 32: | Line 97: | ||
* Broadcast events on the network. | * Broadcast events on the network. | ||
* Ability to update the software over the network. | * Ability to update the software over the network. | ||
* Relay / Darlington / Servo output configurations. | |||
[[Category:Projects]] | [[Category:Projects]] | ||
[[Category:Infrastructure]] | [[Category:Infrastructure]] |
Latest revision as of 09:59, 19 February 2018
Hackspace has machines, that ideally need to be inducted and access controls for safety reasons. A vital step towards the goal of 24/7 access on membership. A bonus of the system would be usage tracking and maintenance notifications.
A solution is a control device consisting of a box which enables the machine for as long as your RFID card is in the box. A Tool Access Node.
https://github.com/leedshackspace/machine-access-node https://github.com/leedshackspace/tool-api
Potential design
- ESP-12F module
- 3A Relay
- bicolour LED (red/green)
- Card interface header (6 pin SPI bus presenting power & ground)
- DIP switch addressable (or other)
User Workflow
First Time Authorised Use, Network Available
- User inserts their card for the first time.
- Check with permissions server. Can this card ID use this machine?
- Permissions server says "Yes!".
- Does this card exist already in the EEPROM?
- EEPROM says "Does not exist."
- Store this card ID in the EEPROM.
- Enable access to tool, illuminate appropriate LEDs.
Unauthorised Use, Network Available
- User inserts their card for the first time.
- Check with permissions server. Can this card ID use this machine?
- Permissions server says "No!".
- Illuminate denied LED.
- User inserts their card for the first time.
- Check with permissions server. Can this card ID use this machine?
- Permissions server is not available.
- Check local EEPROM. Can this card ID use the machine?
- EEPROM: No record of this card.
- Illuminate denied LED.
Authorised Use, Network Available
- User inserts their card.
- Check with permissions server. Can this card ID use this machine?
- Permissions server says "Yes!"
- Does this card exist already in the EEPROM?
- EEPROM says "This card exists."
- Enable access to tool, illuminate appropriate LEDs.
- User inserts their card?
- Check with permissions server. Can this card ID use this machine?
- Permissions server is not available.
- Check local EEPROM. Can this card ID use the machine?
- EEPROM says "This card exists."
- Enable access to tool, illuminate appropriate LEDs.
Previously Authorised Unauthorised Use, Network Available
- User inserts their card.
- Check with permissions server. Can this card ID use this machine?
- Permissions server says "No!"
- Does this card exist already in the EEPROM?
- EEPROM says "This card exists."
- Delete entry from EEPROM.
- Illuminate denied LED.
This eventuality should be countered by regular updates, or an update sequence upon startup. Sequentially checking each EEPROM entry and removing unauthorised entries.
- User inserts their card?
- Check with permissions server. Can this card ID use this machine?
- Permissions server is not available.
- Check local EEPROM. Can this card ID use the machine?
- EEPROM says "This card exists."
- Enable access to tool, illuminate appropriate LEDs.
Functional Specs
Mission Critical
These must work without networking or the main server being avalable.
- Check if card valid in local storage
- Set tool into "out of order" mode - must work without networking
Functions
- Relay contacts of at least 3 amps for switching the device (this would be best driving a contactor coil rather than the machine itself, as carrying machine current on a board seems bad). Hard-wired in using suitable grommets and with sufficient isolation between low and high voltage.
- Internal database of (up to at least 200*) authorised RFID card IDs, plus a flexible way of fetching updates from a membership server.
- Logging of who used the machine + hours used.
- Open Source hardware & software.
- Status light, for "active", "denied" and "thinking". (Although "active" is really the only important one, and blinking is fine). To build upon this, various different colours could indicate different things such as blinking green means valid, but offline and solid green means valid & online
- Fits in a standard backbox (probably deep depth, ideally single unit)
"Nice-to-haves"
- Ideally sub-£30.
- Mains Powered
- Ability for super-users to program new cards from the device - this should result in a callback to a membership server to verify it.
- Easy to program/modify
- Ability to monitor "actual" hours run - i.e. how long the laser cutter tube is actually on for. (This could potentially be done using a current transformer sensor.)
- Ability to poll for current state over the network.
- Broadcast events on the network.
- Ability to update the software over the network.
- Relay / Darlington / Servo output configurations.