0% found this document useful (0 votes)
5 views

Project File

Project file
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Project File

Project file
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

RFID Based Attendance System

a Smart & Quick Attendance Monitoring System


Thesis Submitted in fulfillment of the Requirement for the degree

Of

Bachelor of Technology (B.Tech)

in

Department of Computer Science and Engineering


By

CHANDRAMOULI HALDAR (L3-1)

NITISH KUMBHAKAR (L3-2)


ELEEN DAS(L3-3)
SAMALI GHOSH (L3-4)

ARIJIT MITRA (L3-5)


LIZA SINHA (L3-6)

Under the guidance of

Prof. Mr. Rafiqul Islam

Guru Nanak Institute of Technology, Kolkata-700110


ACKNOWLEDGEMENTS
We would like to express our special thanks of gratitude to our Mentor "Mr Rafiqul
Islam" sir for their able guidance and support in completing our Project.

His insightful advice and timely feedback significantly contributed to the project's
success. Under his mentorship, we gained not only technical knowledge but also a
sense of confidence and resilience in overcoming challenges.

Thank you, Mr. Rafiqul Islam, for your unwavering support and for being an
exceptional mentor throughout our project.

Date: name

Place:
GURUNANAK INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

This is to certify that the thesis entitled, “RFID Based Attendance System
a Smart & Quick Attendance Monitoring System” being submitted by CHANDRAMOULI
HALDAR (L3-1), NITISH KUMBHAKAR (L3-2), ELEEN DAS(L3-3), SAMALI GHOSH (L3-4), ARIJIT
MITRA (L3-5), LIZA SINHA (L3-6) for the award of the degree of Bachelor of Technology
(Computer Science and Engineering) of GNIT, is a record of bonafide research work carried out
by his under supervision and guidance. They have worked for nearly one month on the above
problem at the Department of Computer Science and Engineering, Gurunanak Institute of
Technology, Kolkata and this has reached the standard fulfilling the requirements and the
regulation relating to the degree.

The contents of this thesis, in full or part, have not been submitted to any other university
or institution for the award of any degree or diploma.

Supervisor

----------------------------

Mr. Rafiqul Islam


Department of Computer Science and Engineering
GNIT, Kolkata.

Head of the Department

----------------------------------

Head of the Department


Department of Computer Science and Engineering,
GNIT, Kolkata
Contents

Chapter No. Contents Page No.

1. Abstract 01
2. Introduction 01
3. Objective 02
4. Proposed System 02
5. System Model 03

5.1 Hardware Requirement

5.2 Software Requirement

5.3 Design

6. Implementation 04

6.1 Hardware Description

6.2 Code Explanation

7. Experimental Results 13
8. Conclusion 14
Abstract
The RFID-Based Attendance System project represents a pivotal initiative geared towards
enhancing the efficiency of the attendance-taking process within a classroom environment.
Recognizing the inefficiencies inherent in traditional methods involving the manual calling out of
roll numbers, our project endeavours to revolutionize this process. Manual attendance tracking is
not only time-consuming but also susceptible to errors, prompting the imperative need for a more
streamlined approach.

To tackle these challenges head-on, our project capitalizes on Radio Frequency Identification
(RFID) technology. By harnessing the capabilities of RFID, we eliminate the need for laborious
roll call procedures and introduce a more expedited and error-resistant system. This innovative
solution relies on the existing RFID-enabled ID cards issued by the college, seamlessly integrating
technology into the daily routines of students and faculty.

The cornerstone of the system is the RFID reader, which swiftly captures data from the RFID-
enabled ID cards during attendance sessions. This data is then processed by a microcontroller,
facilitating real-time updates in a centralized database. The result is a comprehensive and accurate
record of attendance that mitigates the drawbacks associated with manual methods.

In essence, our RFID-Based Attendance System not only addresses the inefficiencies of traditional
attendance tracking but also aligns with the broader technological landscape of the educational
sector. This project signifies a leap towards a more efficient, reliable, and technologically
integrated future for attendance management in academic institutions.

