Introduction: Online RFID Attendance System (Without Ethernet)
This is a unique project in the world of Arduino for marking Online Attendancewithout using Ethernet and GSM modules. We have developed this unique project to automate the attendance system for offices, schools and universities etc. using RFID RC522 Module and Arduino. For Web Support and API, you need PHP and MySQL. This project costs less than $10. The purpose of this project is to remove tedious process of marking attendance manually.We've visited so many sites but no one has the solution for marking online attendance without using Ethernet or GSM Module, so we decided to develop our system without using these components which reduces our project costing.
Step 1: Hardware Required
- Arduino UNO
- RFID RC522 with RFID TAGS
- Jumper wires (generic)
Step 2: Making the Necessary Connections As Shown in the Circuit Diagram
Step 1. Attach the Arduino UNO to the PC using a USB cable.
Step 2. Attach the RFID Reader to the Arduino UNO as shown in the image of Circuit Diagram.
Step 3: Installing XAMPP and Setting Up Web Interface
For web interface, we require PHP installed in our system so firstly we need to install apache and MySQL in our system for this install XAMPP using link https://www.apachefriends.org/download.html (according to your OS) , may be you are not good with web programming so there is no need to worry about.
Please follow steps in order to install XAMPP for PHP given at below link
https://www.wikihow.com/Install-XAMPP-for-Windows
After installing XAMPP, please start the xampp apache/mysql services from XAMPP control panel as described in tutorial of wikihow. How to test xampp is working fine?
Open your browser and type: http://localhost
You will see above screen if everything is fine otherwise please repeat above steps.
Step 4: Copy and Paste the Attendance Zip Folder
Now copy and paste the attendance zip folder in htdocs
XAMPP->htdocs->attendanceSystem
Copied folder will be used in PROCESSING code to call API through path specified and to show attendance data online.
Attachments
Step 5: Creating DATABASE
- Now open the MySQL using browser: http://localhost/phpmyadmin
- Copy MySQL query from txt file "mysql_query.txt" and Pasteto create database and tables.
Attachments
Step 6: Run Web Application
Now we're ready to run our web application :
http://localhost/(your folder name)/
Here you'll see image given below if everything is going fine:
username: anshulpareek@gmail.com
password:12345
Step 7: Adding Users in Our DB
1.Before login please copy and paste Arduino code.
2. Now run and upload Arduino code to device.
3. Please copy and paste the markattendance program into processing window(to mark attendance)
4. Please copy and paste the add_user program into processing window by creating new file in processing software because we have different module to add users.
5. Open processing and run add_user program . It will show you a message to approximate your card. Please approximate your card to RFID after this you'll see the UID Code and a user name box .Please enter name of the user related to this UID (RFID TAG) to store information to web and then press add user button.
hoooorrrreeeyyyy!
You've Added a new in user.
Step 8: Result :Run Our PHP Code
After Login as we've logged in before :
So this is overall information about our project please grab as you want.
Please shout in comment box if you have any query.

Participated in the
Wireless Contest
40 Discussions
Question 1 year ago
Can anyone explain to me how to do step 6 because I keep getting and error message
1 year ago
can someone just do a video explaining on how to do the 7th step?huh
Question 1 year ago on Step 8
Not ableto find the solution to the error given below. Can someone help me with this..........
java.lang.RuntimeException: mouseEvent() already added for this instance of interfascia.IFButton
at processing.core.PApplet.die(PApplet.java:3735)
at processing.core.PApplet$RegisteredMethods.add(PApplet.java:1469)
at processing.core.PApplet.registerWithArgs(PApplet.java:1586)
at processing.core.PApplet.registerMethod(PApplet.java:1540)
at interfascia.IFButton.initWithParent(Unknown Source)
at interfascia.GUIController.add(Unknown Source)
at rfidReadWrite.checkUIDAlreadyExists(rfidReadWrite.java:131)
at rfidReadWrite.draw(rfidReadWrite.java:106)
at processing.core.PApplet.handleDraw(PApplet.java:2475)
at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1547)
at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:313)
1 year ago
Everything is clear up until 7.3 - 7.5. I don't know how to run those files with the processing software. I am not doing it right
Question 2 years ago
cant login
Answer 1 year ago
You need to create tbl_users in your database.
Run the following sql script to add the table
CREATE TABLE tbl_users(
user_id int(11),
email_id varchar(50),
password varchar(50),
name varchar(50),
user_type varchar(20),
rfid_uid TEXT,
user_logged_in int(11),
deflag int(2),
)
After adding the table, you need to add values to the columns with the email id and password you want to give access to. (REMEMBER : to set deflag value to 0)
Question 1 year ago on Step 8
Nice project for the php which software can i use it to design for it ?
1 year ago
You may want to check out this quick and easy tutorial on connecting your RFID RC522 module to PHP. It will show you how to save RFID logs to your Mysql database by sending a request to the server containing the tag id.
Video Demonstration
https://www.youtube.com/watch?v=SBWWQNPiXJ0
Direct Link for the Source Code and Tutorial Here
https://devcraze.com/tutorials/connecting-rfid-scanner-to-php-using-nodemcu-wifi-module/
1 year ago
hi I'm trying to continue this tutorial, I'm stuck Step 7: Adding to our database 1.Before logging in, please copy and paste the Arduino code. 2. Now, launch and load the Arduino code on your device. 3. Please copy and paste the program into the processing window. 4. Please copy and paste the add_user program into the processing window as a new processing software file as we have different modules to add users. 5. Open the process and run the add_user program
1 year ago
Hi I'm trying to make this tutorial, until I'm stuck Step 7: Add users to our database 1.Before logging in, please copy and paste the Arduino code. 2. Now, launch and load the Arduino code on your device. 3. Please copy and paste the markattendance program into the processing window (to mark the presence) 4. Please copy and paste the add_user program into the processing window by creating a new file in the processing software as we have different modules to add users. 5. Open the process and run the add_user program
1 year ago
hello.
This username and password not correct
web mesage: (User does not exists with given credentials!)
error mesage: Notice: Trying to get property of non-object in C:\xampp\htdocs\attendanceSystem\connection.class.php on line 23
Please help...
Thancks
1 year ago
Hi sir / madam , i have a problem with the add user and markattendance cide ,, it display (the value of the local variable "chkflag" is not used ) and ArrayIndexOutOfBoundException:1
Question 1 year ago
sir I can't understand step no. 7 .can you explaining step no 7 in detail ? i can't understand how to work with processing window and add_user folder containing file run with error
2 years ago on Step 8
sir i am having problem with loggin in
i dont know how to do it.
when i clickked the given link it gave error object not found.
similarly i could not understand when you said open add user file in processing .
i mean they are three .pde files in it then how to run add user program???
please reply soon i have a deadline
Reply 2 years ago
Hi,
tbl_users is missing in the mysql query. Find the database table below I have figured out that works fine in login issue.
You need to insert a record for admin user.
Reply 1 year ago
how do i insert a record for admin user?
Reply 1 year ago
can you show me the sql of tbl_users?
Question 2 years ago on Step 6
Notice: Trying to get property of non-object in C:\xampp\htdocs\attendanceSystem\connection.class.php on line 23
Answer 2 years ago
Its due to a missing table in this tutorial. find the screenshot below
Reply 1 year ago
where can i find that?