You are on page 1of 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/320225884

Design and Implementation of Smart Attendance System Based On Raspberry pi

Article · August 2017

CITATIONS READS
5 6,573

1 author:

Hayder Fadhil Abdulsada


Al-Furat Al-Awsat Technical University
8 PUBLICATIONS   13 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Library Managment System View project

Compensation of 8×2 Bpbs Optic Non-Linear Effects using DCF and Repeater View project

All content following this page was uploaded by Hayder Fadhil Abdulsada on 05 October 2017.

The user has requested enhancement of the downloaded file.


Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

Design and Implementation of Smart Attendance


System Based On Raspberry pi
Hayder Fadhil Abdulsada
Najaf Technical Institute, Al-Furat Al-Awsat Technical University,
31001 Al-Najaf, Iraq
inj.had1@atu.edu.com
Abstract
The attendance system proposed is used to manage attendance system in large and branched factory
or university from central unit. It consists of terminal units and a central unit. Each terminal unit consists of
Raspberry pi, screen GUI, RFID, transponder card with each user (like student) and GSM board. The
central unit consists of Arduino, GSM board and a computer. Each unit has a special program to achieve its
purpose. The terminal unit is responsible of making a connection with a transponder card to bring its ID's
and make a comparison with the names listed in the database of SQL server to get the names of the absent
students and send their serial numbers by using GSM message. The central unit is considered as a heart of
system where it is responsible of collecting all the information from the terminal units, displaying them and
making special processing to take a decision about persons whose absence exceed the threshold line.
Keywords: Attendance system, RFID, GSM, Raspberry pi, Arduino
‫الخالصة‬

1. Introduction
Successful schools tend to make sure that their students come to school regularly.
The consequences of low attendance of students are serious and they affect the
community. The classical way of taking attendance by saying students names or by paper
indicating causes time consumption, insecurity, and inefficiency. The attendance system
depending on Radio Frequency Identification technology is one of the tools to solve this
trouble. This system is used at universities, school, and business sites. Several studies is
published in this field for improving and replacing the classical method of taking
attendance by RFID technology. The principle operation of RFID depends on tagging
objects to identify them. The RFID technique gives several benefits over classical method
of taking attendance in class whereas the system is able to uniquely identify each person
depending on their RFID tag, so that the operation of taking the attendance is easier,
faster, and more secure comparing with classical method. The real time clock attendance
taken will be more accurate (Karthikeyan et.al., 2013).
RFID is a data collection technique which collects information by using data of
radio frequency that communicates between a mobile tag and the reader to recognize,
classify and track them. There are many different applications for RFID systems like
tracking of product through industrialization and assembly, controlling of inventory,

1610
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

parking lot access and control, searching of equipment in hospitals, searching of


container, etc.
The RFID system consists of tags with antenna, Reader with antenna, Middleware,
and backend or stored database. The tag includes a chip which stores a special series
identifier that is utilized to identify the things individually. The tag can be indicate the
object from multi meters distance and in front of the RFID reader. RFID tags have three
kinds which are active, passive, and semi-passive tag. The active tag is that which does
not require external source, it has battery source built in it, the passive tag is that which is
initiated by the reader, it does not has battery source built in it, and the semi passive tags
have the properties of both of them.
The RFID reader is a system which transmits a pulse of radio signals to the RFID
tag and waits for the response of the tag. The RFID tag senses these signals and transmits
a response which includes sequence number of tag and remaining data. The tag sends
these data to the Middleware for additional operation. The middleware is a connection
part that provides interfacing needed for controlling of the data flowing from the reader
and for transmitting of the data in an efficient manner to the stored database management
systems. The data came from the tag can be filtered, converted, and corrected by using
software (middleware). The antenna is medium which provides communications between
the reader and the tag. The database deals with the collection of data, and storage of
reader data recording. Figure (1) below shows the RFID system components (Ankita
et.al., 2013; Arulogun et.al., 2013).

Data
Timing
RFID Reader Antenna Antenna RFID Tag
Energy

Backend
Database
RFID Middleware

Fig 1: Components of an RFID system.


