You are on page 1of 62

THE MINISTRY OF EDUCATION AND SCIENCE OF

THE KYRGYZ REPUBLIC


ALA-TOO INTERNATIONAL UNIVERSITY
FACULTY OF NEW TECHNOLOGIES
COMPUTER SCIENCE DEPARTMENT

DEVELOPMENT AND DESIGN OF AN AUTOMATED SYSTEM FOR


TAKING ATTENDANCE WITH A STUDENT ID CARD BASED ON THE
ARDUINO MICROCONTROLLER FOR AIU

Author: Azamat Belekov


Supervisor: Kanybek Duisheev

Bishkek – 2020

i
THE MINISTRY OF EDUCATION AND SCIENCE OF
THE KYRGYZ REPUBLIC
ALA-TOO INTERNATIONAL UNIVERSITY
FACULTY OF NEW TECHNOLOGIES
COMPUTER SCIENCE DEPARTMENT

DEVELOPMENT AND DESIGN OF AN AUTOMATED SYSTEM FOR


TAKING ATTENDANCE WITH A STUDENT ID CARD BASED ON THE
ARDUINO MICROCONTROLLER FOR AIU

By Azamat Belekov

Approval of Thesis Advisor: Date: 25 May 2018


Kanybek Duisheev

Approval of Head of Department: Date: 25 May 2018


Nurlan Shaidullaev

Bishkek – 2020

ii
ALA-TOO INTERNATIONAL UNIVERSITY
FACULTY OF NEW TECHNOLOGIES
COMPUTER SCIENCE DEPARTMENT

ABSTRACT

DEVELOPMENT AND DESIGN OF AN AUTOMATED SYSTEM FOR


TAKING ATTENDANCE WITH A STUDENT ID CARD BASED ON THE
ARDUINO MICROCONTROLLER FOR AIU
By Azamat Belekov

As the technology is moving forward, the attendance taken process should be


automated to make the process easy, systematic and fast. However, not many of
the school or university in Kyrgyzstan are implementing automated attendance
taken process during the lecture section. This may lead to time consuming while
taking attendance by using the paper based attendance list and sometimes error will
occur during the process. At most universities of our country, taking an attendance
of students takes about 10-15 minutes every day. In one semester, it will take a
dramatic time. We are spending our most important thing – TIME. If we automate
this, we could have more time to study, to grow mentally, and to learn new things.
And what I offer is to develop software that will provide it. Automated system of
taking attendance of students using their ID card. Besides, this project will be
added to the web page to help admin and lecturer to view and modify the
information. All information will be located on Computer Science department’s
home site. This system will generate attendance list of students with their
lessons/subjects.

Keywords: attendance, student, online, card

iii
МEЖДУНAРОДНЫЙ УНИВEРСИТEТ AЛA-ТОО
ФAКУЛЬТEТ НОВЫХ ТEХНОЛОГИЙ
ОТДEЛEНИE ИНФОРМAТИКИ И ВЫЧИСЛИТEЛЬНОЙ ТEХНИКИ

AННОТAЦИЯ

РAЗРAБОТКA И ПРОEКТИРОВAНИE AВТОМAТИЗИРОВAННОЙ


СИСТEМЫ ДЛЯ ЗAПИСИ ПОСEЩEНИЙ СО СТУДEНЧEСКОЙ
ИДEНТИФИКAЦИОННОЙ КAРТОЧКОЙ ИСПОЛЬЗУЯ
МИКРОКОНТРОЛЛEР AРДУИНО ДЛЯ МУA
Выполнил: Aзaмaт Бeлeков

Тaк кaк тeхнология быстро рaзвивaeтся, процeсс провeрки посeщaeмости


должeн быть aвтомaтизировaнным, чтобы сдeлaть процeсс простым,
систeмaтичeским и быстрым. Однaко нe многиe из школ или унивeрситeтов
в Кыргызстaнe внeдряют aвтомaтизaцию в процeссe лeкции. Это можeт
отнимaть много врeмeни, при провeркe посeщaeмости нa бумaжной основe,
и иногдa во врeмя процeссa будут возникaть ошибки. В большинствe
унивeрситeтов нaшeй стрaны провeркa посeщeний студeнтов зaнимaeт около
10-15 минут кaждый дeнь. В один сeмeстр это зaймeт дрaмaтичeскоe врeмя.
Мы трaтим нaшу сaмую дорогую вeщь - ВРEМЬЮ. Eсли мы aвтомaтизируeм
это, у нaс можeт быть большe врeмeни для чтeнии, сaморeaлизaции и
изучeния новых вeщeй. И я прeдлaгaю рaзрaботaть прогрaммноe
обeспeчeниe, котороe обeспeчит это. Aвтомaтизировaннaя систeмa провeрки
посeщaeмости студeнтов с использовaниeм студeнчeской кaртой. Кромe
того, будeт вeб-стрaницa, чтобы помочь aдминистрaтору и лeктору
посмотрeть и измeнить информaцию. Вся информaция будeт рaзмeщeнa нa
домaшнeм сaйтe отдeлa компьютeрных нaук. Этa систeмa будeт
гeнeрировaть список посeщaeмости учaщихся с их урокaми / прeдмeтaми.

Ключeвыe словa: посeщaeмость, студeнт, онлaйн, кaрточкa

iv
AЛA-ТОО ЭЛ AРAЛЫК УНИВEРСИТEТИ
ЖAҢЫ ТEХНОЛОГИЯЛAР ФAКУЛЬТEТИ
ИНФОРМAТИКA ЖAНA ЭСEПТӨӨ ТEХНИКAСЫ БӨЛҮМҮ

ЖAЛПЫ ТҮШҮНҮК

AЭУ ҮЧҮН СТУДEНТТИК КAРТA МEНEН AВТОМAТИКAЛЫК


ТҮРДӨ ЖОКТОО СИСТEМAСЫН AРДУИНО
МИКРЛОКОНТРОЛЛEРИНИН ЖAРДAМЫ МEНEН ДОЛБОРЛОО
ЖAНA ИШКE AШЫРУУ
Aткaргaн: Aзaмaт Бeлeков

Тeхнология aлдыгa жылгaн убaктa, студeнттeрди жоктоо процeссин жeңил,


систeмaтикaлык жaнa ылдaм кылыш учун aны aвтомaттaштыр кeрeк. Тилeккe
кaршы, ошондой aвтомaттaштырылгaн систeмaны колдонгон мeктeптeр жe
болбосо унивeрситeттeр Кыргызстaндa aз. Кaгaз түрүндө жоктоо процeсси
көп убaкытты тaлaп кылышы мүмкүн жaнa ошондой элe кээбир убaктa
кaтaчылыктaр чыгышы мүмкүн. Биздин мaмлeкeтибиздин көп
унивeрситeттeриндe, студeнттeрди жоктоо процeссинe күнүнө 10-15 минутa
кeтeт. Жaрым жылдыккa эсeптeсeк бул aбдaн көп убaкыт болот. Биздин эң
бaaлуу нeрсeбизди ысырaп кылып aтaбыз - УБAКЫТТЫ. Эгeр биз буну
aвтомaттaштырсaк, биздe окугaнгa, өзүбүздү мeнтaлдык жaктaн өстүргөнгө,
жaнa жaңы нeрсeлeрди үйрөнгөнгө көбүрөөк убaкыт болушу мүмкүн. Мeнин
сунушум, ушулaрды aвтомaтикaлдуу түрдө кылгaн прогрaммa жaзуу.
Студeнттик кaртa мeнeн aвтомaтикaлык түрдөө жоктоо систeмaсы. Мындaн
тышкaры, вeб бaрaкчa болот, aдминистрaция жaнa мугaлимдeр
информaциялaрды тeкшeрип жaнa өзгөрткөнгө. Бaрдык информaция
компьютeрдик инжeнeрия бөлүмүнүн сaйтындa болот. Бул систeмa aр бир
сaбaккa студeнттeрдин жоктоо тизмeсин түзөт.

Нeгизги сөздөр: кaтышуу, студeнт, онлaйн, кaртa


v
ACKNOWLEDGEMENTS

