====== NFC-enabled Tool Lockers ======
This project is complete! We have a unit of eight tool lockers in the workshop that stores our Makita cordless tools, and Proxxon rotary tool.
You can view the contents of the lockers, current status, and who is currently using/last used the tools here: [[https://lockerstatus.ehlab.uk/|lockerstatus.ehlab.uk]]
===== Development history =====
We have portable tools that require training before use, or which are valuable and at risk of being borrowed or stolen. The proposed solution is to create individual lockable compartments operated by our existing NFC tokens.
===== Status ======
Wiring the individual locks and sensors is time consuming so only two compartments have been completed. A new PCB has been created to make this easier and we are waiting for it to arrive.
===== Compartments =====
We will purchase a [[https://www.ikea.com/gb/en/products/storage-furniture/shelving-units-systems/kallax-shelving-unit-white-art-80275887/|KALLAX]] shelf from IKEA. This will provide 8 spaces of 33x33x38cm. The back of the cabinet will be closed with a sheet of wood.
Doors will be laser-cut from 5-6mm clear acrylic. They will be mounted to the KALLAX with cabinet hinges designed for glass doors (a few varieties are available).
The unit will be placed in the workshop, under the workbench where the small bench grinder/sander is mounted.
===== Mechanical =====
Electric cabinet locks [DSCK7267] will be used to secure the doors. These locks are 12V operated, fail-secure, and with a closure detection switch. A TTP223 touch sensor module will be used to trigger the release of an individual lock after authentication via NFC.
===== Electronics =====
A single controller will operate a group of 8 lockers. The electronics will be based on the tool/door controllers, using an ESP8266 microcontroller and PN532 NFC module. I2C expanders will be used:
* to interface to an 8-way relay board to control the locks
* to interface to the touch sensors
* to interface to the lock closure sensors
Addressable RGB LED strip will be installed in each compartment to provide status feedback (tool checked in/out, compartments authorized after an NFC swipe).
===== User Interface =====
There will be one NFC reader for the group of 8 lockers.
* Present token to the reader
* Lockers that are authorized for the user will light up while others remain dark
* User touches the handle (touch plate) of the locker they wish to open
* Selected locker pops open. Other lockers deactivate (present token again to open another locker).
===== Use Cases =====
Some of the tools or equipment that might be stored securely (some of these are only likely to be purchased if secure storage is available):
* Makita cordless tools (to avoid borrowing or theft)
* Proxxon rotary tool kit (to avoid damage or loss of small parts)
* Angle grinders (to ensure that users are trained)
* Good quality measurement tools (calipers, micrometers)
* Hand tool kits with easily lost parts
===== Tasks =====
* Cabinet installation
* Buy KALLAX cabinet (Tim will do this)
* Build KALLAX cabinet
* Install a sheet of wood to close-off the back
* Remove existing support leg from workbench
* Install cabinet under bench
* Brace the workbench (transfer the load of the workbench onto the KALLAX)
* Doors
* Buy material from Hobarts (4x 800x450x6mm clear acrylic)
* Design the door for laser cutting:
* 330x330mm
* Rounded corners (say 5mm radius?)
* Holes for selected hinges
* Holes for mounting lock and touch sensor plate
* Test cut in MDF
* Laser-cut 7 more doors
* Fit to cabinet
* Lock assembly
* Create a jig to mount the lock in the correct (repeatable) position relative to the catch on the door
* Decide how to screw the lock into the KALLAX
* Install wiring
* for lock release, lock sensor, touch sensor and LED strip
* use alarm cable and leave a tail at the back of the cabinet for connection to the electronics
* Electronics [complete]
* Based on tool access controller
* Blue box with clear lid
* 20x4 LCD
* NFC module
* Tool controller PCB
* Cable to back of KALLAX (ground, 5V, SDA, SCL, LED bus)
* Additional electronics behind the KALLAX (or at the back of one unit with a cover)
* 12V PSU for relays
* 5V PSU for electronics and LEDs
* 8-way relay module
* I2C expander for relays
* I2C expander for touch sensors
* I2C expander for lock closure switches
* Screw terminals to terminate power/relays/touch/closure/LED-in/LED-out for each locker
* It will make wiring/testing easier to have a clear termination point for each locker's cable
* Software
* Will be based on the door/tool controller software (with plenty of changes required)
* Status:
* Mostly done.
* Minor change required to authentication class.
* WS2812 LED handling not implemented.
* Minor UI improvements required.
* Done, working.
===== Parts =====
| [[https://www.ikea.com/gb/en/products/storage-furniture/shelving-units-systems/kallax-shelving-unit-white-art-80275887/|KALLAX]] | |
| [[https://hobarts.com/6mm-clear-cast-perspex-acrylic|Clear acrylic sheets]] 4 of 800x450x6mm | |
| [[https://www.amazon.co.uk/gp/product/B019GU0A54/|Cabinet hinges]] | 4 pairs in stock for testing not suitable |
| [[https://www.screwfix.com/p/steel-fixed-pin-hinges-40-x-33mm-2-pack/90850|Hinges]] | in stock |
| Touch plates | |
| Pop-rivets (for touch plates/lock) | in stock |
| Locks (DSCK7267) | in stock |
| Touch sensors (TTP223) | in stock |
| 8-way 12V relay module | in stock |
| I2C expanders (PCF8574) | in stock |
| Wemos D1 Mini ESP8266 | in stock |
| 12V 3A power supply | |
| 12V->5V DC-DC converter | |
| WS2812 LED strip | needs to be ordered |
===== Files =====
* {{ :tool-locker-door-330x330-20190626.dxf?linkonly | tool-locker-door-330x330-20190626.dxf }}
* [[https://a360.co/2YmWKSv|Lock mounting and fitting templates]]
* [[https://a360.co/2YpsRAK|Door design]]