GSM is an international standard for mobile communication used for transmitting
voice of mobile and services of massages. It is evolved to make use of the same
subscriber parts or mobile phone units throughout the world. A modem of GSM is a
specified kind of modems that has a Subscriber Identity Module card (SIM card), and
works over a subscription to mobile operator, such as mobile phone. Time Division
Multiple Access technology has been used to send the signals where various calls
(signals) can use the same carrier (Pallavi et.al., 2013; Zatin et.al., 2012).
A GSM network is made up of various components and interfaces which simplify
signal transmitting and receiving and messages of traffic. It is transceivers collection,
registers controllers, routers, and switches. The Mobile Station (MS) consists of two
components which are Mobile Equipment (ME) which is the phone hardware and the
SIM card as it is shown in Figure (2) below (Pallavi et.al., 2013; Zatin et.al., 2012).

1611
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

Fig 2 : SIM 900 GSM Shield (Zatin et.al., 2012).


The Raspberry Pi is a general purpose computing device that transforms an
engineering concept to an actual interacting electronics module. It can be utilized for
applications of embedded systems and for particular applications of Internet-attached
embedded. Raspberry Pi is utilized to introduce learners to programming of computer and
general computing because the models of it are able to general purpose computing
devices. The Raspberry Pi 3 platform board is illustrated in Figure (3) below (Derek
Molloy, 2016).

Fig 3 : Raspberry Pi 3 platform board (Derek Molloy, 2016).


The Raspberry Pi platform can run the Linux operating system. which means that
many libraries and applications of opened source software can be used directly with it.
The availability of drivers of opened source software makes the raspberry pi interfaced
with devices such as keyboard, camera with USB, and adapter of WiFi, without having to
source proprietary alternatives (Derek , 2016).
The functionality of recent Raspberry Pi models can be extended with daughter
boards which is the Hardware Attached on Top (HATs), that are connected to the GPIO
pins which are 40 pins (rows of dual pin connectors in the platform in Figure 3). The
HATs can be designed and attached securely to the raspberry pi using this header (Derek,
2016).

1612
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

On the other side , the Arduino is also an open source hardware prototyping
board confirmed by environment of open source software. The Arduino was appeared in
2005 to make the software and hardware easy to be used and available to all users
(Charles , 2013).
2. Proposed System Design
The system proposed in this paper is based on the use of Raspberry pi3 model (B
V1.2) and Arduino UNO for hardware implementation of attendance system using RFID-
RC522. The proposed attendance system is demonstrated in the block diagram in Figure
(4) below . It consists of terminal units and base station unit. Each terminal unit includes
RFID unit, control unit and communication unit. The RFID unit consists of tags and
reader. The tags is carried by the users or students, each tag has a unique ID, the reader
will send an issue to each tag present in the reading range of the reader, so it is
responsible for getting information and sending it to the control unit. The control unit
consists of Raspberry pi and screen GUI user interface. This unit is responsible for
receiving the information (IDs) from the RFID unit and making all processing needed to
the attendance system.
Screen GUI User
Power supply Interface

Database for
Raspberry pi RFID Reader
students

GSM modem 2
MySQL Data 3

RFID Cards
Antenna

Antenna

GSM modem MySQL Data

Central
Arduino Computer

Fig 4: The proposed attendance system block diagram.

1613
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

A database of all the students names and their serial numbers has been built by
using SQL server in the Linux operating system. The control unit makes a comparison
between the received IDs and the IDs stored in the database of SQL server. The GSM
unit is used as communication unit which is responsible for sending and receiving the
coded information from all rooms of classes to the base station in order to give the overall
indication about the attendance in the college or university.
Figure (5) below shows the experimental system of the block diagram shown in
Figure (4). RFID and Raspberry pi with GUI screen are used at each room or class to take
the attendance of the students. A database of all the students ID's was built by using SQL
server in Linux operation system. The system brings the IDs of the students and makes a
comparison with the names listed in the database to get the absent names and send those
serial numbers (IDs) via GSM message to the base station to be summarized.

Fig 5: Experimental System


The system operation can be summarized by five steps. The first step: when the
student puts its tag near the reader, the reader will send the tag an issue in order to get its
ID's. The second step is that the tag receives the issue and sends its ID's to the Reader
which is connected with the Raspberry pi. The third step was represented by sending all
received IDs to the control unit (Raspberry pi). The Raspberry pi makes a comparison
with the names listed in the SQL database to get the absent names. The fourth step
represented by sending the IDs of the absent students to the central unit (Arduino and
GSM shield). The final step represented by receiving the information from all the
terminals units to save these information and take a decision about the states of the
students.

1614
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

The practical connections of raspberry pi with RFID and GSM shield are
demonstrated in Figure (6) below. The Raspberry pi can be programmed by using a high
level programming language which is the open source python language. The raspberry pi
needs an operating system to startup, Linux operating system is more suitable for
Raspberry pi . A blank SD card is needed to flash the Linux operating system onto the
card. After that, the internet is connected to the Raspberry pi in order to download the
required libraries. Mouse and Keyboard are also utilized with the Raspberry pi which are
needed to work with the operating system and hence the raspberry pi can be programed.

RFID-RC522 SIM900 GSM


RASPBEERY PI 3

Fig 6 : Connection of raspberry pi with RFID and GSM


The practical connection of GSM shield with the Arduino and computer is shown in
Figure (7) below. The Arduino is connected to the computer via serial port , it is used to
process the data coming from the GSM shield.

SIM900 GSM ARDUINO UNO

Fig 7 : Connection of Arduino and GSM shield


The Arduino UNO supports a number of digital and analog pins which is used to
connect the Arduino with the real world including devices and sensors. The processor of

1615
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

the Arduino UNO is the Atmel MCU (ATmega328). The Arduino UNO contains the
ATmega328 MCU and this platform is the open source platform which is easy to be used
in terms of software and hardware as it is shown in Figure (8).

Fig 8 : Atmel MCU (ATmega328) and the Arduino pin out


The most important specifications of the MCU are :
Digital I/O 14 Pin
Analog Input 6 Pin (10-bits ADC)
DC Current per I/O 40 mA
Flash Memory 32 KB (ATmega328)
Clock Speed 16 MHz
MCU is programmed through the IDE which is a language driven from C++. The
RFID is interfaced with the raspberry pi so that the RFID can bring the IDs of the users,
then the Raspberry pi manipulate them to get the IDs of the absent students. The python
code used for this process is shown in Figure (9) below

Fig 9 : Python Code for Interfacing Raspberry Pi With RFID

1616
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

3. System Operation And Results


The system is designed and implemented with a high-precision security. It is
flexible and friendly GUI for the users because it has simple graphic windows. Figure
(10) below shows the login window which contains the communication port with
Arduino and the user password that gives the security for the system.

Fig 10: Login window


Figure (11) shows a window that displays the states of the students . It contains the
department, stage and the subject. The Arduino receives the IDs of the absent students
from Raspberry pi via GSM, and adds a specific number of hours that the students were
absent for each lecture then displays them in that window

Fig 11 : Form 1 of Student States Windows.


The system includes search window as it is shown in Figure (12) below. The
window provides search by name, stage, and subject.

1617
Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

Fig 12 : Form 2 of search windows.


4. Conclusion
The proposed attendance system provides flexibility in taking attendance of
students or users whereas the system is efficient, easy and friendly GUI for the users with
high-precision security. Raspberry pi and Arduino have been used effectively for
designing and implementing the attendance system proposed based on radio frequency
identification and GSM technologies.
5. References
Ankita Agrawal and Ashish Bansal, 2013, "Online Attendance Management System
Using RFID with Object Counter", International Journal of Information and
Computation Technology. Volume 3, pp. 131-138.
Arulogun O. T., Olatunbosun, A., Fakolujo O. A., and Olaniyi, O. M, 2013, "RFID-Based
Students Attendance Management System", International Journal of Scientific &
Engineering Research, Volume 4, pp. 1-9.
Charles Bell, 2013, "Beginning Sensor Networks with Arduino and Raspberry Pi"
Apress.
Derek Molloy, 2016, "Exploring Raspberry Interfacing to the Real World with Embedded
Linux", John Wiley and Sons, Inc.
Karthikeyan C.S. and Murugeswari S., 2013, " Anytime anyplace-remote monitoring of
students attendance based on RFID and GSM network", International Journal of
Advanced Research in Electrical, Electronics and Instrumentation Engineering,
Volume 2, pp. 6154-6159.
Pallavi Verma and Namit Gupta, 2013, "Fingerprint Based Student Attendance System
Using GSM", International Journal of Science and Research, Volume 2, pp. 128-
131.
Zatin Singhal and Rajneesh Kumar Gujral, 2012, "Anytime Anywhere-Remote
Monitoring of Attendance System based on RFID using GSM Network",
International Journal of Computer Applications, Volume 39, pp. 37-41.

1618

View publication stats

You might also like