I would never have been able to finish my dissertation without the guidance of
my lecturers, help from friends, and support from my family. I would like to express
my deepest gratitude to my advisor, Kanybek Duisheev, for his excellent guidance,
caring, patience, and providing me with an excellent atmosphere for doing research.
I would also like to thank Nurlan Shaidullaev for guiding my research and helping
me to develop my background in Computer Science.
I would like to thank Marat Tynarbekov, who as a good friend was always
willing to help and give his best suggestions. Many thanks to Eldiyar Daiyrbekov
and other group mates for helping me. My research would not have been possible
without their helps.
I would also like to thank my parents, brother and sisters. They were always
supporting me and encouraging me with their best wishes.

May, 2020

Azamat Belekov

vi
LIST OF ABBREVIATIONS

Abbreviation Expansion
ID Identification Card/Identity Card
GUI Graphical User Interface
HTTP Hyper Text Transfer Protocol
MD5 Message Digest 5
AIU Ala-too International University
CSD Computer Science Department
API Application Programming Interface
RFID Radio-frequency identification
UIDS User Identification Devices
IBM International Business Machines
UPC Universal Product Code
RAD Rapid Application Development
USB Universal Serial Bus
USA United States of America
IDE Integrated Development Environment
I/O Input/Output
XP Extreme Programming
iOS iPhone OS
EPC Electronic Product Codes

IC Integrated Circuit

OS Operating System
UART Universal Asynchronous Receiver-Transmitter

vii
LIST OF FIGURES

Fig. 2.1 Example of ID card ....................................................................................... 4


Fig. 2.2 Rfid technology in race ................................................................................. 7
Fig. 2.3 Rfid technology in healthcare ....................................................................... 8
Fig. 2.4 Rfid technology in restaurants ...................................................................... 9
Fig. 2.5 Rfid technology in farms ............................................................................. 10
Fig. 3.1 Arduino microcontroller.............................................................................. 11
Fig. 3.2 RFID (RC522 ) module ............................................................................... 12
Fig. 3.3 Working principle of RFID ......................................................................... 13
Fig. 3.4 Range of radio frequency ........................................................................... 14
Fig. 3.5 Types of tags ............................................................................................... 14
Fig. 4.1 Work principle of the system ...................................................................... 18
Fig. 5.1 It is a pictorial diagram of a barcode with its universal product code ....... 24
Fig. 5.2 Biometric attendance ................................................................................... 25
Fig. 5.3 It is a pictorial diagram of a card embedded with magnetic strip. ............. 26
Fig. 6.1 Circuit Diagram of Arduino and RFID(RC552 module) ............................ 32
Fig. 6.2 Using UART connection printing current state on serial monitor .............. 34
Fig. 6.3 Reading blocks of RFID tag ........................................................................ 34
Fig. 6.4 Ethernet module .......................................................................................... 35
Fig. 6.5 Connection of Ethernet module to Arduino ................................................ 37
Fig. 6.6 Example of taken attendance ...................................................................... 42

viii
LIST OF TABLES

Table 3.1 Use case of the project.............................................................................. 17


Table 4.1 Flow chart of the system .......................................................................... 20
Table 5.1 Gives some of the differences of the auto-id technologies. .................... 27
Table 6.1 Pin conection of Arduino and RFID(RC552 module) ............................. 33
Table 6.2 ENC28J60................................................................................................. 38
Table 6.3 Database diagram ..................................................................................... 43

ix
LIST OF CONTENTS

ABSTRACT ............................................................................................................. iii

AННОТAЦИЯ ..........................................................................................................iv

ЖAЛПЫ ТҮШҮНҮК ............................................................................................... v

ACKNOWLEDGEMENTS.......................................................................................vi

LIST OF ABBREVIATIONS ................................................................................. vii

LIST OF FIGURES ................................................................................................ viii

LIST OF TABLES.....................................................................................................ix

LIST OF CONTENTS ................................................................................................ x

CHAPTER 1 ............................................................................................................... 1

INTRODUCTION ...................................................................................................... 1

1.1 USED METHODS ............................................................................................... 1

1.2 GOALS ................................................................................................................. 2

1.3 BENEFITS............................................................................................................ 2

CHAPTER 2 ............................................................................................................... 4

LITERATURE REVIEW ........................................................................................... 4

2.2 DEFINITION OF USER IDENTIFICATION DEVICES (UIDS) ...................... 4

2.3 WHY ATTENDANCE SHOULD BE TAKEN? ................................................. 5

2.4 RFID TECHNOLOGY IN USE ........................................................................... 6

2.4.1 Logistics & Supply Chain Visibility ............................................................. 6

2.4.2 Item level inventory tracking......................................................................... 6

2.4.3 Race timing .................................................................................................... 7


x
2.4.4 Attendee Tracking ......................................................................................... 7

2.4.5 Access Control ............................................................................................... 8

2.4.6 Healthcare ...................................................................................................... 8

2.4.7 Guest Location ............................................................................................... 9

2.4.8 It is small enough to fit in people and animals .............................................. 9

CHAPTER 3 ............................................................................................................. 11

3.1 WHAT IS THE ARDUINO AND RFID? .......................................................... 11

3.1.1 ARDUINO ................................................................................................... 11

3.1.2 RFID TECHNOLOGY ................................................................................ 12

3.1.3 RFID TAGS ................................................................................................. 13

3.2 MAIN OBJECTIVES ......................................................................................... 15

3.3 PROJECT DELIVERABLES ............................................................................ 15

3.4 SCOPE ................................................................................................................ 15

CHAPTER 4 ............................................................................................................. 18

4.1 SYSTEM FUNCTIONALITY ........................................................................... 18

4.2 BRIEF DESCRIPTION OF THE PROJECT ..................................................... 19

CHAPTER 5 ............................................................................................................. 21

5.1 MARKET RESEARCH ..................................................................................... 21

5.2 PROBLEM STATEMENT ................................................................................ 21

5.3 WHY AUTOMATION? ..................................................................................... 22

5.4 REVIEW OF ATTENDANCE SYSTEMS ....................................................... 23

5.4.1 Barcode attendance system.......................................................................... 23

5.4.2 Biometric attendance system ....................................................................... 24

5.4.3 Magnetic stripe attendance system .............................................................. 25

xi
CHAPTER 6 ............................................................................................................. 28

IMPLEMENTATION .............................................................................................. 28

6.1 CHOOSING DEVELOPMENT TOOLS ........................................................... 28

6.1.1 Process model .............................................................................................. 28

6.1.2 Tools that will be used:................................................................................ 28

6.1.2.1 ArduinoIDE .......................................................................................... 28

6.1.2.2 SQLite 3 .............................................................................................. 29

6.1.2.3 Ruby...................................................................................................... 29

6.1.2.4 Ruby on rails ......................................................................................... 30

6.2 BASE PROJECT ................................................................................................ 32

6.2.1 CREATING AN ARDUINO PROJECT .................................................. 32

6.2.1.1 RFID Based Attendance System’s Circuit Principle............................ 32

6.2.1.2 Connection of RFID and Arduino ........................................................ 32

6.2.1.3 How to program the RFID reader? ....................................................... 33

6.2.1.4 Ethernet module and connection to Arduino microcontroller .............. 35

6.2.1.5 Connection Ethernet module to WebServer ......................................... 38

6.2.1.6 HTTP request (browseUrl) ................................................................... 39

6.2.2 CREATING A RUBY PROJECT .............................................................. 40

CONCLUSION......................................................................................................... 44

REFERENCES ......................................................................................................... 45

xii
CHAPTER 1

INTRODUCTION

The research is prоposed to investigate the requirements of automatic student’s


attendance taking and monitоring system. The requirements which have been
identified and modeled are represented in the form of structure for students’
attendance system. In order to obtain requirements, some of the methods have been
applied such as observation and literature research related to current RFID
monitoring systems. We have an existing system like taking attendance
manually. For example, professors take attendance of their students by taking
signatures on the attendance sheet. Themain problem with this system is that students
will sign occasionally for their friends who are not present to the class. The purpose
of this project is to the automate tracking of the presence of students in the classroom,
with the intention of bringing transparency and reducing the number of errors
thatusually happen in such tasks. Another problem is counting each student
attendance for the total semester will be difficult if the professor got 100 or more
students which leads to time-consuming and error-prone.

1.1 USED METHODS

In order to make taking attendance simpler, I got a thought to make this


