WJRH HID Access Control

14 Sep 2017

Introduction

Currently the entrance way at WJRH is controlled via a pair of magnetic strip readers placed near the entrances. Whilst this may have been suffiecent in the past, the whole of Lafayette College, for many years now, has been using HID's Proxkey tags. Since the barrier to entry to install these for the radio was either extremely high costs (for some bureaucratic reason or another) or the latency of managing it via the school, it was never installed. Fastforward to today where, through the wonders of Ebay, I have come accross 8 ProxPro II's for only 30 dollars.

Clearly, this is quite an affordable price. This allows us to, via an Arduino, to read the Tag's data directly and had ID's which we can put into our own system to manage the doors. Thereby, replacing the aging magnetic strip readers with a system that is more coherent with the rest of the college. Also, the current system also includes a very up-to-date Windows XP copy of Windows.

Reading the Tags is very trival as the wires are well labelled on the back of the unit and the data from the tag is spit out in a form conforming to that of Wiegand protocol. Also the lack of encryption on these tags, unlike Mifares or similar, seems to be counteracted by HID's high barrier to entry. Traditionally their equiptment is very expense, hard to come by, and surely has patents which are backed by well paid lawyers.

Implementation

Since this will be an ongoing project, expect this to list change a bit

  • Arduino Uno/Nano (any 328-based chip)
  • RF Receiver/Transmitter using the nRF24L01
  • I could experiment with the ESP8266 or ESP32, but the use of interrupts might either:
    1. Require significant code change for reading the Wiegand data
    2. To be used in conjunction with an arduino
  • However, use of the ESP8266 on at least one side of the communications would eliminate the need for a second nRF and arduino pair on the receiving end
    • Perhaps this is more cost effective

Current Issues

Currently, I am having trouble accurately sensing the falling edge signals coming from the two data lines on the reciever. The oscilloscope accurately counts the correct number of bits, bit the arduino is constantly lossing some. I am using a PIC based clone (Why do these even exist?) that was lying around the ECE lab, but I will be trying it with a proper 328-based board or better, with better compatibility and predictability (more documentation).

I am going to have to dive deeper into the current system to see exactly how the solenoid in the door lock is being run. Stay tuned.

Published on 14 Sep 2017 by Clement Hathaway