RFID Storage Cabinet
Members
Section titled “Members”- Lance Preston
- Gus Reiter
Psuedo Code
Section titled “Psuedo Code”- ScanRFID: if equipment: state = PutEquipmentBack elif member: state = ShowMemberOptions
- ShowMemberOptions: webservice:GetAvailableTools show screen if available tool selected: state = Checking Equipment Out if Exit selected: state = ScanRFID
- Checking Equipment Out: open cabinet locker for tool webservice:CheckoutTool(User rfid, tool rfid) if error selected: webservice:ReportError if appropriate wait for cabinet locker for tool to close state = ScanRFID
- PutEquipmentBack: open cabinet locker for tool prompt for member rfid prompt for condition of tool webservice:CheckinTool(tool rfid) webservice:ReportError if appropriate wait for cabinet locker for tool to close state = ScanRFID
Screens by State
Section titled “Screens by State”ScanRFID:
Section titled “ScanRFID:”Swipebadgeor equipmentto proceedShowMemberOptions:
Section titled “ShowMemberOptions:”Hello {membername} [exit]Feel free to scan in equipment to return
Checked out: {checked out equipment for this member, each clickable}Available to checkout: {checked out equipment, each clickable}CheckOutEquipment:
Section titled “CheckOutEquipment:”Hello {membername} [exit]Please remove the equipment from the now open locker and examine it.If the equipment is in good condition, please close the door, and enjoy.
Otherwise notate the issue below:* [equipment is missing]* [equipment is broken]PutEquipmentBack
Section titled “PutEquipmentBack”Feel free to scan your RFID to get credit [exit]Thank you {member name} [exit]
If there is an issue with the equipment, please press [This equipment needs repair]
Please place the equipment into the now open locker and close it.Web Services
Section titled “Web Services”- by Kent
- implemented in Flask
GetAvailableTools
Section titled “GetAvailableTools”Parameters:
- User RFID
returns:
- tools checked out
- tools available to check out
CheckOutTool
Section titled “CheckOutTool”Parameters:
- User RFID
- Tool RFID (was UUID)
IsDoorClosed
Section titled “IsDoorClosed”Parameters:
- Tool RFID (was UUID)
Returns:
- True / False
CheckInTool
Section titled “CheckInTool”- User RFID
- Tool RFID (was UUID)
Report Error
Section titled “Report Error”- User RFID
- Tool RFID (was UUID)
- ErrorMessage: description
Hardware
Section titled “Hardware”Commodity Hardware
Section titled “Commodity Hardware”- Touch Screen (7” open frame capacitive multi-touch panel (ratio 16:10)): http://www.chalk-elec.com/?page_id=1280#!/7-open-frame-capacitive-multi-touch-panel-ratio-16-10/p/39527272/category=3094846 http://www.karlssonrobotics.com/cart/Beaglebone-Black-Cape-LCD-7.0/ http://www.mouser.com/search/refine.aspx?Ntk=P_MarCom&Ntt=163356980 BeagleBone Black http://www.microcenter.com/product/434844/Beaglebone_Black_-_Revision_C
Stuff Lance is making ;-)
Section titled “Stuff Lance is making ;-)”Software upgrades
Section titled “Software upgrades”- Syntax Highlighting: https://github.com/farfanoide/vim-kivy
apt-get
Section titled “apt-get”sudo apt-get install python-software-propertieswget https://raw.github.com/pypa/pip/master/contrib/get-pip.pypython get-pip.py
sudo pip install flask-sqlalchemysudo pip install sqlalchemysudo pip install flask-restfulsudo pip install FlaskSource Code
Section titled “Source Code”https://github.com/Kentamanos/rfidLocker
Build mu/th/er cabinet Ubuntu distro from scratch
Section titled “Build mu/th/er cabinet Ubuntu distro from scratch”Requirements:
Section titled “Requirements:”- Beaglebone Black Rev A, B or C. A bit tight on A and B.
sudo apt-get clean - Linux computer that can write to microsd
On Linux computer
Section titled “On Linux computer”- program microsd card which will install Ubuntu 14.04 into Beaglebone Black
wget https://rcn-ee.com/rootfs/2015-06-11/flasher/BBB-eMMC-flasher-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img.xzunxz BBB-eMMC-flasher-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img.xzdd if=BBB-eMMC-flasher-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img of=/dev/sd{drive letter for microsd card here}Install Ubuntu onto BBB
Section titled “Install Ubuntu onto BBB”- insert microsd card generated by the Linux Box above.
- power up, and wait
echo "deb http://ppa.launchpad.net/kivy-team/kivy/ubuntu trusty main" >> /etc/apt/sources.listsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A863D2D6sudo apt-get updatesudo apt-get upgradesudo dpkg-reconfigure tzdatasudo apt-get install kivy mysql-server python-flask-sqlalchemy lxde lxde-core lxde-icon-theme build-essential python-dev python-setuptools python-pip python-smbussudo pip3 install Adafruit_BBIOsudo pip3 install -pre sqlalchemyif pip does not get installed:
Section titled “if pip does not get installed:”https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1468155
sudo apt-get install python-pip=1.5.4-1 python-devUpdate BBB to auto log in as a user
Section titled “Update BBB to auto log in as a user”/etc/lxdm/lxdm.conf
## uncomment and set autologin username to enable autologinautologin=ubuntuUpdate BBB to auto start program
Section titled “Update BBB to auto start program”update ~/.config/lxsession/LXDE/autostart
@xscreensaver -no-splash# @lxpanel --profile LXDE@pcmanfm --desktop --profile LXDE@/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1@/usr/bin/python cabinetstorage.pyIdeas for starting in kiosk mode: http://surf.suckless.org/files/kiosk_mode
Rotate screen
Section titled “Rotate screen”http://hipstercircuits.com/problems-with-beaglebone-black-and-their-solution/
sudo apt-get install python-mysqldb
mysql --u root -p
create database muther;create user 'muther'@'localhost' identified by '{password}';grant create, delete, insert, select, update on muther.* to muther@localhost;flush privileges;How can I get rid of image burn-in on an LCD display?
Section titled “How can I get rid of image burn-in on an LCD display?”http://www.mouser.com/search/refine.aspx?Ntk=P_MarCom&Ntt=163356980
http://n0where.net/understanding-the-ldap/
Category
Section titled “Category”Migrated from the legacy DMS wiki: original page