application automatic with the existing identification technologies likeautomated
fingerprint identification system, barcode system, and radio frequency identification
system. In my project, I am using radio frequency identification (RFID) technology
for security and attendance purposes. Identification means the ability to find, retrieve,
report, change or delete specific data without having any doubt.

1
1.2 GOALS

These problems can be eliminated by using RFID technology. The main


advantage of RFID based student attendance monitoring system is:

1. It saves time for taking attendance during the class.

2. More authentic attendance system

3. Reduces paper-based system

4. It provides interaction between student, course leaders and lecturers.

The student attendance monitoring system is an exclusive software solution.


It can be integrated with RFID technology. In order to implement this project, we
require RFID reader, RFID tags, and web interface. The cardreader should positively
identify student’s ID cards and provide consistent class attendance logs for the
benefit of students, lecturers, and university. The attendance logs must be stored in
the central database in order to generatereports. The device must capable to
communicate with the central database server.

1.3 BENEFITS

Teachers should be able to view attendance and be capable to add information to the
system.

1. This application tracks each student’s classroom attendance for any number of
students.
2. It provides a software setup to monitor information about scanned cards
against a database and provides detailed statistics to the lecturers about the
students. The software setup must include adequate administration
capabilities.

2
3. Provide a connection via ethernet cable to interface between the reader and
database server.
4. It also provides facility to the course leaders, professors to monitor student
attendance at regular intervals.
5. It monitors the attendance of students for each course.
6. Reduce paperwork and save time.
7. Eliminate duplicate data entry and errors in time and attendance entries.
8. Improve visibility to track and manage student attendance & absenteeism
across multiple campuses/classes.
9. Automatic calculation of leave and reward points accrued.
10.Easy attendance recording.
11.Auto-generate various types of reports of class or student attendance.
12.Increased security and confidentiality with role-based permissions to users.

3
CHAPTER 2

LITERATURE REVIEW

Automatic Identification and Data Capture Technology:

This chapter mainly describes the introduction to automatic capture of data for the
purpose of user identification.

2.2 DEFINITION OF USER IDENTIFICATION DEVICES (UIDS)

User Identification devices are used to describe a physical object or a process


that discovers the attributes of the consumer or producer and attempts to exclusively
organize that entity. The main objective of the UIDs is to maintain accountability
and access control. Currently the UIDs are supported by the business people because
it making them more convenient, continuing efforts to make them smaller, easier to
transport and maintain, and more efficient with respect to data throughput. Many of
the UIDs are currently in usage they are plastic cards or badges with a picture on it,
barcodes, magnetic strips, embedded microchips also known as smart cards,
biometrics and passwords.

Fig. 2.1 Example of ID card

4
The latest identification technology which is being advanced is the use of radio
frequency. The radio frequency identification is a noncontact transmission method.
The main objective method is to automatically capture the data for accurate
identification. Firstly these UIDs need to improve the security and integrity of UIDs. 1

2.3 WHY ATTENDANCE SHOULD BE TAKEN?

According to Melchiorre, (Community Benchmarks Program The Maxwell


School of Syracuse University 2003) to verify the accuracy of attendance records,
the research team visited Southwest Community Center three times on different days
of the week at different times.2 During their visits, the research team conducted
random head checks, looked at the attendance and registration records. They
discovered the flow of passage throughout the Southwest Community Center. During
the head checks, the number accounted on the attendance sheet was compared with
the number of members present. While these attendance sheets do not contain time
in and time out and the head checks could not show whether the attendance recorded
correctly or not. This results inaccurate attendance. Finally, we could not know how
many persons were present during the entire hours of operation. Problems with the
attendance can be recognized as unclear understandings of job responsibilities.

According to Mary. (RFID Takes Attendance—and Heat 2005), A small


California startup called InCom has developed a radio frequency identification
(RFID) system called Inclass which is used automate student attendance in
elementary and secondary schools. This system uses ultra-high frequency (UHF)
readers which are mounted at the entrance of the classrooms and passive RFID tags
are embedded to student ID cards. This InClass system was tested at Brittan

1
"Nokia and the RFID student attendance monitoring system - WritePass." , 12 дeк.. 2012, ,
https://writepass.com/journal/2012/12/rfid-student-attendance-monitoring-system-is-a-system-that-will-take-
students-attendance-by-using-rfid-technology/. Доступ получeн 19 aпр.. 2018.
2
"Southwest Community Center - The Maxwell School of Syracuse ...." , ,
https://www.maxwell.syr.edu/uploadedFiles/paf/benchmarks/Southwest.pdf?n=3275. Доступ получeн 19 aпр..
2018.
5
Elementary School in Sutter, but the use of RFID in schools was protested by the
parents of Britain students. The Brittan school administrators were interested in the
product in part because California bases school assist upon attendance numbers.3

2.4 RFID TECHNOLOGY IN USE

2.4.1 Logistics & Supply Chain Visibility

Winning in the supply chain means increasing efficiency, reducing errors, and
improving quality. In chaotic manufacturing, shipping, and distribution
environments, real-time data on the status of individual items provides insights that
turn into actionable measures. With the visibility provided by RFID, you will be on
your way to the fastest rising of the status of your company.4 With the visibility
provided by RFID, you will be on your way to the fastest rising of the status of your
company.

2.4.2 Item level inventory tracking

Tracking assets on the item level are beneficial across a broad cross-section of
industries, but the retail sector has one of the highest ceilings in terms of opportunity
from the use of RFID. As mentioned above, tracking items through the supply chain
is wonderful, but now think about tracking items through the supply chain all the
way to the point of sale.5 With a well-designed inventory system sharing data across
all business units, you’ll have a treasure trove of actionable data. One last added
benefit — store employees can count inventoryin a matter of minutes with a handheld
RFID reader. undefined.

3
"RFID Takes Attendance—and Heat - 2005-02-16 ... - RFID Journal." , 16 фeвр.. 2005, ,
http://www.rfidjournal.com/articles/view?1408. Доступ получeн 20 aпр.. 2018.
4
"8 ways to win with RFID technology - Gurtam." , 15 нояб.. 2017, , https://gurtam.com/en/gps-hardware/news/8-
ways-to-win-with-rfid-technology. Доступ получeн 20 aпр.. 2018.
5
"March 2017 – NFC tag,rfid chip and pvc card supplier." , 31 мaр.. 2017, ,
http://www.smartchipsystem.com/blog/2017/03/. Доступ получeн 20 aпр.. 2018.
6
2.4.3 Race timing

Timing marathons and races are one of the most popular uses of RFID, but
often race participants never realize they’re being timed using RFID technology, and
that’s a testament to RFIDs ability to provide a seamless consumer experience.6

Fig. 2.2 Rfid technology in race

2.4.4 Attendee Tracking

If you’ve ever managed a large conference before, you’ll know that it’s key to
keep the flow of traffic moving at a steady pace, especially in and out of seminars.7
With an RFID attendee solution, eliminate the need for registration lines at entrances.
A big companies like IBM also have used this technology. The chip's 24-character
identifier includes the name, title and company of the person wearing it. There is no
other personal information on the chip. As a person walks through the door leading
into a conference session, an RFID receiver logs the chip's data. The system, by

6
"All About The Timing - RFID Insider - atlasRFIDstore." , 20 дeк.. 2013, , https://blog.atlasrfidstore.com/all-
about-the-timing. Доступ получeн 20 aпр.. 2018.
7
"The application of RFID in the real world – Buy RFID card,NFC Tag ...." , ,
http://www.digitalchn.com/2016/07/22/the-application-of-rfid-in-the-real-world/. Доступ получeн 20 aпр.. 2018.
7
AllianceTech in Austin, Texas, is networked and the data is received in real-time by
its on-site systems at the conference. 8

2.4.5 Access Control

Certain areas require an expected level of security and access.9 The security of
any organisation is a priority for the authorities. The security concern is for the
physical property and also for the intellectual property. For this reason automatic
identification and access control system has become necessary to overcome the
security threats faced by many organisations. From doors to parking lots, RFID
access control tags restrict access to only those pre-approved.

2.4.6 Healthcare

RFID is widely used by the healthcare field. From managing medication,


optimizing hospital traffic flow to monitoring sophisticated equipment, the
opportunities are endless. Now, medical facilities can check to see who is washing
their hands (and who is not). Staff wear a wristband and RFID readers are positioned
by the faucets.10

