My first RFID project. It began with my utter disappointment in the limitations of the xAC V2.
Parts:
-
Arduino Duemilanove (10 years old. Buying new, I’d go with a Nano 33 IoT with builtin WIFI)
-
esp8266 wifi module
-
3.3v buck driver
-
AWID SP6820 used reader
Total cost if buying everything new, under $40.
The AWID communicates with the Arduino over 2 wires using Weigand, and 2 wires for vcc and ground. The buck driver powers the esp8266 because it’s only rated for 3.3v, and the 3.3v line of the arduino won’t supply enough current. So I power it off of the 5v rail and step it down. 2 resistors used as a voltage divider to prevent the 5v data line from the arduino from frying the 8266. And 1 capacitor to smooth the output voltage of the buck.
Here’s how it works. The Arduino boots up, and the first thing it does it connect to the wifi network specifically setup for my IoT devices. I scan in with a tag. The Arduino checks the HEX of the tag against it’s internal database. If it matches, it sends a message via MQTT broker. The Home Assistant smart home server receives the MQTT message, and sends the wireless unlock command to the door. The door unlocks.
The device operates independently of a computer, and can easily run off of a battery to make it 100% wireless. Although even with high capacity batteries and aggressive sleep cycles, I’d only get maybe 2 weeks at BEST before having to recharge.
So why? Because I already have about 60 wireless nodes in my smart home, including several expensive Zwave locks. I’m not about to yank the locks out to install magnetic door locks. Plus, the door’s keypads still work, as does using the web interface to unlock them.
Also, I can configure the smart home to respond to the MQTT message by doing ANYTHING! Scan in to turn on lights, set the lights to a color scheme, disable/enable the alarm, play a spotify playlist, sound an alarm, turn on adult television, or even lock the wife out from cranking the AC.
Youtube demonstration https://youtu.be/M8XbAS5--aw
Not a full tutorial because some of it was quite involved. Took me a day just to get the esp8266 flashed and working properly.