Introduction
The RFID-based attendance system was designed to improve the efficiency of the attendance
tracking process in typical classroom settings. The traditional approach of calling out each
student's roll number and manually recording attendance is not only time-consuming but also error-
prone. In response to these issues, we created an innovative RFID-based solution that makes use
of the RFID-enabled identity cards at the college. We have successfully implemented a more
simplified and accurate attendance monitoring system by employing this technology. Students may
now enter the classroom by simply scanning their RFID-enabled identity cards, eliminating the
need for human roll calls and considerably lowering the time and possible inaccuracies associated
with traditional attendance techniques. The adoption of this RFID-based technology constitutes a
significant step forward.
Objectives
• Automate the process of tracking attendance.
• Reduce the amount of time needed to take attendance.
• Reduce the amount of effort with manual attendance marking.
• Use the current RFID-enabled college ID cards.

Proposed System
The proposed system introduces a technologically advanced and efficient solution to address the
challenges associated with traditional attendance tracking methods. Leveraging Radio Frequency
Identification (RFID) technology and the existing RFID-enabled ID cards provided by the college,
the system aims to streamline the attendance process. The key components and features of the
proposed system are as follows:

1. RFID Reader Integration:

Implementation of a RFID device in classrooms to scan RFID-enabled ID cards swiftly. As


college already provides a RFID-enabled ID card, so there is no need to buy anything extra.

2. Microcontroller Processing:

Utilization of a microcontroller (e.g., ESP-32) to process RFID data in real-time.

Efficient handling of data transfer between the RFID reader and the central database.

3. Centralized Database:

Establishment of a centralized database to store and manage attendance records.

For our Databased we have use GOOGLE SHEETS so it can be access form any ware.

4. User-Friendly Interface:

The Developed product is a very easy to use device just we have to tap our ID cards if it is an
authorized card a green LED will blink and your attendance will be stored into the database else a
red led blink to inform it is a unauthorized card.

5. Automated Attendance Marking:

Automatic marking of attendance as students scan their RFID-enabled ID cards.

Minimization of errors associated with manual attendance processes.


System Model
Hardware Requirement :
For designing this project, we need some Hardware’s as follows:

I. ESP-32 as the Microcontroller.


II. RFID-RC522 module for scanning the cards.
III. Some LEDs for indication.
IV. Switch, connectors, some wire and a casing.

Software Requirement :
For designing this project, we need only 2 Software’s

I. ARDUINO IDE for programing the ESP-32 microcontroller.


II. Fritzing for designing the circuit diagrams.

Design :
Implementation
Hardware Description

I. ESP-32:
ESP32 is a series of low-cost, low-power system on a chip microcontrollers
with integrated Wi-Fi and dual-mode Bluetooth.
II. RFID-RC522:
The RC522 RFID reader module is designed to create a 13.56MHz
electromagnetic field and communicate with RFID tags (ISO 14443A standard
tags).
III. One Switch and some LED , Jumper cables .

Code Explanation

This are all the Necessary Libraries :

#include <deprecated.h>

#include <MFRC522.h>

#include <MFRC522Extended.h>

#include <require_cpp11.h>

#include <SPI.h>

#include<WiFi.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <Keypad.h>

#include <HTTPClient.h>
This are all the Necessary pinouts

#define RST_PIN 34

#define SS_PIN 5

#define LED_PIN 15

#define LED_PIN2 13

#define LED_BUILT 2

This are all the Necessary variables

String ID_e;

int value = 0;

bool done_flag = 0;

char* response = " ";

String res = "";

char* succ_code = "200 OK";

bool rfid_flag = 1;

MFRC522 mfrc522(SS_PIN, RST_PIN);

// Necessary parameters for IFTTT request

String Event_Name = "CSE3";

String Key = "WPk1o0mDJa3UEVjBCsiN0";

String resource = "/trigger/" + Event_Name + "/with/key/" + Key;

const char* server = "maker.ifttt.com";

// Provide your WiFi Credentials

const char* ssid = "SSID 2";

const char* password = "244466666";


const char* NAME; // Variable to save the name of the person

const char* ROLL;

// Define the allowed UIDs and their associated actions

byte allowedUIDs[][4] = {

{0x52, 0xE, 0xBD, 0x1B}

};

This is the SETUP part :