Fig. 2.3 Rfid technology in healthcare

8
"IBM Uses RFID to Track Conference Attendees | PCWorld." , 16 окт.. 2007, ,
https://www.pcworld.com/article/138491/article.html. Доступ получeн 1 мaя. 2018.
9
"RFID Based Access Control System using 8051 - CircuitsToday." , 31 окт.. 2017, ,
http://www.circuitstoday.com/rfid-based-access-control-system-using-8051. Доступ получeн 20 aпр.. 2018.
10
"The Most Surprising Uses of RFID Tags - JTech." , 12 сeнт.. 2017, , http://www.jtech.com/blog/the-most-
surprising-uses-of-rfid-tags. Доступ получeн 3 мaя. 2018.
8
2.4.7 Guest Location

With active RFID technology, restaurants find guests by creating delivery


zones like the bar or patio area to deliver food. Guests are given a tag with a unique
ID and beacons are placed under tables or on walls to identify the guest’s location.
JTECH's Vuze® Guest Location System11 uses the latest RFID technology to
streamline food delivery and obtain valuable reporting. Ask us how you can use
Radio Frequency Identification (RFID) to boost your guest satisfaction scores in the
hospitality or restaurant industry.

Fig. 2.4 Rfid technology in restaurants

2.4.8 It is small enough to fit in people and animals

The idea of having a chip inside you might sound a little weird. But many
people, and animals, already do. It’s worth remembering that RFID tags can only be
read when very close to a reader.
Identifying lost pets: One of the earliest domestic uses of RFID was to ‘chip’
pet dogs and cats. In the USA and Europe, many pets are implanted with an RFID
tag when they’re a few weeks old. If the pet is found far from home after going
missing, authorities can just scan the chip and find the owner’s contact information.

11
"Table Location - JTech." , , http://www.jtech.com/table-location. Доступ получeн 3 мaя. 2018.
9
Fig. 2.5 Rfid technology in farms

In Swedish office staff: In 2015, a Swedish office building started using RFID
for security.12 Hundreds of people working at Epicenter volunteered to be chipped,
so they could open doors and access secure equipment like photocopiers just by
standing next to them. Now they’re permanently chipped!

12
"Evolution of RFID Applications in Construction: A ... - NCBI - NIH." , 3 июл.. 2015, ,
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4541864/. Доступ получeн 3 мaя. 2018.
10
CHAPTER 3

3.1 WHAT IS THE ARDUINO AND RFID?

3.1.1 ARDUINO

Arduino bord designs use a variety of microprocessors and controllers. The boards
are equipped with sets of digital and analog input/output (I/O) pins that may be
interfaced to various expansion boards or Breadboards (shields) and other circuits.
The boards feature serial communications interfaces, including Universal Serial Bus
(USB) on some models, which are also used for loading programs from personal
computers. The microcontrollers are typically programmed using a dialect of features
from the programming languages C and C++. In addition to using traditional
compiler toolchains, the Arduino project provides an integrated development
environment (IDE) based on the Processing language project.13

Fig. 3.1 Arduino microcontroller

13
"Arduino - Wikipedia." , , https://en.wikipedia.org/wiki/Arduino. Доступ получeн 29 aпр.. 2018.
11
3.1.2 RFID TECHNOLOGY

Radio frequency identification (RFID) consists of a transmitter chip/IC and a


receiving antenna. Each chip has a unique identification number generally referred
to as a RFID Tag, which is attached to the object that we want to discover. Now the
RFID tags are detected and identified using an antenna or a scanning device known
as transceiver, which with the help of radio signals identifies the tag, the object.14

Fig. 3.2 RFID (RC522 ) module

With RFID systems, the reader interrogates or scans the tag using Radio
Frequency (RF) signals and RFID uses Electronic Product Codes (EPC). Here there
are some principal advantages that RFID. These are:

 Having a unique code, RFID tags are able to identify every item individually.
 RFID systems are capable of reading multiple tags simultaneously and
instantaneously, and can cope with harsh and dirty environments.
Theoretically, this allows a pallet of mixed products, containing individual
RFID tags and equipped with an RFID reader, to read all tags within the
palletised load, without having to physically move any of the materials or open
any cases.

14
"Introduction to Radio Frequency Identification (RFID) - CodeProject." , ,
http://www.codeproject.com/Articles/8567/WebControls/. Доступ получeн 28 aпр.. 2018.
12
 RFID tags can hold greater amounts of data, and data on tags can be read or
updated without line of sight. In interactive applications, such as work-in-
process or maintenance tracking, the read and write capability of an active
RFID system is also a significant advantage.
 Tagged items can be automatically tracked without worker input, eliminating
human error.
 RFID tags are reusable, more durable and suitable for a construction site
environment, and they are not damaged as easily as barcodes.

Fig. 3.3 Working principle of RFID

3.1.3 RFID TAGS

There are 6 classes of RFID tag:

 Class 0 and Class 1: Read-only passive tags


 Class 2: Passive tags with additional functionality
 Class 3: Semi-passive RFID tags
 Class 4: Active tags with broad-band peer-to-peer communication
 Class 5: Readers

13
Fig. 3.4 Range of radio frequency

Fig. 3.5 Types of tags

