Tool Tracker
Contents
Team Members
Eliot Stein
Zach Steinberg
Hannah Lester
Nathan Schmetter (TA)
Project Description
Our project is an organization system designed to keep track of the check in/out process of tools in a lab. It involves RFID chips that represent different tools and a software program that monitors the student ID's of people using the tools, the time at which someone checks their tool in/out, which tools are being used, and the rating of each individual tool. Our system is designed to have a simple user experience in which someone could check an item in/out and also see general information about other tools in the lab. This could be used in labs (or any other place that could use a system like this one) to ensure that tools are not damaged or misplaced, and if they are, then the system will be able to determine when and by whom the tool was misplaced and/or damaged.
Challenges
Some that challenges we initially anticipated included:
- Connecting the software to the hardware, using RFID chips, and making the check in/check out console.
- Learning how to properly implement our software to meet our desired goals.
- Learning how to use RFID chips and Raspberry Pi.
- After doing some research, it seemed that a common problem with RFID chips is tag collision and reader collision, meaning that signals can accidentally become overlapped. We anticipated having to make sure that this issue did not happen with our tags.
- Making sure that each group member understands the software in its entirety.
After the project was completed, we reflected on many of the challenges that we faced. These mainly included:
- Making a console that was sized correctly so that all of our hardware could fit inside of it and still be functional.
- We had problems getting the reader to scan, but after a lot of work and research, we were eventually able to make it work.
- We initially struggled with transitions between our different interface pages, but after working with John and doing some trial and error with the coding, we were able to make it so that when a certain button was pressed, the interface would display a new page. Also, we had to make one page transition happen after a tool was scanned, which was the most challenging transition. However, by implementing a "ghost page" in which the code for the scanning function was placed, we were able to make the transition happen.
- Once we had the main project completed, we added in text files so that the data could be stored in a separate place. We struggled with updating the text files properly and combining this code with what we had already made. In the end, they worked properly so that they could record when a tool was checked in/out, who had the tools, what time a tool was checked in/out, and its most recent rating (if it was checked in). However, we attempted to create a way to record an average tool rating using data from the text files, but could not properly implement this method.
Materials and Budget
(Please note all prices do not include shipping and handling fees, but the total cost does include this.)
- $22.50 for 10 RFID Tags
- $39.95 for RFID Reader
- $49.99 for 7-inch LCD Touchscreen
- $39.95 for Working RFID Reader
- Raspberry Pi
- 3D Printer Filament
Total Spent: $187.02
Design and Solutions
Console
One of the main challenges of this project was creating a console that would be able to house the Raspberry Pi, LCD Screen, NFC Shield, and all of the cables that go with their respective parts. As a team, we did not want the console to be big and bulky, so we needed to create a small and sleek console that had enough room to fit all of the system's parts. Using SolidWorks, we designed two parts for our console; a cover and a base. The dimensions of the cover are ____x_____x_____ and the dimensions of the base are _______X_______x_______. The cover has a cut-out for the LCD screen and the base is split into two sections. One side of the base houses the Raspberry Pi and the LCD control board. The other side houses the NFC shield.
Attaching NFC Sheild to the Raspberry Pi
Eliot
Creating the Interface
Hannah
ID Analysis
Zach/Eliot
Gantt Chart
(These are preliminary, and we know that as the semester goes on, we will be able to break down these steps even further.)
Our main steps will include:
- Learning how to code the Raspberry Pi
- Creating the console using 3D-Printing
- Testing with RFID chips
- Programming the software
- Setting up the server
- Debugging the software
- Connecting the software to the hardware
- Creating the poster
- Demonstration
For the most part, we were able to stay on track with our Gantt Chart. We ran into some issues with the reader, which pushed us back slightly. However, once that issue was solved, we got back on track with the original plan. Many of the tasks we accomplished were completed as a group, with one person taking the lead.
Weekly Log
Link To Project Proposal Presentation
Code Explanation and Link to GitHub
The coding that we did for this project was all done in Python. We used Tkinter as a visual interface program that helped us make pages for the screen. This code includes labels, buttons, and many other visual pieces of the interface. We also used source code that we found to help with the scanner. Links to this code can be found in our weekly log. The most challenging element of our coding was combining the code that we made for the interface pages with the scanning code. Also, we initially had a lot of trouble with learning how to code in transitions from one page to another. Once we learned the syntax for one transition, then we were mostly able to mimic this syntax for the rest, with the exception of a few harder transitions.
In addition, we wrote text files that were able to store many pieces of information recorded by our program, such as who checked a certain tool in/out at a certain time, the ratings that tools were given, etc. These are also included in our GitHub.
MAKE SURE TO SAVE TEXT FILES TO GITHUB!!!!!
this link was in the materials and budget -- put in the proper place! Using the RFID Reader with Raspberry Pi
Results
Demo Day
Project Poster
- Please note that the total cost included on the poster only includes the cost of the second reader that we purchased, since this was the only reader included in the final product.
Future Improvements
Tutorial
(Updating a text file)