***This is a proof of concept for our business.***
Our Needs
We need an Access Control System that reads from a server (lets call it "Contracts Server") if a tenant is allowed to have access to his/her office based on:
- Is his office?
- His/Her boss allows his/her employee to be at office before the boss arrives
- Is the rent paid?
- It should be bilingual
So, if is not his/her office, or the tenant do not want his/hers employees to be at office when he/she isn't, or if the rent payment is overdue, access to the office should be denied.The ERP that we are developing is being developed in Ruby on Rails.
The Development of the Proof Of Concept:
FIRST we create an extremely simple application that validates the RFID cards. This simple app lacks all security measures and data integrity. It was created exclusively to be able to test the code that will be used in the ESP32
THESE ARE THE VIDEOS FOR THE CREATION OF THE APP
Tobedevelpedforthefinalversion(production):
- The app will control over 60 doors, so we will install an DS2401 transistor on each circuit so it has a unique serial number that will be used for linking each door to each circuit wich might have several RFID card linked to it.
- The code at the server, needs tons of improvements like, security, validation, sheduling, logging of the RFID cards activity, and so on
- We need to find a library for 2 way encription of the data transmited from the ESP32/Server to presuade an attack (hacking)
- To create the case for the circuits (printed with a 3D printer)
- To define several mechanisms that can be adapted to the handles that the doors currently have
EXPANDED TECHNICAL DETAILS
Full-Stack IoT Integration
This project bridges the gap between low-level hardware and professional web frameworks, creating a robust, enterprise-ready access control system.
- Microcontroller Hub: The ESP32 serves as the primary controller, utilizing its built-in WiFi to communicate with a remote server. It interfaces with an RC522 RFID reader to scan individual tags.
- Ruby on Rails Backend: The server is built with Ruby on Rails, managing a PostgreSQL database of authorized users and access logs. The ESP32 sends a POST request with the scanned UID, and the Rails API responds with an 'authorized' or 'denied' status.
Advanced Security Features
- Real-Time Web Dashboard: Administrators can monitor access attempts in real-time through a secure web interface.
- Digital Logs: Every entry and exit is timestamped and recorded, providing a complete audit trail for security compliance in a modern office or laboratory environment.