In this project, the RFID tags will be associated, to the students (by attaching
the RFIDs to student’s university cards and the transceivers will be placed on the
entry points of the classrooms. Software at the back end will keep and manage the
records, relating to the student’s entry to the classroom. All the use-cases will be
accomplished using software having application and databases layers. Concepts of
Object orientation will be followed in the implementation of the system.

14
Aim:

This research is aimed to develop a student attendance monitoring system


using RFID technology.

3.2 MAIN OBJECTIVES

 To automate the student attendance recording system using RFID technology.


 To study on data transfer between RFID system and Graphical user interface
(GUI).
 The application should be able to display the student attendance percentage in
each of the modules and the overall semester attendance.
 The application should be capable to generate attendance reports for the
authorized party which we would be helpful for university administration to
have better database record.
 To test the application using testing techniques.

3.3 PROJECT DELIVERABLES

1. Case that reads information from ID card, based on Arduino microcontroller.

2. RFID module that takes data from ID card

3. Web service, located on Computer Science departments home site, to see,


manage, generate, print attendance list of students

4. Documentation of the project

5. Source code

3.4 SCOPE

The scope of this project is mainly based on the following things.

15
1. I have choose university of Ulsan National Institute of Science and
Technologyas as case study to acquire requirements.
2. Web-based technology is used to develop the application.
3. Unified modelling language is used as a requirement modelling technique.
Significance:

1. The structure of the student attendance monitoring system is planned to


provide strategy for developing automated student attendance system using
RFID technology.
2. Need to know the project requirements for developing the application.
3. Technical knowledge is required on RFID technology and software tools to
develop the application.

16
Table 3.1 Use case of the project

17
CHAPTER 4

4.1 SYSTEM FUNCTIONALITY

Components used for the system

1. RFID reader module for Arduino


2. RFID tags (Student ID card with RFID)
3. Power supply for Arduino
4. Arduino, Ethernet module
5. Web service, site (Computer Departments home site)

Fig. 4.1 Work principle of the system

18
4.2 BRIEF DESCRIPTION OF THE PROJECT

1. The sufficient number of Arduino and RFID readers will be installed at the
entrance of each and every classroom.
2. All the RFID readers are networked to the web service via ethernet connection.
3. The students enter the classroom by showing their ID cards to the RFID reader
from the maximum of 3cm.
4. The RFID reader reads the card data that is RFID tag reference number and
sends the data to the Arduino.
5. Than Arduino will send it to the web service.
6. As soon as the card is read by the reader, the tag reference numbers will be
streamed to web service and waits for other card get scanned.
7. The RFID reader reads a card within less than a second.
8. The web application uses the data for taking students attendance and maintains
the data for generating reports.

19
Table 4.1 Flow chart of the system

20
CHAPTER 5

5.1 MARKET RESEARCH

Research question(s):

1. How RFID Technology used for monitoring student attendance?


2. What are the best techniques for storing and processing the data?
3. What are the techniques and technologies for getting data from the Arduino to
Web service?
4. Similar existing systems that now in use.

5.2 PROBLEM STATEMENT

One of the most prominent areas where classroom practices of individual


faculty members differ is on the issue of attendance policies. Some faculty members
require attendance, some faculty count attendance positively in grade determination,
while others count the lack of attendance against the student's grade. Even most
faculty who don't require attendance by their students, encourage attendance in a
variety of ways. Fundamentally, most faculty members probably believe that
attendance is significant in student success but most of us can provide only anecdotal
evidence to support our belief. The existing system is a manual entry for the students.
Here the attendance will be recorded in hand written registers. It usually is a tedious
job to maintain the records for the users. The retrieval of the information is not as
easy as the records are maintained in the hand written registers. Registration systems
are implemented in many institutions for various reasons. While the purpose of these
systems is not a focus in this paper, it is clear that statistical information is required
by most of those institutions that have a large number of students. Since collecting
attendance data in many institutions has not been computerized, the proposal of

21
transforming the present system was alluring and decided to face the challenge and
design a solution for it. In the present attendance registration system, teachers have
to either ask the students to write down their names on a piece of paper, or they have
to provide a list of enrolled students and ask them to mark their names. This means
that excessive manual efforts go into the process of classroom attendance
registrations. After the data has been collected, it takes even more time and efforts to
transfer the data onto other systems for data analyses. One of the major flaws of the
present system is the fact that, attendance registration information is not properly
used to help improve course timetables and classroom bookings. Another important
piece of information which the present system lacks is the time of individual
attendance records. For example, a question of whether the majority of students were
present at the beginning of a class or at later times could help in improving classroom
related research.
Automatic student attendance system using RFID technology comprises of
multiple devices work together. The devices include RFID reader, RFID tag, system
interfaces and databases. This system needs a good system design to make sure that
the devices can capture accurate data and can interact with the information system
accurately and efficiently. In order to obtain good system design, developer should
have clear idea, knowledge and able to understand the requirements and convert them
in to useful information. It is very important to represent the necessary information
into a meaningful data model suitable for application level interactions, including
monitoring, tracking and application integration. Therefore a structure is needed to
present plans for developing automated student attendance monitoring system using
RFID Technology.

5.3 WHY AUTOMATION?

1. To save time spent for daily roll calls.


2. To avoid manual errors.
3. To obtain accurate attendance means exact IN TIME.

22
4. To avoid record search time, when we want to see any student’s attendance
performance.
5. To avoid reporting time used for preparing the attendance percentage reports at
the end of the year.
6. Finally to have professional and global look of the organization.

The RFID technology has been used by many sectors for automated tracking
of objects like chain management, retailing, security and healthcare applications. The
RFID student attendance monitoring system utilizes the existing RFID based
applications technology which gives advantages to the users in the term of feasibility
while recording their attendance. This application combines multiple devices which
work together as a complete system. This system consists of readers, tags, user
interfaces and databases to keep and manage user’s data. Designing multiple devices
system is a great challenge. The developer needs to have a clear understanding of the
system from different perspectives to ensure the successful of the system. Therefore
this research investigates the requirements of the system and suggests a structure for
it.

5.4 REVIEW OF ATTENDANCE SYSTEMS

5.4.1 Barcode attendance system

The barcode system is a common type of time and attendance system through
which the efficiency of measuring and tracking employees’ time could be increased
to a great degree. With the automation through barcode technology, the errors
previously made in the manual payroll or attendances are eliminated. As a result, the
system provides high levels of accuracy and reliability in tracking of employee
attendance. In addition, the costs associated with the installation of the system are
not too much relative to the cost of payroll or attendance errors. The implementation
of the barcode system is easy. Every employee is issued a badge/card in which there
is a barcode. In order to check into or out of the company, the badge/card is swapped

23
on the time clock, and the data is captured by the clock. This data from the clock can
be downloaded by the manager or the administrator and then used for updating and
maintaining time and attendance records. The Universal Product Code (UPC) is a
unique 12-digit number assigned to retail merchandise that identifies a product and
the vendor. The Universal Product Code (UPC) on a product typically appears
adjacent to its barcode, the machine-readable representation of the Universal Product
Code (UPC) The UPC for a particular product is always the same. The first six digits
is the vendor unique identification number. All the products that the vendor sells will
have the same first six digits in their UPCs. The next five digits identify the product.
The last digit is called the check digit. This is used to verify that the UPC for that
specific product is correct. Each time that UPC is read, typically by a scanner reading
the barcode, a calculation is done. And, if the check digit is different compared from
the one that is calculated, then the computer knows that there is something wrong
with the UPC. 15

Fig. 5.1 It is a pictorial diagram of a barcode with its universal product code (UPC).

5.4.2 Biometric attendance system

This is the study of measurable biological characteristics. In computer


security, biometrics refers to authentication techniques that rely on measurable
physical characteristics that can be automatically checked. There are several types of

15
"Barcode Technology and 666 - End Times Truth." , , https://endtimestruth.com/666-2/barcode-technology-666/.
Доступ получeн 17 мaя. 2018.
24
biometric identification schemes which include retina, hand geometry, vein, voice
etc. The computer uses any of these biometric identification schemes to determine
who you are, and based your identity. Under this system, there is time and attendance
software that is paired with a time clock for employees which uses biometric
technology for authentication purposes. When these systems are in use, the
employees can use their finger prints for clocking in and clocking out. This method
has the great benefit that the entire process is easy as well as quick.16 Other
advantages include elimination of the cost previously incurred in getting the
employees cards. In the o (magnetic stripe and barcode systems), there is an ongoing
expense associated with the damage, misplacement and stealing of cards and the
continuous need for their restoration and maintenance.

Fig. 5.2 Biometric attendance

5.4.3 Magnetic stripe attendance system

By creating magnetic stripe cards with high durability and data integrity, banks
and financial businesses have been able to implement all sorts of card-based
transactions and procedures. Magnetic stripes are used in millions or billions of

16
"The Value of Biometrics for Student Attendance Management Systems." , 30 июл.. 2015, ,
http://www.m2sys.com/blog/education/the-value-of-biometrics-for-student-attendance-management-systems/.
Доступ получeн 17 мaя. 2018.
25
transactions per day and are also getting put into various types of identification cards.
Specialized card readers can quickly take information off of a magnetic card, which
is sent to a bank for authorization/authentication.17
In the magnetic stripe attendance system, data is encoded in the magnetic
stripe of the employee card. When the card, is swiped through the employee time
clock, the information in the card’s magnetic stripe is recorded by the time clock.

Fig. 5.3 It is a pictorial diagram of a card embedded with magnetic strip.

The use of Barcode is quite famous for the many application based systems.
But the recent advancement in the RFID technology has stolen the spot light and
proved to be the improved technology.

17
"ISO Magnetic Stripe Card Standards | Q-Card." , , https://www.q-card.com/about-us/iso-magnetic-stripe-card-
standards/page.aspx?id=1457. Доступ получeн 20 мaя. 2018.
26
Table 5.1 Gives some of the differences of the auto-id technologies.

27
CHAPTER 6

IMPLEMENTATION

6.1 CHOOSING DEVELOPMENT TOOLS

6.1.1 Process model

I prefer to use Agile model. Agile development model is also a type of


Incremental model. Software is developed in incremental, rapid cycles. This results
in small incremental releases with each release building on previous functionality.
Each release is thoroughly tested to ensure software quality is maintained. It is used
for time critical applications. Extreme Programming (XP) is currently one of the most
well-known agile development life cycle model.18

6.1.2 Tools that will be used:

6.1.2.1 Arduino IDE

Arduino is an open-source platform used for building electronics projects.


Arduino consists of both a physical programmable circuit board (often referred to as
a microcontroller) and a piece of software, or IDE (Integrated Development
Environment) that runs on your computer, used to write and upload computer code
to the physical board.
The Arduino platform has become quite popular with people just starting out
with electronics, and for good reason. Unlike most previous programmable circuit
boards, the Arduino does not need a separate piece of hardware (called a

18
"What is Agile model – advantages, disadvantages and when to use it?." , ,
http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/. Доступ
получeн 28 aпр.. 2018.
28
programmer) in order to load new code onto the board – you can simply use a USB
cable. Additionally, the Arduino IDE uses a simplified version of C++, making it
easier to learn to program. Finally, Arduino provides a standard form factor that
breaks out the functions of the micro-controller into a more accessible package.19
6.1.2.2 SQLite 3

SQLite is an in-process library that implements a self-contained, zero-


configuration, server less, transactional SQL database engine. The source code for
SQLite exists in the public domain and is free for both private and commercial
purposes.
SQLite has bindings to several programming languages such as C, C++,
BASIC, C#, Python, Java and Delphi. The COM (ActiveX) wrapper makes SQLite
accessible to scripted languages on Windows such as VB (Visual Basic) Script and
JavaScript, thus adding capabilities to HTML applications. It is also available in
embedded operating systems such as iOS, Android, Symbian OS, Maemo,
Blackberry and WebOS because of its small size and ease of use.20
6.1.2.3 Ruby

Ruby is a programming language. Yukihiro Matsumoto (“Matz”) created


Ruby in the mid-1990s. Matz developed Ruby with a focus on the programmer, rather
than the machine. The design goal was to maximize programmer efficiency (i.e.,
productivity), not the runtime efficiency of their programs. Ruby is designed
according to the Principle of Least Astonishment – the language should behave in a
way that minimizes the confusion of experienced programmers (assuming you’re
experienced in Ruby, not operating with some other programming model in mind).

19
"What is an Arduino? - learn.sparkfun.com." , , https://learn.sparkfun.com/tutorials/what-is-an-arduino. Доступ
получeн 17 мaя. 2018.
20
"What is SQLite? - Definition from Techopedia." , , https://www.techopedia.com/definition/24610/sqlite. Доступ
получeн 17 мaя. 2018.
29
Ruby is an object-oriented interpreted scripting language – many find it intuitive,
flexible and extensible.21
Ruby is a multi-paradigm programming language:22

❖ Scripting – It can be used to write scripts that automate the execution of tasks
within some environment.
❖ Imperative (procedure-oriented) programming – It has the traditional control
structures found in imperative programs. You can create functions with
variables (that store state); however, defining functions/variables outside
classes actually makes them methods of the root Object class.
❖ Object-oriented programming – Everything is an object, derived from the
Object class.
❖ Functional programming – Computation proceeds via the evaluation of

functions that depend only on their input, not the program state.

6.1.2.4 Ruby on rails

Rails is a software library that extends the Ruby programming language. David
Heinemeier Hansson is its creator. He gave it the name “Ruby on Rails,” though it is
often just called “Rails.” It is software code that is added to the Ruby programming
language. Technically, it is a package library (specifically, a RubyGem), that is
installed using the operating system command-line interface.
Rails is a framework for building websites. As such, Rails establishes
conventions for easier collaboration and maintenance. These conventions are
codified as the Rails API (the application programming interface, or directives that
control the code). The Rails API is documented online and described in books,

21
"Ruby Information :: Education :: Generous Gems." , , http://www.generousgems.com/i/education/ruby-
information/. Доступ получeн 17 мaя. 2018.
22
"Ruby Programming Language Background - Research hubs." , , http://researchhubs.com/post/computing/web-
application/ruby-programming-language-background.html. Доступ получeн 17 мaя. 2018.
30
articles, and blog posts. Learning Rails means learning how to use the Rails
conventions and its API.
Rails combines the Ruby programming language with HTML, CSS, and
JavaScript to create a web application that runs on a web server. Because it runs on
a web server, Rails is considered a server-side, or “back end,” web application
development platform (the web browser is the “front end”). Later, this article will
describe web applications in greater depth and show why a web development
framework is needed to build complex websites.
Why I prefer to use Ruby on Rails:23

❖ The process of programming is much faster than with other frameworks and
languages, partly because of the object-oriented nature of Ruby and the vast
collection of open source code available within the Rails community.
❖ The Rails conventions also make it easy for developers to move between
different Rails projects, as each project will tend to follow the same structure
and coding practices.
❖ Rails is good for rapid application development (RAD), as the framework
makes it easy to accommodate changes.
❖ Ruby code is very readable and mostly self-documenting. This increases
productivity, as there is less need to write out separate documentation, making
it easier for other developers to pick up existing projects.
❖ Rails has developed a strong focus on testing, and has good testing
frameworks.
❖ Rails and most of its libraries are open source, so unlike other commercial
development frameworks there are no licensing costs involved.

23
"Ruby on Rails: What It Is and Why We Use It For Web Applications | Bit ...." , 3 мaр.. 2014, ,
https://bitzesty.com/2014/03/03/ruby-on-rails-what-it-is-and-why-we-use-it-for-web-applications/. Доступ получeн
17 мaя. 2018.
31
6.2 BASE PROJECT

6.2.1 CREATING AN ARDUINO PROJECT

6.2.1.1 RFID Based Attendance System’s Circuit Principle

RFID based attendance system consists of RFID Reader, RFID Tag, and
Arduino microcontroller. RFID can be interfaced to microcontroller through UART.
Data is transferred from RFID cards to reader and from there to microcontroller.
Radio frequency technology is used in many applications. RFID tags are of
two types – 1) Passive Tags and 2) Active Tags. Passive tags contain 13 digit number
tag inbuilt in it, where as active tag is read/write tag i.e. one can read from the tag
and write to the tag. This project uses passive tag.24
6.2.1.2 Connection of RFID and Arduino

