RFID Machine Use Queue

From Dallas Makerspace
Jump to: navigation, search

Introduction

The RFID Machine Use Queue Project is intended to primarily provide a method for members to use the RFID cards and key fobs to put their names in queue for the next time that machine is available.

The system will be open source and will use off the shelf components as much as possible. The system will allow for easy paging, texting or emailing the next person in line for the machine. Logging and data mining will also be part of the design criteria, in hopes of getting a better idea of when new machines are needed to keep up with demand.

Requirements

Software

  • Reads RFID data from a HID USB 125KHz EM4100 compatible RFID reader
  • Software for accessing Active Directory for RFID lookup
  • Search Active Directory to ensure RFID matches a current member
  • Search Active Directory to ensure RFID matches a member that has training for that machine
  • Logging and data collection
  • Allow user to modify phone and email fields
  • Install On Screen Keyboard
  • Allow user to choose which queue(s) to add to
  • Allow user to delete THEIR queue entry
  • Allow Admin to delete any queue entry
  • Allow any member to swipe RFID and signal next in queue
  • Periodically create 720p sized graphic file of the queue and drop it where it will show up in the Chromecast for the machine

Hardware

  • EM4100 compatible 125KHz USB HID RFID reader
  • Raspberry Pi 3
  • Touchscreen Display
  • Network connectivity to the DMS network
  • Hardware for powering the device via Power over Ethernet (802.3af)
  • Case to protect device from dust and tampering

Proposed additions

Software

Hardware

Completed Steps

Software

  • Software for accessing Active Directory for RFID lookup

Python

   import requests
   url = "http://192.168.200.32:8080/api/v1/lookupByRfid"
   payload = "rfid=10284295"
   headers = {
       'content-type': "application/x-www-form-urlencoded",
       }
   response = requests.request("POST", url, data=payload, headers=headers)
   print(response.text)

cURL

   curl -X POST -d 'rfid=10284295' "http://192.168.200.32:8080/api/v1/lookupByRfid"

  • Install on-screen keyboard

sudo apt-get install matchbox-keyboard

  • Startup 7" touchscreen in 800x480 mode

sudo nano /boot/config.txt

   ...
   hdmi_force_hotplug=1
   hdmi_group=2
   hdmi_mode=1
   hdmi_mode=87
   hdmi_cvt=800 480 60 6 0 0 0

  • Startup Chromium in incognito and kiosk mode

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

   @lxpanel --profile LXDE-pi
   @pcmanfm --desktop --profile LXDE-pi
   # @xscreensaver -no-splash #commented to disable screensaver
   @point-rpi
   @xset s off
   @xset -dpms
   @xset s noblank
   @chromium-browser --incognito --kiosk http://192.168.200.130/queue-manager/index.html
   # load chromium after boot and point to the Queue-Manager index.html file in full screen mode

Hardware

  • Decided on Raspberry Pi 3 for processor overkill and WiFi ($35)
  • Decided on PoE to 5v Micro USB adapter (UCTRONICS IEEE 802.3af Active PoE to Micro USB 5V 2.4A for Raspberry Pi) ($10)
  • Decided on RPi 7" Touchscreen ($70)
  • Decided on SmartiPi Case for 7" RPi Touchscreen ($30)
  • Decided on USB RFID reader ($16)

Status

Photos

RPi3.jpg PoE to Micro USB.jpg SmartiPi Case.jpg

Project members

Resources