void setup() {

Serial.begin(9600);

SPI.begin();

mfrc522.PCD_Init();

pinMode(LED_PIN, OUTPUT);

pinMode(LED_PIN2, OUTPUT);

pinMode(LED_BUILT, OUTPUT);

initWiFi();

This is the LOOP part:

void loop() {

// Look for new cards

if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {


Serial.println("Card detected!");

// Check which UID matches and perform corresponding action

if (compareUID(mfrc522.uid.uidByte, allowedUIDs[0], mfrc522.uid.size)) {

NAME = "CHANDRAMOULI HALDAR";

ROLL = "L3-1";

Serial.println("Access granted !");

LED();

makeIFTTTRequest();

} else if (compareUID(mfrc522.uid.uidByte, allowedUIDs[1], mfrc522.uid.size)) {

NAME = "NITISH KUMBHAKAR";

ROLL = "L3-2";

LED();

Serial.println("Access granted !");

makeIFTTTRequest();

} else {

Serial.println("Access denied!");

LED2(); // Perform actions for denied access

// Halt PICC

mfrc522.PICC_HaltA();

// Stop encryption on PCD


mfrc522.PCD_StopCrypto1();

bool compareUID(byte *uid1, byte *uid2, byte size) {

for (byte i = 0; i < size; i++) {

if (uid1[i] != uid2[i]) {

return false; // UID doesn't match

return true; // UID matches

void makeIFTTTRequest()

HTTPClient http;

Serial.print("Connecting to ");

Serial.print(server);

WiFiClient client;

int retries = 5;

while (!!!client.connect(server, 80) && (retries-- > 0)) {

Serial.print(".");

Serial.println();

if (!!!client.connected()) {
Serial.println("Failed to connect...");

Serial.print("Request resource: ");

Serial.println(resource);

String jsonObject = String("{\"value1\":\"") + ROLL +" "+ NAME + "\"}";

client.println(String("POST ") + resource + " HTTP/1.1");

client.println(String("Host: ") + server);

client.println("Connection: close\r\nContent-Type: application/json");

client.print("Content-Length: ");

client.println(jsonObject.length());

client.println();

client.println(jsonObject);

int timeout = 5 * 10; // 5 seconds

while (!!!client.available() && (timeout-- > 0))

delay(100);

if (!!!client.available())

Serial.println("No response...");

}
while (client.available())

// Serial.write(client.read());

char add = client.read();

res = res + add;

response = &res[0];

Serial.println("=======");

Serial.println(response);

if (strstr(response, succ_code)) // If connected to internet, make registration

Serial.println("Registered");

delay(1000);

else // If not connected to internet, don't make registration

Serial.println("Not Registered");

delay(1000);

response = "";

res = "";

Serial.println("\nclosing connection");
client.stop();

// Initialising WiFi connectivity if router is available

void initWiFi()

Serial.print("Connecting to: ");

Serial.print(ssid);

delay(2000);

WiFi.begin(ssid, password);

int timeout = 10 * 4; // 10 seconds

while (WiFi.status() != WL_CONNECTED && (timeout-- > 0)) {

delay(250);

Serial.print(".");

Serial.println("");

if (WiFi.status() != WL_CONNECTED) {

Serial.println("Failed to connect");
}

else

Serial.print("WiFi connected in: ");

Serial.print(millis());

Serial.print(", IP address: ");

digitalWrite(LED_BUILT, HIGH);

Serial.println(WiFi.localIP());

delay(2000);

void LED() {

digitalWrite(LED_PIN, HIGH); // Turn on the LED

delay(2000); // Keep the LED on for 2 seconds

digitalWrite(LED_PIN, LOW); // Turn off the LED

void LED2() {

digitalWrite(LED_PIN2, HIGH); // Turn on the LED

delay(2000); // Keep the LED on for 2 seconds

digitalWrite(LED_PIN2, LOW); // Turn off the LED

}
Experimental Results

In Normal Condition If an authorized card is If an unauthorized card is


detected GREEN LED detected RED LED blinks
blinks

If an authorized card is detected it will store the name of the student with their
Roll number along with Date and Time.
Conclusion
In conclusion, the RFID-based attendance system offers a transformative solution to the
inefficiencies of manual attendance tracking. By leveraging RFID technology and existing ID
cards, we've streamlined the process, reducing time and errors. The system's architecture, including
RFID readers and a centralized database, ensures real-time monitoring. Beyond efficiency, it
enhances user convenience and sets the stage for future improvements like integration with
management systems and mobile applications. This project stands as a beacon for embracing
innovation in education, marking a significant step toward a more efficient, accurate, and
technologically integrated approach to attendance monitoring in academic institutions.

You might also like