Fig. 6.1 Circuit Diagram of Arduino and RFID (RC552 module)

The RFID-RC522 module comes with eight pins (of which seven pins are used
in this tutorial). In the following, the pin layout is shown as recommended by the
documentation of the MFRC522 library (used later in the programming section). The

24
"What is Radio Frequency (RF)? - Definition from Techopedia." , ,
https://www.techopedia.com/definition/5083/radio-frequency-rf. Доступ получeн 20 мaя. 2018.
32
RFID-RC522 module runs with 3.3V. Therefore, the module’s 3.3V pin must be
connected to the Arduino’s 3.3V.

Table 6.1 Pin connection of Arduino and RFID (RC552 module)25

6.2.1.3 How to program the RFID reader?

The code makes use of an existing RFID library which I found here:
https://github.com/miguelbalboa/rfid.26 On Arduino IDE, the library can be easily
installed by clicking “Sketch->Include Library->Manage Libraries”. Then an entry
with the title “MFRC522 by GithubCommunity”. In order to get the RFID reader
running, we should have to setup the library itself, a SPI connection, as well as the
reader. The library offers two very handy convenience functions for reading tags:
The first functions allows to detect whether an RFID tag/card is present. The second
function reads the RFID tag id. After having the circuit ready, on the File > Examples
> MFRC522 > DumpInfo we have some example code of how to read data from tags
with RFID module. This code will be available in Arduino IDE (after installing the
RFID library).

25
"How to Connect Arduino and RFID - Instructables." , 16 сeнт.. 2009, , http://www.instructables.com/id/Arduino-
and-RFID-from-seeedstudio/. Доступ получeн 20 мaя. 2018.
26
"GitHub - miguelbalboa/rfid: Arduino RFID Library for MFRC522." , , https://github.com/miguelbalboa/rfid.
Доступ получeн 20 мaя. 2018.
33
After uploading the code. Then, open the serial monitor. We will see
something like the figure below:

Fig. 6.2 Using UART connection printing current state on serial monitor

In each iteration, a single byte is read and printed out as hexadecimal value
(00...FF). Such a mechanism can be used to identify users, when each user owns a
different RFID tag.

Fig. 6.3 Reading blocks of RFID tag

34
In real time, one can issue active tags to the students, with their roll numbers
as their tags. RFID reader contains a copper winding in it. This winding acts as an
antenna.
When the tag is placed near the reader, due to the induced mutual inductance
energy, data is transferred to reader. Reader then transfers data to the microcontroller.
Microcontroller checks for the data continuously. If the tag is authenticated,
microcontroller takes the data.
This is the information that RFID module can read from the card, including the card
UID. The information is stored in the memory that is divided into segments and
blocks. There are 1024 bytes of data storage divided into 16 sectors or 64 blocks and
each sector is protected by two different keys, A and B. The card UID27 located on
first sector’s 0s block.
After reading data from student’s card via RFID module we get it type of byte in a
hexadecimal format. So, we need to save it on a different variable. In my case it is
String. But before we need to convert it to decimal format. After that we will copy
the data to the variable type of String which mentioned above. To be sure that our
code is working properly we can test it by printing some text or variable on serial
monitor using UART interface.
6.2.1.4 Ethernet module and connection to Arduino microcontroller

Fig. 6.4 Ethernet module

