This is an old revision of the document!
Author: Olteanu Robert
Master: AAC2
The main goal for this project was to develop a security system based on IoT devices, mainly based on ESP32 development board and an RFID module and a RFID card and also a Tag which have a unique identifier to which I added some programming logic using a security keycode that user can type in using a 3×4 keypad, and for a good user experience I decided to add a small LCD 16×2 so the user can actually see if the keycode was wrong, or the card/tag he/she scanned is invalid.
Another good thing about the ESP32 is the fact that it has a built in WiFi module that allowed me to build a small dashboard in Adafruit.io where there are displayed a few information like, the current keycode, a log containing a small history and some status widgets.
For the hardware parts I used:
I attached below a diagram generated using circuito.io, but I used a version that involved less wires.
In the table below I described all the libraries used to develop the project.
Library | Description |
---|---|
SPI.h | Serial Peripheral Interface is a synchronous serial data protocol used for communicating with one ore more devices quickly |
MFRC522.h | Standard library to interact with the MFRC522 module to read/write different types of RFID cards |
Keypad.h | Standard library for using matrix style keypads with Arduino |
LiquidCrystal_I2C.h | Offers a few functions to interact easily with the LCD display for displaying characters or erasing them |
Wire.h | Allows you to communicate with I2C/TWI devices |
Adafruit_MQTT.h | Arduino library for MQTT support, including accessing the Adafruit.io |
Adafruit_MQTT_Client.h | Part of the Adafruit_MQTT library suite |
Next thing the software is split in two main parts: