Projects: RFID System

From Port City Makerspace
Jump to navigation Jump to search

RFID System

This is a project to build and set up an RFID access system for the space. There are multiple parts to it.

The first part is door access. For the longest time we have used a simple RFID reader that can be programmed to allow certain RFID tags to unlock the door.

The goal for door access is to have more info on when members use their RFID tags. Who swiped their card, when they swiped it, and if there is more than one door with a reader which door was swiped. After those are implemented, the next aspect would be to have membership data synced up to tell who has an active membership for what time of day.

The second part is tool access. These are modules connected to the major power tools to restrict access to those who have not gotten a safety checkout on them. They will require an RFID reader, a microcontroller, and a relay board rated for 15 amps.


The Parts

Door Access

  • Raspberry Pi
  • RFID Reader Module
  • Relay board
  • Magnetic door strike
  • Power supply with 12v and 5v

Latest Project Update

All the components have been moved from the prototype breadboard and soldered to a PCB. Created a header on the PCB for the PiCobbler cable. This allows the cable to detached from the PCB for testing or board modification. 

   After initially creating the PCB and testing the circuit, the cards were being read and the relay was not being triggered. In fact the LED had a constant, dim glow to it. After a little debugging, I realized that I had not tied the ground from the PiCobbler cable to the PCB ground for the +5Vdc and +12Vdc power supplies. So, I initially had a floating ground. After soldering a jumper from the PiCobbler PCB header to the PCB ground, all was well. Further testing indicated that the proximity cards were being read and, if the card ID value was in the card file, the door striker was triggered and unlocked.

Next Step

  • Install striker in door (DONE)
  • Determine mount for RasperryPi and PCB
  • Run power and Ethernet to the unit
  • Create the external card reader cover (using PVC sheet)
  • Enhance software to run continually, log entries and allow inspection of the record of member entries to space.

Old Project Updates

posted Apr 20, 2014, 1:23 PM by Dave Strohschein

   This week saw the arrival of the four expected MiFare cards. With the additional cards, I was able to test out the system's response when a card was in the MembersCard.txt file and when it was not. This would simulate that the card was assigned to a member or the card was unassigned. The system is designed that if the card is recognized (by the reader), the striker is opened (for 5 sec); and the date, time, and the card id are added to a file. This file can then be accessed in the future to determine membership card usage.

    At this time the striker is energized (unlocks) when a card in the member file is detected. So, at this point, the basic card detection, logging and striker activation works. I also verified that cards could be detected when the antenna from card detection circuit is covered by PVC sheeting (this will be important for mounting the detection circuit in the wall by the door). 

    We are now ready to install the striker in the door, considering the mounting of the system, and modifying the initial software for continual operation and management operations.


posted Apr 9, 2014, 10:33 AM by Dave Strohschein

Yesterday, I ordered four MiFare Classic Cards from Adafruit Industries. These will be used initially for testing the software associated with the project. 


posted Apr 6, 2014, 9:47 AM by Dave Strohschein

This weekend I added the a 5Vdc/1A relay and an LED circuit to check the ability of the system to detect and energized the relay (which will eventually energize the striker). After some initial debugging of the code and the circuit, I achieved 'first light': the green LED glowed and the relay was energized when pin 18 on the 'Pi-Cobbler' connector was set 'HIGH'. 

Also, the code was modified and adapted so that it now sets pin 18 HIGH for 5 seconds following detection of an NFC card by the reader. The code is attached as door_entry.py and a picture of the current prototype is shown attached as FirstLight.JPG. Note, the small PCB at the bottom of the photo is the relay mounted on a separate PC board for easier prototyping.

Now to get some more cards and develop the software further and wire in the door latch striker for testing .


posted Mar 30, 2014, 9:20 PM by Dave Strohschein   [ updated Mar 30, 2014, 9:20 PM ]

After some reading, coding and volt meter work, I was finally able to control a GPIO pin (BMC GPIO18) on the PI Cobbler jumper. I tested the code by measuring the voltage across a resistor to see if the controlling transistor was 'turned on' using the output of GPIO18. Needed to run Python as root (sudo python). Additionally, the key statements were the following:

import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BCM) #will use the BCM numbering system.  GPIO.setup(18,GPIO.OUT) GPIO.output(18,GPIO.LOW) #GPIO18 @ 0Vdc GPIO.output(18,GPIO.HIGH) #GPIO18 @ 3.3Vdc GPIO.output(18,GPIO,LOW)

With these commands, I was able to turn the transistor on and off. This will then be used to energize the coil on the relay to energize the door striker. See the file StrikerCtrlCkt.png in the 'Files' section. So far I only hooked up the circuit from the 5Vdc to ground without the diode and including the connection with the transistor (See the TransistorTestCkt.png in 'Files'.).


posted Mar 28, 2014, 3:41 PM by Dave Strohschein

I decided to start a wiki page to keep track of the work on the Raspberry Pi - based door entry project here at Port City Makerspace. If you have suggestions or comments, please add them. -Dave