27
"rfid - MiFare - Difference between UID and Serial Number of MiFare ...." , 12 июл.. 2013, ,
https://stackoverflow.com/questions/17608670/mifare-difference-between-uid-and-serial-number-of-mifare-card.
Доступ получeн 20 мaя. 2018.
35
Description:
SPI Ethernet module ENC28J6028 has small overall dimensions (the size of the
printed circuit board of the module 51x21mm). This miniature Ethernet module can
easily be connected to any microcontroller or debug Platform SPI (serial peripheral
interface) which makes it ideal for adding Ethernet networks to microcontroller.
Characteristics:
❖ ENC28J60 Ethernet controller 10 Mbit
❖ Standard RJ45 Ethernet connector with internal transformer and two network
status LEDs
❖ Easy connection to any microcontroller via SPI
❖ Small overall dimensions of the module and 10-pin connector for connection
to the microcontroller with standard lead pitch 2.54mm.
❖ Two 3.2 mm holes for secure attachment of the module
❖ High-quality PCB with silkscreen and solder mask is made of FR4 material,
which has high insulation characteristics
❖ The overall dimensions of the PCB module 51x21mm (2.0x0.83 inches)

The SPI Ethernet module uses the ENC28J6029 controller, which


has the following characteristics:
❖ Support for IEEE 802.3
❖ Full compatibility with 10/100/1000 Base-T networks
❖ Integrated MAC and 10 Base-T PHY
❖ Support for one 10 Base-T port with automatic detection polarity and
correction
❖ Support for Full and Half Duplex modes
❖ Programmable repeat function on error

28
"SPI Ethernet модуль ENC28J60." , , http://www.kosmodrom.com.ua/pdf/ENC28J60-SPI-MOD.pdf. Доступ
получeн 20 мaя. 2018.
29
"ENC28J60 Stand-alone Ethernet Controller with SPI - Microchip ...." , 20 окт.. 2004, ,
http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf. Доступ получeн 20 мaя. 2018.
36
❖ Padding programmable functions and CRC generation
❖ Programmable filtering function for erroneous packets
❖ SPI interface with high clock speed (up to 20 MHz)

Connection:
Pin Assignment of the Interface Connector to Connect to microcontroller:30
1. CLOCK OUTPUT (programmable output, clock output)
2. INT (interrupt output, output)
3. WOL (Wake-up on LAN, interrupt output)
4. SO (data output, SPI interface)
5. SI (data input, SPI interface)
6. SCK (clock input, SPI interface)
7. CS (Chip Select, chip selection input, SPI interface)
8. RESET (reset output)
9. VCC (external power input 3.3 volts)
10.GND (common output)

Fig. 6.5 Connection of Ethernet module to Arduino

30
"ENC28J60 - Interface and Networking - Ethernet Controllers ...." , ,
http://www.microchip.com/datasheet/ENC28J60. Доступ получeн 20 мaя. 2018.
37
6.2.1.5 Connection Ethernet module to WebServer

For this project I have used library “EtherCard” for purpose of using Ethernet
module with Arduino. EtherCard is a library that performs low-level interfacing with
network interfaces based on the MicroChip (C) ENC28J60. High-level routines are
provided to allow a variety of purposes including simple data transfer through to
HTTP handling. EtherCard is a driver for the ENC28J60 chip, compatible with
Arduino IDE. Adapted and extended from code written by Guido Socher and Pascal
Stang.
This class provides the main interface to a ENC28J60 based network interface
card and is the class most users will use.
#include <EtherCard.h>

Table 6.2 ENC28J60

Then we can find and open a file in Arduino IDE. File->Examples-


>EtherCard->WebClient.31 We can find the lines referring MAC and IP address. We
can connect with DHCP or manually if it is not responsible. Example code of DHCP
setting:
#include <EtherCard.h>
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
...
void setup () {
...
if (!ether.dhcpSetup())
Serial.println(F("DHCP failed"));

31
"ethercard/EtherCard.h at master · jcw/ethercard · GitHub." , ,
https://github.com/jcw/ethercard/blob/master/EtherCard.h. Доступ получeн 20 мaя. 2018.
38
....
}
or in my case I have done it with two options. First when router can give ip adress
with DHCP and second when it can not. For static ip setting we should write mac,
ip, dns, gateway of the local internet.

To configure a static IP address:

#include <EtherCard.h>
// ethernet interface mac address
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
// ethernet interface ip address
static byte myip[] = { 192,168,1,203 };
// gateway ip address
static byte gwip[] = { 192,168,1,1 };
// remote website ip address and port
static byte hisip[] = { 74,125,79,99 };
// remote website name
const char website[] PROGMEM = "google.com";
void setup () {

ether.staticSetup(myip, gwip);
...
}
6.2.1.6 HTTP request (browseUrl)

Configuration:
// called when the client request is complete
static void my callback (byte status, word off, word len) {
Serial.println(">>>");

39
Ethernet::buffer[off+300] = 0;
Serial.print((const char*) Ethernet::buffer + off);
Serial.println("...");
}
void loop () {
ether.packetLoop(ether.packetReceive());

if (millis() > timer) {


timer = millis() + 5000;
Serial.println();
Serial.print("<<< REQ ");
ether.browseUrl(PSTR("/foo/"), card_Id, website, my_callback);
}
}

6.2.2 CREATING A RUBY PROJECT

First of all, in order to create web application on ruby on rails, we need to


check the version of the ruby, ruby on rails and sqlite3.
For Ruby:
$ ruby -v
ruby 2.3.1p112

For SQLite3:
$ sqlite3 --version

For Rails:
$ rails --version
For this project I have used text editor “Atom”. Also we need to download from
GitHub, Computer Science department’s web application, because online attendance
40
system will be integrated into to this web application. Source code link:
https://github.com/tynarbekov/iaau. After downloading we can open this web
application with Atom text editor in order to add functionality of the online
attendance system.
Since the CSD system takes academic data from the AMS (personal data,
student number, subjects selected in the current semester). Using the items above and
the student's schedule of lectures, we will be able to check the attendance of the
student online.

In the file ROUTE.Rb we add


get '/ api / getStudentId /: studentId /: LabId' => 'api # getStudentId

This is a get request, and first we take a student number to determine the data
of the student id and lab id to check if there is a lecture in this room.

To verify that this student is registered and exist on the system, we check this:

def getStudentId

if User.exists?(username: params[:studentId])
labSchedule(params[:studentId],params[:LabId])
else
data = {answer: "You are not PROGRAMMER" }
render json: data
end
end
And we will also check whether there is a lecture in this room. If both data are correct,
the student's data will be already automatically recorded in the attendance list.

After students begin to pass the attendance check, the teacher of this subject
will have a list of students who have been present in the lecture.

41
Additionally we can surely see which student came late or did not came. If,
the student came within 10 minute after starting the lecture, he/she will be accepted
and if after 10 minutes the student ID card was swiped on the reader to attend a class,
he/she will be accepted but there will be written that he/she came late. But after 20
minutes after starting the lecture, he/she will be absent for that lecture automatically.
Every student will be able to see how many days he/she was absent and how
many days left to fail this lecture by attendance, with their login and password for
the Computer Science department. For the teachers, how many lectures their have
and each course’s attendance sheet of the students day by day and for semester. Also
to generate and print attendance sheet. And last, for admin, he/she can add, modify,
view lectures, teachers of the course’s and the attendance of the student’s.

Fig. 6.6 Example of taken attendance

42
Table 6.3 Database diagram

43
CONCLUSION

As the RFID technology evolves, more sophisticated applications will use


the capability of RFID to receive, store and forward data to a remote sink source.
RFID has many applications as can be imagined. In this project, we have utilized the
versatility of RFID in implementing functional and automatic student attendance
recording system that allows students to simply fill their attendance just by swiping
or moving their RFID cards over the RFID reader which are located at the entrance
of lecture halls with a considerable degree of success and acceptability of usage in
our faculty. We hope that this system can shift the paradigm of students’ lecture
attendance monitoring in face-face classroom and provide a new, accurate, and less
cumbersome way of taking student attendance in Ala-Too International University.

44
REFERENCES

1. "Nokia and the RFID student attendance monitoring system - WritePass." , 12


дeк.. 2012,, https://writepass.com/journal/2012/12/rfid-student-attendance-
monitoring-system-is-a-system-that-will-take-students-attendance-by-using-
rfid-technology/. Доступ получен 19 aпр.. 2018.
2. "Southwest Community Center - The Maxwell School of Syracuse ...." , ,
https://www.maxwell.syr.edu/uploadedFiles/paf/benchmarks/Southwest.pdf?n=
3275. Доступ получeн 19 aпр.. 2018.
3. "RFID Takes Attendance—and Heat - 2005-02-16 ... - RFID Journal." , 16
фeвр.. 2005, , http://www.rfidjournal.com/articles/view?1408. Доступ получeн
20 aпр.. 2018.
4. "8 ways to win with RFID technology - Gurtam." , 15 нояб.. 2017, ,
https://gurtam.com/en/gps-hardware/news/8-ways-to-win-with-rfid-technology.
Доступ получeн 20 aпр.. 2018.
5. "March 2017 – NFC tag,rfid chip and pvc card supplier." , 31 мaр.. 2017, ,
http://www.smartchipsystem.com/blog/2017/03/. Доступ получeн 20 aпр..
2018.
6. "All About The Timing - RFID Insider - atlasRFIDstore." , 20 дeк.. 2013, ,
https://blog.atlasrfidstore.com/all-about-the-timing. Доступ получeн 20 aпр..
2018.
7. "The application of RFID in the real world – Buy RFID card,NFC Tag ...." , ,
http://www.digitalchn.com/2016/07/22/the-application-of-rfid-in-the-real-
world/. Доступ получeн 20 aпр.. 2018.
8. "IBM Uses RFID to Track Conference Attendees | PCWorld." , 16 окт.. 2007, ,
https://www.pcworld.com/article/138491/article.html. Доступ получeн 1 мaя.
2018.

45
9. "RFID Based Access Control System using 8051 - CircuitsToday." , 31 окт..
2017, , http://www.circuitstoday.com/rfid-based-access-control-system-using-
8051. Доступ получeн 20 aпр.. 2018.
10."The Most Surprising Uses of RFID Tags - JTech." , 12 сeнт.. 2017, ,
http://www.jtech.com/blog/the-most-surprising-uses-of-rfid-tags. Доступ
получeн 3 мaя. 2018.
11."Table Location - JTech." , , http://www.jtech.com/table-location. Доступ
получeн 3 мaя. 2018.
12."Evolution of RFID Applications in Construction: A ... - NCBI - NIH." , 3
июл.. 2015, , https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4541864/.
Доступ получeн 3 мaя. 2018.
13."Arduino - Wikipedia." , , https://en.wikipedia.org/wiki/Arduino. Доступ
получeн 29 aпр.. 2018.
14."Introduction to Radio Frequency Identification (RFID) - CodeProject." , ,
http://www.codeproject.com/Articles/8567/WebControls/. Доступ получeн 28
aпр.. 2018.
15."Barcode Technology and 666 - End Times Truth." , ,
https://endtimestruth.com/666-2/barcode-technology-666/. Доступ получeн 17
мaя. 2018.
16. "The Value of Biometrics for Student Attendance Management Systems." , 30
июл.. 2015, , http://www.m2sys.com/blog/education/the-value-of-biometrics-
for-student-attendance-management-systems/. Доступ получeн 17 мaя. 2018.
17."ISO Magnetic Stripe Card Standards | Q-Card." , , https://www.q-
card.com/about-us/iso-magnetic-stripe-card-standards/page.aspx?id=1457.
Доступ получeн 20 мaя. 2018.
18."What is Agile model – advantages, disadvantages and when to use it?." , ,
http://istqbexamcertification.com/what-is-agile-model-advantages-
disadvantages-and-when-to-use-it/. Доступ получeн 28 aпр.. 2018.

46
19."What is an Arduino? - learn.sparkfun.com." , ,
https://learn.sparkfun.com/tutorials/what-is-an-arduino. Доступ получeн 17
мaя. 2018.
20."What is SQLite? - Definition from Techopedia." , ,
https://www.techopedia.com/definition/24610/sqlite. Доступ получeн 17 мaя.
2018.
21."Ruby Information :: Education :: Generous Gems." , ,
http://www.generousgems.com/i/education/ruby-information/. Доступ получeн
17 мaя. 2018.
22."Ruby Programming Language Background - Research hubs." , ,
http://researchhubs.com/post/computing/web-application/ruby-programming-
language-background.html. Доступ получeн 17 мaя. 2018
23."Ruby on Rails: What It Is and Why We Use It For Web Applications | Bit ...." ,
3 мaр.. 2014, , https://bitzesty.com/2014/03/03/ruby-on-rails-what-it-is-and-
why-we-use-it-for-web-applications/. Доступ получeн 17 мaя. 2018.
24."What is Radio Frequency (RF)? - Definition from Techopedia." , ,
https://www.techopedia.com/definition/5083/radio-frequency-rf. Доступ
получeн 20 мaя. 2018.
25."How to Connect Arduino and RFID - Instructables." , 16 сeнт.. 2009, ,
http://www.instructables.com/id/Arduino-and-RFID-from-seeedstudio/. Доступ
получeн 20 мaя. 2018.
26."GitHub - miguelbalboa/rfid: Arduino RFID Library for MFRC522." , ,
https://github.com/miguelbalboa/rfid. Доступ получeн 20 мaя. 2018.
27."rfid - MiFare - Difference between UID and Serial Number of MiFare ...." , 12
июл.. 2013, , https://stackoverflow.com/questions/17608670/mifare-difference-
between-uid-and-serial-number-of-mifare-card. Доступ получeн 20 мaя. 2018.
28."SPI Ethernet модуль ENC28J60." , ,
http://www.kosmodrom.com.ua/pdf/ENC28J60-SPI-MOD.pdf. Доступ
получeн 20 мaя. 2018.

47
29."ENC28J60 Stand-alone Ethernet Controller with SPI - Microchip ...." , 20
окт.. 2004, , http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf.
Доступ получeн 20 мaя. 2018.
30."ENC28J60 - Interface and Networking - Ethernet Controllers ...." , ,
http://www.microchip.com/datasheet/ENC28J60. Доступ получeн 20 мaя.
2018.
31."ethercard/EtherCard.h at master · jcw/ethercard · GitHub." , ,
https://github.com/jcw/ethercard/blob/master/EtherCard.h. Доступ получeн 20
мaя. 2018.
32.Daniel M. Dobkin and Steven M. Weigand (2010). Environmental effects on
RFID tag antennas. California: Bulis Press
33.Julia Case and Anita .C. Millspaugh (2005). Programming in visual basic NET.
Sao Paulo: Mcgraw Press
34.Financial Consortium Publishes RFID Standards for IT Assets. Retrieved on
2010
35.Amirjan Bin Nawabjan (2009). Automated attendance management software.
University of Technology, Malaysia: Degree Thesis
36.Stevan Preradovic and Nemai C. Karmakar (2006). RFID reader: a review.
Monash University, Australia
37.Carlos .C. Murphy (2005). Automated attendance systems. Argentina: Javier
Press
38.Mohd Firdaus Bin Mahyidin (2008). Students’ attendance system using RFID
technology. Malaysia.
39.Billard .F.Cookes (2001). Fundamentals on barcode technology. Cyprus: Rafot
Press Lilmited
40.Gordon .N. Withtaker (2002). Introduction to biometrics technology. Dint and
sons Limited
41.Markus Hansen and Sebastian Meissner (2000). Identification and Tracking of
Individuals and Social Networks using the Electronic Product Code on RFID
Tag s. Sweden: IFIP Summers Limited
48
42.Greene.C. Thomas (2004). Feds approve human RFID implants.
http://www.theregister.co.uk/2004/10/14/human_rfid_implants
43.Mary Catherine O'Connor (2009). Sun Microsystems Piloting RFID Tagging
for Financial Customers. USA: Preston Press
44.Emenike .U. Ugwuatu (2007). Future of RFID technology in Nigeria. Ibadan:
Loyato Press
45.Mc’ Oswel Jamin Sibin (2010). RFID Based Attendance System. University of
Technology Malaysia: Degree Thesis.
46.Mary Catherine O'Connor (2008). RFID Is Key to Car Clubs' Success. RFID
Journal. Retrieved 2011.

49
CV

50

You might also like