SlideShare a Scribd company logo
Moodle Adaptive Intelligent Automated
Attendance System based on UHF-RFID technology
Final Year Project Report
School of Engineering
October, 2016
Nikko Hermawan – 23582685
Supervised by
Mr. Nader Kamrani
Dr. Mark Ng
Submitted in partial fulfillment of the requirements
of the degree of
Bachelor of Engineering
This page is intentionally left blank.
This page is intentionally left blank
To my mother and father,
who have restlessly supported me throughout my life journey
This page is intentionally left blank.
i | P a g e
Acknowledgement
This project has been a long journey for me, remembering all the process and moments since the
beginning, I now realized that it is due to others involvements and contributions, I have the strength
to face the challenges, to keep getting up whenever I fall. And it is because of them, the project
has surpassed the obstacles and comes out as a worthy product.
I thank deeply from my most inner heart to Mr.Nader Kamrani, who has guided me, supported me,
and believed in me. As a mentor, he teaches me to have confidence in myself. There have been
counteless incidents where I feel like giving up, complained to him, and all he said is “One step at
a time, I know you can do it, just do it one step at a time”. This simple reminder has helped me
pass trhough some of the darkest moment in this journey. As a friend, I am grateful that we are
able to share many things, ranging from statistics, politics, religions, and families. These
conversations definitiely been much more enjoyable than the technical discussions.
I would also thank Dr. Mohamed Hisham Jaward, who had shared his technical expertise, notifying
my mistakes, and also for his time for casual conversation whom we often had together with
Mr.Nader. I also thank Dr.Mark Ng for his expert input during the planning phase of this project.
I thank Ms.Regina, Ms. Liang, Ms.Vineetha, and Ms.Maggie whom have helped to provide ideas,
advices, and insights to the project, which I would never have thought of.
To our ECSE lab technicians, Mr. Raja Hasnan, Ms.Rozzie, and Mr.Manan, who have helped to
process the hardware purchasing, and Mr.Suresh who has lend me a workspace during the first
semester of the project, I really appreciate your assistance.
To my classmates, I thanked them for their participations in the attendance system testing during
the last two most hectic weeks of the semester. Without their involvement, there project will stay
only as an idea without proofs.
To the academic societies and researchers who have published their work on UHF RFID, and to
Moodle developers who published their work under open software license, I thanked them for their
ii | P a g e
contributions. From their work has this project builds upon, the project is simply a resynthesize
and integration of their results.
Above all, I thank my parents for their trust, support, and love - xie xie mama, xie xie papa
iii | P a g e
Table of Contents
Chapter 1 Introduction .................................................................................................................... 1
1.1 Aim and objectives ............................................................................................................... 3
1.2 Organization of report........................................................................................................... 4
Chapter 2 Literature Review........................................................................................................... 5
2.1 Identification technologies.................................................................................................... 5
2.1.1 Barcode .......................................................................................................................... 5
2.1.2 RFID .............................................................................................................................. 6
2.1.3 Biometric identification ................................................................................................. 7
2.1.4 Technology evaluation................................................................................................... 8
2.2 RFID overview.................................................................................................................... 10
2.2.1 RFID frequency division.............................................................................................. 12
2.2.2 RFID technology evaluation........................................................................................ 16
2.3 Web architecture................................................................................................................. 18
2.3.1 Web frameworks.......................................................................................................... 19
2.4 Moodle overview................................................................................................................. 21
2.4.1 Moodle concepts .......................................................................................................... 22
2.4.2 Moodle development and plug-ins ............................................................................... 25
2.4.3 Moodle Attendance plug-in ......................................................................................... 26
2.5 Summary............................................................................................................................. 30
Chapter 3 Project Overview and Methodology ............................................................................ 31
3.1 Project phases...................................................................................................................... 31
3.2 System architecture............................................................................................................. 33
iv | P a g e
Chapter 4 Results.......................................................................................................................... 34
4.1 UHF RFID hardware system .............................................................................................. 34
4.1.1 Hardware specification ................................................................................................ 34
4.1.2 Hardware based optimization ...................................................................................... 37
4.2 Moodle server/site............................................................................................................... 42
4.2.1 Installation and deployment......................................................................................... 42
4.3 Further development of attendance module........................................................................ 44
4.3.1 Hardware abstraction layer .......................................................................................... 44
4.3.2 Auto-mark absent......................................................................................................... 47
4.4 System integration .............................................................................................................. 49
Chapter 5 System Testing and Evaluation.................................................................................... 50
5.1 Real class system testing..................................................................................................... 50
5.1.1 Aim .............................................................................................................................. 50
5.1.2 Definition..................................................................................................................... 50
5.1.3 Experiment details ....................................................................................................... 51
5.1.4 Results and discussion ................................................................................................. 53
5.1.5 Experiment conclusion................................................................................................. 56
Chapter 6 Conclusion and Future work ........................................................................................ 57
6.1 Conclusion .......................................................................................................................... 57
6.2 Future work......................................................................................................................... 58
6.2.1 Problems associated with unavailability of directional information............................ 58
6.2.2 Solution........................................................................................................................ 59
Chapter 7 Appendices................................................................................................................... 62
7.1 Justification of EPC C1G2 parameter settings.................................................................... 62
7.1.1 Tari............................................................................................................................... 62
v | P a g e
7.1.2 Encoding scheme ......................................................................................................... 65
7.1.3 Back Link Frequency (BLF)........................................................................................ 67
7.1.4 Q parameter, sessions, and target................................................................................. 68
7.2 Detailed evaluation matrix of web framework ................................................................... 71
vi | P a g e
Executive Summary
Education institution at all level will benefits from having accurate attendance records of its
students. Attendance taking process however, should not interfere with learning and teaching
activity. Traditional paper based approach has been proven to be inefficient and ineffective way
of taking attendance. The future desired attendance system is an automated attendance system that
provide accurate attendance records without sacrificing face to face class time.
This project proposed an attendance system that uses Moodle site and its attendance module as its
web based attendance data management center. In the hardware side, UHF RFID technology is
chosen as its input component.
Hardware optimization is performed through reader configuration and tag orientation. And the
Moodle attendance module is extended to enhance its functionality and adaptability. Hardware
abstraction layer is introduced to the system, and automatic absent marking feature is also
incorporated.
Upon successful integration of hardware and software component, the attendance system is put
into test in actual class implementation. The result of this experiment proof that the system is able
to achieve high attendance record reliability (98%). It is also further conclude from the experiment
that side reader configuration is a more optimum position for detecting attendance of partial
cooperative subjects. With evidence from this real class testing, the attendance system is proven
to satisfy its requirement – automated and reliable – and is ready to be implemented in actual
classes.
1 | P a g e
Chapter 1
Introduction
The practice of attendance dates back since the invention of mechanical clock. In education setting,
attendance taking starts as early as kindergarten school and last until higher degree institution.
Recent nation-wide studies on US public schools suggest that chronic absenteeism, even at the
early stage of education, may impinge the academic future of the students – low test grade and
high chance of drop out [1]. Such correlation is consistently observed even at the university level
[2]. Others studies further reported strong positive correlation between attendance rate and
academic performances[3, 4]. These evidences seem to suggest that students’ attendance rate is
one of the primary factor that determines their academic success. However, this notion is not
obvious in public, including the students themselves. Due to the lack of accurate attendance data,
there is not sufficient evidence to proof this correlation [1].
There may be various reasons for students to miss school or lecture session. These reasons can be
generally accounted to one of the three needs: physiological needs, safety needs, and belonging
needs.
The physiological category includes reasons such as illness and economic restrictions. Students
coming from poorer background, burdened with family responsibilities of taking care the younger
or elders, added with unsatisfied basic needs such as water and clean food, are far more likely to
miss schools and later results in drop out [1].
The safety category includes reasons such as avoiding bully, harassment, or any unsafe
environment. The belonging category includes reasons that comes from the lack of incentives to
attend the lectures. A study suggests that most undergraduates skipped class due to the lack of
interest in the units or lecturer. Aside from illness, students commented that unit or lecture was
boring, uninteresting, and useless [5].
Attendance records therefore can also act as a flag or early warning of such possible issues. In the
first case, attendance records can help government to provide early financial or housing supports
to economically deficit students. Similarly, attendance records also provide early warnings for
2 | P a g e
teachers of possible harassment or bullying scenario that is happening to particular student.
Additionally, students’ attendance rate can be used as a course or lecturer performance indicator
in higher education context.
It becomes increasingly clear now that accurate attendance record is an important asset to any
education institution. The traditional paper based approach of taking attendance however, is highly
time consuming, can be easily damaged, manipulated, and lost. A researcher has shown that
approximately 10 secs/person will be needed for this manual process [6]. This indicates that a
lecture with 100 students would need more than a quarter of an hour just for attendance taking –
this is of course a significant waste of the valuable resources.
The real challenge is therefore, to design an attendance system that accurately captures the
students’ attendance without sacrificing the valuable face to face learning and teaching time, and
this is the quest that this project aims to conquer.
3 | P a g e
1.1 Aim and objectives
The aim of this project is to develop an innovative attendance system that: can overcome
limitations of past attendance systems, can be sustainably used over a long term, can accurately
captured actual attendance, and one that can provide simplifications to conventional attendance
system – Such attendance system is then named as Adaptive Intelligent Automated Attendance
System.
To further refines the aims listed previously, a set of distinct objectives are identified and classified
based on each adjective preceding the name of the attendance system – Adaptive, Intelligent, and
Automated.
Adaptive:
- Open source – All the software components involved in the attendance system will be
open source software. Such software is freely distributed and is technology independent.
- Hardware technology independent - The attendance system software will be able to
accommodate any attendance capturing method – Barcode, RFID, face detection, manual
computation, etc.,
- Comply to standard – The use of UHF RFID standards will comply with local frequency
regulation and global UHF RFID standards.
Intelligent:
- Reliable – The attendance records captured by the system must accurately reflects the
actual presence of students (95% accuracy).
- Specific – Marking of attendance records will be refined into specific status – Present,
Late, Very Late, Absent, or Exempted
- Secure – User authentication and permission management will be incorporated in the
attendance system to prevent unauthorized attendance records viewing or manipulation.
- Real time – The captured attendance records will be updated and reflected in the
attendance web page within 10 seconds.
Automated:
4 | P a g e
- Web based – Attendance records will be stored, managed, and accessed through web based
interfacing.
- Autonomous record taking – The attendance system will work independently without the
need of human interventions – in both recording process and data post processing.
- Rich in features – Tasks which can be automated by software programming – such as
generation of summary report, filtering, and data exporting - will be incorporated as
additional features of the attendance system.
1.2 Organization of report
Following this chapter, in chapter-2, the literature review of the hardware and software
technologies are presented. Further background of the selected technologies are given to aid
understanding and further discussion.
Chapter-3, begins by showing the overview of chronological stages involved in this project. Then,
complete design of the system architecture is shown and elaborated.
In chapter-4, the results that this project has produced are presented from the hardware side,
software side, and then their integration side.
Chapter-5 is devoted to describe the real class system testing experiment aim, setup, and procedure,
followed by the discussion of the results and some derived experiment conclusions.
Chapter-6 then summarized the results and achievements of this project and further suggest a
future work for the next system developer.
5 | P a g e
Chapter 2
Literature Review
This chapter is written to provide reader with the technology background and justification of the
technology selection. It will start from the hardware technology, then the software or web stack
technology.
2.1 Identification technologies
2.1.1 Barcode
Out of all major identification technologies, barcode is widely acknowledged as the longest, most
established, and cheapest identification technologies up to date [7]. Owing to the extensive
research and development given to barcode over the last 50 years, it has high read reliability, easy
to installed, with low cost software and hardware commercially available. Considering the ongoing
cost for printing the barcode, single print cost as low as one tenth of a US cent. These set of
advantages makes barcode stands out over its competitor in bulk tracking of low price products
applications such as food supply chain.
A major drawbacks of barcode unfortunately, is that it requires direct line of sight between the
scanner and the printed code. Reading operations must be performed one at a time, and when the
printed code is damaged or obstructed by dirt, reading operations become difficult if not impossible
[8].
Figure 1 - sample of commercial barcode [www.ebay.com]
6 | P a g e
2.1.2 RFID
Radio Frequency Identification (RFID), is in its simplest definition, an identification method that
relies on radio frequency wave. In general, reading operations in RFID is simpler, faster, and more
reliable compared to barcode, because it does not require line of sight between the reader and
identification object – normally called tag [8], [9]. The read rate of High Frequency (HF) RFID
has been reported to be as fast as 0.2 secs/read, compared to barcode at 2 secs/read – in fact,
instantaneous readings can be achieved by Ultra High Frequency (UHF) RFID. Another important
feature of this technology is that the identification object or the tag, is IC embedded. This means
some information can be stored, with endless read/write operations. By incorporating some
intelligence and encryption algorithm to the system, it provides virtually 100% reliable and safe
read/write access to the tag [8], making RFID an attractive technology for high security consumer
application such as access control and electronic purse.
However, the initial investment associated with RFID technology – hardware, software, and
installation – is relatively high and is often considered only in medium to long term projects (>1
years) [7]. It also suffers from inter-components interference, collisions can occur between readers,
between readers to tag, and tags to reader [10]. The most common scenario of collision is between
multiple tags and a reader – you might have also encounter this. Consider the case when your
RFID based student ID, credit card, and apartment access card are jammed together in your wallet
– assume they operate under same frequency. Then you wonder why the apartment gate RFID
reader is unable to validate your access card, and complaint to the management after encountering
multiple such occurrences – No, it is not the card. It is due to the cheap reader that does not employ
anti-collision algorithm. And readers that has built in anti-collision algorithm, normally comes at
a much higher cost – up to multiple fold times more expensive.
7 | P a g e
Figure 2 - sample of commercial RFID reader [www.nairaland.com]
2.1.3 Biometric identification
A more natural way to identify a person is of course, by characterizing certain traits of the person
directly, such class of identification method is named as biometric identifications. Finger print
identification, Iris detection, and face recognition are some of the well-known biometric
identification technologies. Since identification process uses direct biological inputs, individuals
are not required to possess any additional identification object. Every person in the world can be
uniquely identified by these biometrics, hence making it the most foolproof method of
authentication.
The downside of this technologies comes from its slow process and high cost. Taking finger print
as an example, scanning of a hundred personals will, on ideal situations, take 15 minutes to
complete. Moreover, as physical contact is necessary in finger print identification, repetitive
application of uncontrolled force from users would quickly damage the device and deteriorate the
reading performance.
Figure 3 - sample of commercial fingerprint scanner [findbiometrics.com]
8 | P a g e
2.1.4 Technology evaluation
After looking at several examples of identification hardware, we can see that each technology
offers different set of advantages and limitations. To select the most suitable alternative, a list of
hardware capabilities considerations is created, and grouped into primary and tertiary
consideration, the cost will not be considered at this stage. The primary considerations include
identification speed, accuracy, and range, with higher value being more desirable – within this set,
speed is given top importance, followed by accuracy, then range. Meanwhile, the tertiary
considerations will be the powering method of the hardware, with Ethernet based powering
preferred.
Based on this sequence of prioritization, the speed performance is first evaluated. The
identification time requirements for each hardware are gathered from the literatures, tabulated, and
plotted for ease of comparison [6],33]. The time consumption is calculated based on the check-in
& check-out attendance system, so each student will require two times identification for each
session.
Technology choice
Time
requirement
Number of students
10 25 50 100 200 300
Time/
Time
/person
Time taken in seconds
scan
Manual entry 10 20 200 500 1000 2000 4000 6000
Finger print 7 14 140 350 700 1400 2800 4200
Barcode 2 4 40 100 200 400 800 1200
Near field - RFID 0.3 0.6 6 15 30 60 120 180
UHF - RFID 0 0 0 0 0 0 0 0
Table 1 – time consumptions of several alternatives attendance taking methods
9 | P a g e
Figure 4 - Plot of various attendance taking technologies time performance
The graph gives a summary of how much different attendance taking methods consume class time
for attendance taking activities, against different number of students in the class. Three threshold
lines (3mins, 10 mins, and 30 mins) are drawn to aid evaluation. Proceeding with the argument
that any automated attendance system should not take more than 5% of class time (ideally zero
time); only RFID technologies surpass this constraint.
10 | P a g e
Proceeding from the first evaluation stage, the decision making is simplified to the choice between
far field RFID or near field RFID. The RFID technology family can be subdivided into various
type of implementation which further differentiate their performances and cost – near field or far
field is simply one of the possible classification of RFID family. To know the various types of
RFID, to understand how their performance differ, and to select the most appropriate RFID sub-
class, an overview and discussion of RFID technology is given in the next section.
2.2 RFID overview
Radio Frequency Identification (RFID), compactly defined, is any identification technology that
operates under radio frequency range [7]. Fundamentally, RFID hardware consist of only two
components – reader/interrogator and tag/transponder. In this report, the term reader and tag will
be consistently used, but other aliases might be found on the literatures. Both tags and readers have
antenna that functions as a gateway to transmit and receive signal. Traditionally, the antenna and
processor unit are combined in a single reader, but most recent RFID readers separate them. This
separation allows the RFID system to support more number of antennas and has better flexibility
in antenna type, placement, and power.
Figure 5- schematic of modern RFID hardware interaction [modified diagram from www.barcodesinc.com]
11 | P a g e
The RFID technology family can be subdivided based on their operating frequency, working
principle, type of tag, or communication protocol [11]. Fig-6 shows a sample of RFID family tree
diagram.
Figure 6- Family tree of RFID technology [12]
The division between active and passive branch depends solely on the powering and
communication method of the tag. Active tag has its own power source and radio circuitry – an
active radio device – while passive tags relies on reader signal to power its circuitry. Due to this
distinction, active tag has much higher reading range (up to 1km), compared to passive tag (up to
10m). In term of size, life time, and cost however, passive tag outweighs active tag by multiple
fold. While 10 cents passive tag might last more than 5 years, $50 active tag has average life span
of only one year. Moreover, because of the use of battery and radio circuitry, active tags are bulkier
compared to passive tags – fig-7 shows a comparison of commercial active and passive tags.
Figure 7 sample of commercial active tag (left) and passive tag (right)[11]
12 | P a g e
As the added range of active tag is less attractive to attendance system application, passive tag is
considered a much suitable solution, and because of this, further discussion of the technology will
be constrained only to passive RFID system.
2.2.1 RFID frequency division
Approaching the division of RFID technology from their operating frequency,
RFID can fall into low frequency (LF), high frequency (HF), ultra-high frequency (UHF), or
microwave frequency. However, description of Microwave frequency is excluded as this branch
of RFID technology is considered still in its very infancy, having many unresolved issues, and is
extremely costly, which makes microwave frequency RFID an unlikely option for the project.
Figure-8 shows the frequency spectrum division from LF to Microwave. For RFID applications
the commonly used frequency for LF, HF, UHF, and Microwave frequency are 125/134 kHz, 13.56
MHz, 860-960 MHz, and 2.4-2.45 GHz respectively [13],[11]. Depending on their operating
frequencies, the power coupling method, reading range, and tag design will differ.
Figure 8- RFID frequency spectrum [14]
2.2.1 Near field RFID (LF and HF)
RFID that operates under LF and HF are the two subclass that can be categorized as near field
RFID (<1m read range). These sub-classes use inductive coupling – also known as transformer
coupling - to power and communicate between the reader and tag [13]. Shown in fig-9 is the
illustration of how alternating magnetic field is used to inductively transferred the energy between
the reader to tag. The capacitor Cr on the reader is carefully selected to match the inductance of
the coil antenna, so that the antenna circuit will form resonant frequency only at the desired
operating frequency, fig-10 shows the relative voltage around the resonant frequency [13].
13 | P a g e
Because of that, LF and HF have different resonant frequency and their operations will not interfere
each other, but at the same time, is incompatible to each other – i.e., LF reader cannot be used to
read HF tag and vice versa.
Figure 9- Schematic of inductive coupling power transfer between reader and tag through alternating magnetic field [9]
Figure 10 - relative voltage induced in the tag in frequencies
around resonant frequency [13]
Figure 11 - Coupling coefficient (k) vs distance between two
adjacent coils [15]
The low reading range in inductive coupling based RFID is mainly due to the rapid drop of
coupling coefficient (k) between the reader and tag. To illustrate the dramatic decrease of k by
14 | P a g e
increase of distance, fig-11 shows the theoretical plot of the coupling coefficient (k) as a function
of distance between the reader and tag coils.
Although both LF and HF operates under the same physical principle, and is both classified as near
field RFID, the difference of their operating frequencies (LF - 125 kHz vs 13.56 MHz in HF),
results in some practical implications including tag design, reading speed, and cost.
Due to the much lower operating frequency, LF tag require more coils turn to obtain the required
voltage to turn on the tag. This makes the tag rather bulky and relatively expensive. In addition,
the data rate is comparably slow, taking about few seconds just to read single tag [11].
However, LF RFID has significantly better penetration properties against liquid, metal, and living
tissue – it is can penetrate approximately four times deeper compared to HF RFID. This makes LF
RFID suitable for applications such as animal tracking where the tag is often implanted inside the
animal’s body.
HF RFID meanwhile, as it operates in much higher frequency (13.56 MHz), allow much higher
data rate and hence reading speed – 0.1s/read may be achieved [6]. In term of tag design, HF tag
also require much lesser turns, fig-12 shows the comparison between LF and HF tag. Moreover,
due to the wide adoption of this technology from the industrial world, the cost associated with this
technology is relatively low. Common HF RFID applications include security access, electronic
purse, and attendance tracking.
Figure 12 - Sample of LF and HF tag[11]
15 | P a g e
Summarizing the distinction between LF and HF RFID, LF RFID is slower, more expensive, but
has better penetration properties. HF RFID on the other hand, has much faster reading speed, and
is a cheaper alternative. Based on this comparison, HF RFID is taken as a more preferred near field
RFID technology as it offers quick reading at lower investment cost, which both are important
factors considered in this project.
2.2.1 Far field RFID (UHF)
Far to the right on the frequency spectrum, UHF RFID uses electromagnetic (EM) waves to
communicate and transmit power. EM wave coupling allow much further reading range (up to
10m) - which is why UHF RFID falls under far field category.
For passive RFID system, the term back scattered electromagnetic coupling is commonly used to
refer to the transmission scheme used by this technology. When the passive tag is within the
reading range of the reader, the antenna on the tag will receive the radiated wave, modulate it, and
transmit/scatter it back to the reader, all within split of a second [16]. And along with the increase
in operating frequency, the data rate also increases proportionately, allowing UHF RFID system
to read hundreds of tags within a second [17].
Figure 13- simplified physics of reader and tag back scatter signaling [11]
16 | P a g e
Unfortunately, UHF RFID operation suffers from various performance issues such as low
detectability rate and unreliable reading range [16, 18]. Significant reduction in signal power may
come from absorption by liquid object, reflection by metal, and interference from surrounding
radio noise [16]. Moreover, common to any wireless communication, multipath interference also
applies to UHF RFID operation. In dense RFID environment (multiple reader and multiple tags),
collision between readers, reader to tag, and multiple tags to a reader, may essentially cause
complete disruption to the system when not appropriately handled [7, 19].
2.2.2 RFID technology evaluation
Equipped with the understanding of advantages and limitations of various RFID technology, the
binary choice between near field RFID (HF) versus far field RFID (UHF), is now ready to be
singulated.
Side by side comparison between HF RFID and UHF RFID hardware capabilities are tabulated in
table-2 where the information about each technology are gathered from the literature and market
evaluation [6, 14].
HF RFID UHF RFID
Reading time (s/read) 0.1s - 1s per read Close to instantaneous (< 0.001 s/read)
Reading accuracy Highly Accurate Accurate
Reading reliability High Low
Reading range <1m (near field) <10m (far field)
Reader cost 50 - 250 USD 450 - 2000 USD
Tag cost >1 USD 0.1 – 0.5 USD
Table 2 – comparison between HF RFID and UHF RFID
17 | P a g e
Fully automated attendance system – the one that operates autonomously without reliance on
human - can only be achieved through UHF RFID hardware, as it allows virtually instantaneous
reading with covering wide reading zone. Relating to attendance tracking application, this means
that any door whose width <10m can be theoretically covered by the system, and number of
simultaneous passing students will not be as issue as it can detect few hundreds of tag within a
second. On the other hand, if the attendance system utilizes HF RFID hardware, it is undoubtedly
will be significantly faster than traditional paper based attendance, but will still requires students
to intentionally put their tag to the proximity range of the reader, making it a partially automated
solution.
Looking from different angle, HF RFID reads more reliably compared to UHF RFID. As long as
tag is within the read-zone of the reader, HF technology guaranteed 100% tag detection. This is
however, is not the case with its younger, less mature brother, UHF RFID. Single antenna, single
tag UHF RFID system has poor detectability rate – Walmart, a giant supply chain company in US,
demonstrate that detection rate may be as low as 63% [17]. Several approaches have been
suggested by the research society, including the clever configuration of reader setting, multi
tagging single object, and/or employment of multi antennas per portal [17],[16],[20].
From the cost perspective, HF RFID reader is far more affordable - two to ten times cheaper
compared to UHF RFID reader. For both case, more expensive reader provides better processing
capability, simpler software, better security control, and may be installed with anti-collision
algorithm (a method used to prevent multi-tag signal collision when presented to a single reader).
Putting these observations into a concluding sentence: UHF RFID, when compared to HF RFID,
is a less mature and riskier technology to adopt, it is however the only technology that is capable
of automating the attendance recording. With the desire to improve and contribute in a larger
context, UHF RFID is chosen and the challenge to overcome the various operational issues is
taken.
18 | P a g e
2.3 Web architecture
A complete web architecture of a web application is divided into client side web stack and server
side web stack.
In the client side, the web stack components are pretty much a de-facto standard. Any web page
would at it most basic level (static page) compose of HTML script, or in more dynamic and
interactive web page adds Cascaded Sheet Style (CSS) and Java Script [21]. HTML script is the
component that provide the fundamental content (texts and pictures) to the webpage, while CSS
will be responsible for managing the layout of those components (colour, font size, alignment,
etc.,). Java script meanwhile is used to provide the interactive behaviour to the webpage, any
simple user interactions such as mouse movement, drag, and key board press may be used to
triggered the web server to provide certain response [22].
Figure 14 - general client side open source web stack Figure 15 - possibilities for server side open source web stack
Web stack components in the server side however is less obvious than the client side. Fundamental
components of server side web architecture consist of scripting language, database server, web
server, operating system, and an optional web framework. Restricting the web stack to open source
software, XAMPP and LAMP are the most common choice of web stack [21].
The abbreviation denotes the combinations of software components that fills the web stack layers.
For LAMP, this refers to Linux – Apache - MySQL/MariaDB - php, while XAMPP refers to Cross
Platforms X – Apache – MySQL/MariaDB – php – perl (optional). The differences between the
19 | P a g e
two lies mainly on the operating system, either Linux or Cross platform OS [23]. To promote
multi-platform operability, XAMPP web stack is chosen as the fundamental web server stack.
2.3.1 Web frameworks
Although web framework is not a necessary component for web development; it is however, very
helpful if we use one. A framework for a web developer, play the same role as a toolbox to a
mechanics. Experienced mechanics know the correct tool for each particular task. For example,
they would not use a grinding machine to cut a sheet of thin metal when a metal scissor works
well. Moreover, the specificity of toolbox, helps mechanics to perform better upon well-defined
task. To fix a car for example, a garage-car-repair tool box will be much easier to use than a general
tool box which contains every kind of tools, which often overwhelms, rather than helpful. This
scenario illustrates that when problem is well defined, a more specific tool box is preferable than
general and complete toolbox.
Figure 16 - web framework evaluation steps
In order to select the most suitable framework, the evaluation process is broken down into three
steps: market research, top candidates’ investigation, then assess through evaluation matrix.
2.3.1 Market browsing
This stage mostly involves reading and listening experts’ reviews. In general, reviewers will
evaluate several products, then provide comments on the benefits and drawbacks of each product,
and then conclude on which applications suits each of the web frameworks. From these reviews,
three most suitable candidates are selected (Symfony, cakePhp, and Moodle) [w4 until w7].
2.3.1 Candidates investigation
Then, each framework is investigated from their websites where their background, history,
functionality, and society are described. From these readings, the following section provide short
description of the three framework candidates.
Research the
market
Investigate
top
candidates
Fit into
Evaluation
Matrix
20 | P a g e
2.3.1. Symfony & CakePHP
Symfony and cakePHP, along with many other not evaluated web frameworks, are open source,
free license, general PHP web framework. They have large number of active communities located
all over the world. Symfony for instance, has more than 4000 Symfony developer certification
centers across the globe. Symfony has steeper learning curved compared to CakePHP, but on the
bright side, has larger functionality and flexibility. CakePHP on the other hand, have better support
for built-in modules and auto generated PHP code. In short, Symfony is a better alternative for
long term web application, while CakePHP is more suitable for agile or rapid web application
development[24].
2.3.1. Moodle
Moodle is an open source web application that is originally designed to simplify the course
management tasks of educational institution, from primary schools, up to university level. Because
of this, most of its programming interface and libraries are made for academic applications, for
example student enrolment, grading, and reporting. Most developer and user of Moodle therefore,
come from the educational background across the world.
Moodle server is designed to extend its features through development and installation of plug-ins
- common plug-ins include quiz, forum, grading, and attendance. As a result, Moodle architecture
does not allow developer to modify its core logic, and the degree of developer flexibility may go
only as far as developing plug-ins. But at the bright side, with the large society of Moodle plug-in
developer, plug-ins are constantly developed, improved, and shared freely to the public.
2.3.1 Evaluation matrix
The previous section provides an overview of each web frameworks candidate. In order to select
best candidate in more objective manner, at the final stage, an evaluation matrix is used to quantify
the quality of each options.
The marking rubrix consist of several weighted assessment criteria. Based on the evaluation result,
the candidates are ranked, and the one that surface on the top will be chosen. The summarized
evaluation result is shown in fig-17 while the detail evaluation is left on the appendix for reader
21 | P a g e
that requires marking justification. Based on this evaluation matrix, it is concluded that Moodle is
the most suitable web framework that meets requirement of the project. This selection also ends
the evaluation process and fig-18 shows the final server side web architecture.
Figure 17 - summarized results of web frameworks marking rubrix
Figure 18- final server side web stack
2.4 Moodle overview
Moodle is an open source online learning environment that is developed in php and is regarded as
one of the most widely used learning management system. Its user comes mostly from the
education background, ranging from primary schools to higher educations. The application of
Moodle will varies by the user, some use it as an electronic learning management system where
students is expected to interact with through the computer during the learning process [25].Others,
Server side architecture
•MoodleWeb framework
•PHPScripting language
•MySQLDatabase Server
•Apache HTTP serverWeb Server
•Cross OSOperating System
(OS)
22 | P a g e
and is true for most higher education institution, mainly used as a course management system
which assist students and lecturers to organized their courses materials, submissions, and grading
[26].
Figure 19 - home page of Moodle [www.moodle.org]
2.4.1 Moodle concepts
The following section is aimed to give reader some knowledge of the various components living
inside Moodle, how they interact with each other, and some important Moodle features that are
required for later discussion. Moreover, it is also aimed to show why and how Moodle virtual
learning environment greatly mimics the real world learning environment. This paragraph has been
written mainly from the FYP student understanding, but reader may refer to [27] for official
Moodle explanation of its working principle.
23 | P a g e
Figure 20 - Analogy between Moodle site and school of engineering
To illustrate how Moodle represents the actual learning environment, we will start by providing
an analogy between Moodle and a department of a university, say school of engineering – fig-20
depicts this analogy. Let Moodle site represents engineering school department, and its front page
represents the course management office of the school. Within the school of engineering, there are
several disciplines, and each discipline normally offer a number of courses to its students.
Similarly, there are several course categories in Moodle in which contains several singular courses.
In reality, different courses are targeted at different learning outcomes, hence often have different
set of teaching syllabus and approaches. Some courses may contain only lectures and tutorials,
while other may add laboratory exercises, industrial visit, mini project, and workshops. This
requirement is well translated in Moodle where each course may activate different type of activities
and features. For example, some may use Moodle site simply for material organization and
distribution, while other may incorporate quizzes, forum, and attendance tracking.
2.4.1 Context, roles, and capabilities
Three important concepts in Moodle will be introduced here – context, roles, and capabilities.
Referring back to our analogy, roles is similar to occupation, and capabilities may be represented
as the rights or power that certain occupation has. The context meanwhile, may be assumed as the
dimension or environment of the real world. The analogy, especially for context, may seem rather
abstract, but the following explanation and examples should help solidify the illustration.
24 | P a g e
Moodle have several default roles such as student, teacher, editing teacher, admin, course manager,
and optional user defined roles. The context in Moodle, are the blocks that are depicted in fig-20,
which includes Moodle site context, course category context, course context, and so on. While
Moodle basic capabilities are rights to view, modify, or set certain objects.
In each context, users may be assigned certain roles, such as assigning a particular user as a lecturer
in a course. In Moodle, role assignment under certain context will be inherited to its lower context,
based on the hierarchy of context shown in fig-20. As an example, when a user is given a role of
teacher in particular course category, then all the courses contain under that category will see the
user as a teacher. Moreover, within a course context, a role privileged hierarchy is observed. At
the top is admin, followed by course manager, then teacher, editing teacher, then student.
Following this order, the higher level role is allowed to switch their roles to other lower level roles
but not the other way around. This means admin may switch to any roles while student is fixed
with one role.
In each context also, certain capability may be defined and assigned to certain roles. For example,
a grading activity in a course may define capability such as edit, view, delete, and comment. It
may then assign the edit and delete capability only to teacher, while give view and comment access
to all users. The capabilities management therefore prevent unauthorized users to performs certain
undesired operations – for example a student viewing his others friend grade.
2.4.1 Group
Another Moodle component to highlight is the grouping feature. Groups may be defined under
course context. This means that the domain of grouping is restricted to the users that is enrolled
under the specific course. For example, group-A that is created under course – 1 will not be
accessible or seen by course – 2. The grouping features hence may help teacher to assign, apply,
or perform certain things only to a set of students, instead of all enrolled students. For example,
the teacher may want to set different report submission date for Friday class group and Monday
class group.
25 | P a g e
This series of illustrations have shown that the structure, organization, and inter relationship of
Moodle components and logic are coherent with the real world learning environment. Making
Moodle an optimum – simple, free, and functional – online learning platform for course based
educational institution.
2.4.2 Moodle development and plug-ins
Moodle as a e learning platform define several application programing interface (APIs) to allow
developers to access Moodle core functionalities. Moodle capabilities may be extended through
development of plug-ins or integration with other web application [28]. The APIs define the
specific rules and functions that a programmer may use to interface with Moodle server.
There are various branches of plug-in development in Moodle, but rather than explaining each
category separately, fig-21 shows the snapshot of Moodle plugins web page which shows some of
the plug-ins that are freely available.
26 | P a g e
Figure 21- Moodle plugins web page [https://moodle.org/plugins/]
Out of the various plug-ins, activities category is the most developed and used by Moodle
community. Falling under this category, there are modules such as assignment, database, quizzes,
and attendance. These plug-ins, once installed, can be used by teacher on their courses by
activating/instantiating them. As an example, to run a quiz, a teacher would then add quiz activity
module and provide the necessary information pertaining to the quiz (questions and answers,
grade, and time).
2.4.3 Moodle Attendance plug-in
Of the numerous plug-ins in Moodle, attendance plug-in/module is also one of the them. It is
officially published since 2013, and has since then undergoes continuous updates until the most
recent one in June 2016, it is also one of the most popular module with more than 3500 Moodle
site currently using this module.
The following paragraphs will describe its functionalities along with its screenshots compiled in
the next page.
Figure 22 - attendance plug-in logo taken from [https://moodle.org/plugins/mod_attendance]
Once this plug-in is downloaded and installed by the Moodle admin, it may be activated by
teachers under the context of a course. Teachers may use this feature to track students’ attendance,
and possibly give marks based on their attendance.
Before any attendance is tracked, teacher must first create sessions that represent the actual classes.
Information such as start and end time, date, and students (all students or a group of students) are
mandatory field to fill when creating a session. Multiple repetitive sessions which has same details
may be created simultaneously through multiple session option shown in fig-24.
27 | P a g e
Once sessions are created, marking the attendance of a specific session is done by selecting the
session, and then selecting the status of individual students’ statuses. The default statuses include
P for present, L for late, E for excused, and A for absent, if additional status is required, it may be
added by the teachers manually.
The attendance plugin is also equipped with some useful feature such as filter (by week, days,
etc.,) and search box to ease data viewing and searching. Additionally, it also provides summarized
report view for teacher to quickly get an overview of the course attendance. When raw attendance
records are required, several exporting options are provided in multiple format - excel, csv, and
openOffice.
Student view of the attendance is shown in fig-28. Students can see a summary of their attendance
in a particular course, as well as other courses.
Hence it is observed that the Moodle attendance plug-in, which currently maintained by Dan
Marsden, is a simple yet feature rich web based attendance application, which meets many of the
requirements imposed under this project (web based, rich in features, and secure). However,
attendance taking method in this plug-in will still require manual clickings.
After realizing that such plug-ins exist, and that it meets most of the goals initially targeted, I had
decided to adopt the attendance module, and further develop it in order to allow automated
attendance taking.
28 | P a g e
Figure 23 – teacher home page of attendance module showing list of sessions in the week
Figure 24 - Add sessions view of attendance module
29 | P a g e
Figure 25- status set settings of attendance module
Figure 26 – marking a session attendance of attendance module
30 | P a g e
Figure 27 - summary report of attendance module
Figure 28 - students view of attendance module
2.5 Summary
As a conclusion, this chapter has presented the evaluation of several commercial identification
technologies and justify why UHF RFID technology is the best option for the project. Some basic
concept of web stack technology is given and evaluation of available market web stack
combinations are presented. Based on the marking rubrix, Moodle web framework is concluded to
be the most suitable framework and some fundamental knowledge of Moodle is introduced to aid
further discussion.
31 | P a g e
Chapter 3
Project Overview and Methodology
This chapter will show the overall picture of the project in term of the chronological stages, and
then the overall system architectures.
3.1 Project phases
This section will show and discuss the overall project stages and activities that is planned for the
project.
This project begins with a conception phase, where problems and resources are introduced to the
FYP student. Then upon sufficient understanding of the problem, scope and objectives of the
project is defined during the definition and initiation phase. In this phase also, literature review
and market evaluation take place, in quest of searching the most suitable solution.
After thorough literature and market research, equipped with the proposed technology solution,
the system architecture may then be drawn. Afterwards, action plans and tasks are identified and
divided into two semester timeline (project-A and project-B).
Up until this phase, the activities performed in the project are mostly research and evaluation. The
development and testing phase then mark the start of the production line. The tasks involve in this
phase includes writing php scripts and libraries to modify Moodle attendance module, and then
installing and integrating system components.
When system is successfully integrated and tested under experimental condition, the system
evaluation phase may start. In this stage, the attendance system will be tested in the actual class to
evaluate, analyze, and report its performance.
At the final stage, the project delivery phase includes submitting final report, followed by technical
presentation, and then FYP open day demonstration which also mark the end of the Final Year
Project.
32 | P a g e
Figure 29 - The six project phases
33 | P a g e
3.2 System architecture
Figure 30 - overall system architecture of MAIAAS
Fig-30 shows the complete architecture of MAIAAS. This architecture may be divided into client
side and server side components, with internet in between. The client of this system includes the
students, lecturers, and administrators, while the server will be the PC that hosts MAIAAS Moodle
site. Through Moodle site which is accessed using a browser, students may view their attendance
and lecturers may mark, modify, and manage it. On the other hand, for a hardware to report an
attendance record, it must first go through a local server which is connected to the internet. The
local server will then send the captured record to the particular hardware handler php script using
a HTTP POST method. From there onwards, the hardware handler script will handle the record
checking and insertion to the Moodle database. Different hardware will have different interfacing
method to the local server which often is product dependent. Each type of hardware, will also has
different hardware handler due to the different identification logic behind each of them. In chapter
4, a more detailed explanation of the hardware handler will be provided.
Server side Client side
34 | P a g e
Chapter 4
Results
This chapter will present the results and achievements that the project has made. It starts by
showing the description of the hardware products, and then the various optimizations that have
been done to it. Similarly, in the software side, the installed technology is first shown, followed
by the modifications and developments that have been performed. The final sub heading then
presents the integration result of the hardware and software components into a single system.
4.1 UHF RFID hardware system
4.1.1 Hardware specification
Only relevant details (for discussion) will be mentioned here, for complete hardware specification,
it is best to refer back to the individual product data sheet.
4.1.1 Reader
Figure 31- Thing Magic USB+ RFID Reader [http://www.thingmagic.com/index.php/usb-rfid-reader]
Product Thing Magic USB+ RFID Reader
Interfacing software Universal Reader Assistant
Price 445 USD
Purchased 1
35 | P a g e
Dimension
RF output power 10 dBm – 23 dBm
Powering method 2 USB cables (max current 570 mA)
Embedded antenna IF900-SF00
Antenna
polarization
Linear polarized antenna
Gain 3 dBiL
Beam width (Azimuth x Elevation) = 360 x 90 degrees
Front to back ratio 0 dB
Environment indoor
Figure 32- reader specifications [29, 30]
4.1.1 Tag
Figure 33 - UHF RFID inlay AD-383u7 [taken from AD-383u7 datasheet]
Product Dry UHF RFID inlay, AD-383u7
36 | P a g e
Price 0.3376 USD/piece
Purchased 50
Dimension 5 x 3 cm
RF protocol ISO – 18000 – 6C, EPC class 1 gen 2 UHF air interface protocol
Memory 128 rewritable EPC bit, 96 fixed TID, no user memory bank
Table 3 - tag specification [h4]
4.1.1 Discussion
The choice of hardware products has mainly been governed by the cost limitation – each FYP
student is allowed to spent RM 2000 ≈ 500 USD. The final expenses for hardware purchasing cost
around RM 2300 (yes, slightly beyond budget), after summed with the shipping charges and
custom duty tax.
Most UHF RFID readers cost much higher than 500 USD, and Thing Magic USB+ RFID Reader
is the only option found in the market for UHF reader costing below 500 USD (445 USD). But
with the cost reduction, some of the reader performance comes at the expenses. Maximum radio
frequency (RF) power of the reader is 23 dBm, which is around 8 dB (6 times) lower than
maximum allowable power. Moreover, the reader is not equipped with any heat dissipation
accessories (fan or heat sink), hence gets over heat easily when operated with maximum power
under 100% RF cycle – later it is found that 70% ON RF cycle is acceptable. The antenna is
embedded inside the reader, and is linearly polarized antenna (tag orientation sensitive) – a desired
and more expensive antenna is a pair of circular polarized antenna which is not fixed to the reader.
All these factors - power, reduced RF cycle, and linearly polarized antenna – have resulted in
severe reduction of the reader detection range (less than 2 m). In addition, the reader must be
operated indoor, with data and power link through two USB port connections.
On the tag side, a unipolar (orientation sensitive) AD-383u7 tag is used instead of the desired
bipolar (orientation insensitive) tag, since bipolar tag cost at least twice the unipolar tag. Moreover,
the tag’s chip contains no user memory bank, which limits its use for applications that requires it.
37 | P a g e
4.1.2 Hardware based optimization
This section will discuss the two hardware based optimization that are done to maximize the
system detection reliability.
4.1.2 Configuration optimization
Some settings of the reader and its communication protocol parameters can enhance its reading
performance (range and reliability), when properly set. EPC class 1 gen 2 UHF RFID protocol
allow great level of flexibility and diversity of the air interface protocol settings. This allow system
integrator to fine tune the various parameter to suit particular applications under certain RFID
environment.
Universal Reader Assistant (URA) is a software that Thing Magic provides for developer to
interface with the UHF RFID readers. It is not the aim of this report to provide complete exposure
of the functionality of this software, hence only relevant sections of the software will be described
in the coming section.
All the configurations related to the reader and air protocol may be set through this software. And
a particular configuration may also be saved and loaded in future. Fig-34 shows the basic connect
tab to which connections is first initialized.
Figure 34 - connect tab in URA
The reader power is maximized at 23 dBm to obtain maximum reading range and reliability. And
as the reader is not equipped with any heat management techniques, full power continuous RF
cycle operation will quickly overheat the reader. Datasheet has suggested reduction in RF cycle
and/or RF transmitting power, when thermal management techniques is not possible [62]. After
some trial and error, when operating in air conditioned room, at maximum power, 70% ON RF
38 | P a g e
cycle is found to be the upper limit of continuous reading operation without overheated reader,
hence this set up is chosen.
Figure 35 - Reader power settings in URA
Figure 36 - read/write tab in URA
The gen2 performance setting is the hub where all the air interface protocols may be set. User that
is unfamiliar with the EPC class 1 gen 2 (EPC C1G2) parameters may uses the automated setting
options that the software provides, based on the tag population size, tradeoff between read distance
and read rate, and the desired tag response rate. The software will later automatically set the actual
EPC C1G2 parameters which consist of Back Link Frequency, Tari, Tag encoding, Session,
Target, and Q value, which elaborations of these parameters are documented in the standard [31].
Figure 37 - C1G2 performance setting in URA
But to ensure optimal performance, each parameter is studied in details and later set to optimal
configuration for the attendance recording application. The summary of final optimized setting is
tabulated in table 4, and readers that are interested in justification of individual parameter choice
may read the justification on appendix.
39 | P a g e
EPC C1G2 air protocol parameters chosen setting description
Not
configurable
Not
configurable
Miller – 8 Lowest error rate encoding
scheme
S1 0.5s to 5s delay between
response, suitable for
attendance application
A General setting that allows
complete reading of tag
population.
Dynamic Q Adaptable Q length suitable
for varying tag population
as is the case in attendance
system.
Table 4 - Summary of EPC C1G2 settings
40 | P a g e
4.1.2 Orientation optimization
Determining best tag and reader placement in UHF RFID system require understanding of the
hardware, the environment, as well as the subject that is tracked (student).
In the hardware side, in addition to the datasheet specification, a tag-reader orientation
characterization experiment is performed for more credible empirical data. This experiment is
aimed to measure and characterize the tag power orientation dependency. Figure-38 shows the
initial experiment condition, and of the representation of tag by letter M for ease of drawings.
Figure 38 - experiment set up
Axis Z-axis Y-axis X-axis
Max received power - Pmax -3dBm -5dBm -3dBm
Min received power - Pmin -5dBm -12dBm -21dBm
Power difference = Pmax-
Pmin
2dBm 7dBm 18dBm
Orientation sensitivity Insignificant Significant Extremely
significant
41 | P a g e
Minimum at Minimum at Minimum at
Table 5 - results of reader-tag received power based on different relative orientation
Table-5 shows the overall results of received tag signal power, based on different relative
orientation between the reader and tag. It is observed that for reader and tag product that are used,
the best orientation is when both reader and tag are aligned as shown in the initial experiment set
up, at any other orientation, signal weakened. The rate in which the signal degrade however, varies
by orientation axis. Referring to figures and results in table-5, X axis rotation is experimentally
shown to be the most sensitive orientation, with 18 dB difference between best and worse
orientation. Y- axis is slightly sensitive, while Z-axis is the least sensitive.
This results means that system designer should at best try to minimize possibility of X-axis
orientation. In addition to that, [60] has also performed similar experiment under human subjects
42 | P a g e
and conclude that parallel height between reader and tag will produce best detectability rate.
Moreover, students are modeled as cooperative subject under this project.
Equipped with these knowledges, two reader positions and necklace tag configuration is proposed.
Necklace tag is proposed as when tag is wear in this manner, tag orientation will most likely only
rotate around z-axis instead of y or x axis which may severely degrade the signal. As for the reader
location, two positions are proposed (see fig-39 and fig-40), in which both of them are placed at
expected value of tag height (1.1m). In the side configuration, reader may be placed closer to
subject than the front configuration (0.8m vs 1.3m). The reason is that if front view is placed any
closer than 1.3m, the door pathway may be blocked, hence side position has a read distance
advantage over the front configuration. However, the front position, due to its optimal orientation,
should have the best signal quality, hence reading performance.
Initial hypothesis is that side position may perform better as the read range will most likely
outweigh the orientation benefit of front position. But both positioning will be tested on actual real
class, and conclusion will be drawn through the experiment results.
Figure 39- side reader position
Figure 40 - front reader position
4.2 Moodle server/site
4.2.1 Installation and deployment
The latest Moodle version 3.1 is installed in one of the FYP numerical lab, after the XAMPP web
stack installation. After some basic configuaration of the server, the Moodle site is officially
43 | P a g e
deployed online – the PC hosting this Moodle site will from now on run countinuously, with
dynamic IP address of [59.191.194.32]. The MAIAAS Moodle site can now be accessed anywhere
and anytime through a browser with URL of http://59.191.194.32/moodle – of course one must
first have MAIAAS Moodle site username and password before it can be accessed. Snapshots of
MAIAAS log in page and front page are shown in fig-41 and fig-42.
Figure 41 - log in of MAIAAS Moodle server
Figure 42 - front page of MAIAAS Moodle server
44 | P a g e
4.3 Further development of attendance module
This section will present some of the additional developments and modifications of the Moodle
attendance module
4.3.1 Hardware abstraction layer
The newly introduced hardware abstraction layer is the layer that allows adaptable and flexible
hardware integration to the Moodle attendance module. This layer abstracted the Moodle related
implementation from the hardware side. The abstraction is achieved through the use of specific
hardware handler script, once record is sent to hardware handler, the Moodle related operations
will be taken care by the handler – fig-43 shows the illustration of this abstraction layer.
Figure 43 - hardware abstraction layer in MAIAAS
i
n
t
e
r
n
e
t
45 | P a g e
A set of functions library is written in order to help hardware implementer to write their hardware
handler. Operations such as getting list of students, current sessions, and updating database may
be executed through a simple function call. These functions are essentially the part that abstracted
the Moodle programing from the hardware. Hence hardware incorporator may integrate their
hardware into the Moodle attendance system simply by writing a hardware handler.
The abstraction layer therefore, allow the Moodle attendance system to virtually accepts any kind
of hardware for its attendance taking method. Significantly reduced the development time when
compared to traditional method which create specific attendance software for specific hardware.
For example, within a couple of hours, a hardware handler for face recognition method is
successfully written and tested. The face recognition hardware handler is written for another
student who works at face recognition method to identify students.
The following paragraphs is the description of what a hardware handler actually does.
Figure 44 - The five task of a hardware handler
1. ID matching
Depending on the identification hardware, the id in which the hardware reports will differ. For
example, UHF RFID will report the EPC-ID of the tag it reads, while barcode scanner will report
the barcode it reads, and face detection may report the face id. Hence, each handler script should
be tailored to handle specific hardware and match the hardware dependent ID to the corresponding
Moodle user ID. If a match is found, the student Moodle id is now known by the handler.
2. Get session
To obtain the specific session that the attendance record is targeted towards, the hardware must
provide its location information in the HTTP POST. By knowing the location, the handler can
46 | P a g e
uniquely identify the referred session by getting only the currently occurring session, that is taking
place at the given location information - since only one session can occur at any given time and
location, the combination of these two information can be used to unique identification of sessions.
But if no session is found – no session is registered under current time and the given location –
then the reported record will be ignored.
3. Data integrity checking
Before updating the database, the handler must perform a series of data checking. It starts first
with extracting the list of registered students under the identified session, to see if the student
Moodle id is in the list. If it is not, the record will be ignored. If it is in the list, the handler will
further checks if attendance record of this student has been previously taken under this session
(perhaps by other hardware, or by manual computation). If there is already a record of the student’s
attendance, then it will be ignored to prevent multiple ambiguous records.
4. Attendance record preparation
In this stage, the attendance related information is structured into an attendance record object. The
primary information includes the student Moodle id, session id, time stamp, and status id. The
Moodle student id and session id are obtained from previous stages, while the time stamp is taken
from current time (time in which record is processed). The status id – the information that
determine the status of the attendance (present or late) – meanwhile will be marked based on the
relative point in time that the student attendance is recorded with respect to the duration of the
class. If the student come in the early phase of class (before 1/3 of class duration ends), then the
attendance record is marked as present. Any later than that, the late status will be given. The fig-
45 illustrate the status distribution based on class duration.
Figure 45 - attendance status distribution based on class duration
47 | P a g e
5. Update database
After the attendance record object is filled with the relevant information, the handler will then
insert the record to the relevant attendance records table – attendance_log. Afterwards, it will
update the last taken information of the session, and update student grade, since some attendance
statuses may have grade.
For each individual attendance record, these five stages (A to E) are repeated by the handler. Fig-
47 shows the example implementation of this general hardware handler task in UHF RFID handler
flow chart.
4.3.2 Auto-mark absent
Up to this stage, the system has been equipped with automatic attendance recording of present and
late students, but absent and excused students must still be manually computed. For the excused
case, this may not be an issue. However, there may be a large number of absent students for any
particular class, and manual computation of their attendance may be a tedious work.
For this reason, a php script that automate attendance marking of absent student is written. This
script will be executed daily on 11.59 PM midnight. When the script is run, it will mark all the
students whose attendance have not been taken, in the sessions that they supposed to be in today
– fig-46 shows the sample result of this operation.
Figure 46 – Auto-mark absent results snapshot
48 | P a g e
Figure 47 - UHF RFID hardware handler flowchart
A
B
C
49 | P a g e
4.4 System integration
After completing individual development of the hardware and software components, the next stage
is to combine them into a single integrated system. Successful integration means that the remotely
located UHF RFID system is able to update the attendance records through internet connection.
Fig-48 shows the reporting method that URA software provide to the readers to send the read
results through HTTP POST method – in our case, the URL is
http://59.191.194.32/moodle/mod/attendance/HTTP_POST_RFID_Handler.php. Fig-49 shows
the sample of automated attendance recording from the remote UHF RFID read results.
Figure 48 - HTTP POST method of reporting in URA
Figure 49- snapshot of remote attendance recording of UHF RFID
At this stage, the Moodle Adaptive Intelligent Automated Attendance System has finally come out
as a product that is ready to be tested in the real world implementation.
50 | P a g e
Chapter 5
System Testing and Evaluation
This chapter is devoted to present and discuss the testing and evaluation of the final system in real
class implementation. It starts by providing background of the experiment, followed by
presentation and discussion of the results, and then conclusion of the test.
5.1 Real class system testing
5.1.1 Aim
The real class system testing results will be used to characterized the hardware performance, and
determine optimum reader placement for attendance system application. In addition, it will also be
used to evaluate the reliability performance of the attendance system. Attendance system that is
highly reliable therefore is often associated with a well devised foolproof mechanism. On the other
hand, low degree of reliability refers to the system that produce large number of false data, such
as marking absent student as present, and/or not capturing the attendance of presence student.
5.1.2 Definition
Several terms related to the experiment will be defined here.
The participants are classified into four type of subjects:
Cooperative subjects – are the students that carry their tags under exposed condition. This
include wearing the tag as instructed, carrying on their hand, or waving their tags to the
reader.
Partially cooperative subjects – are the subjects that carry their tags under hidden
condition. This include tags that are stored inside the bag, pencil case, or paper folder.
Uncooperative subjects – are the subjects that do not carry their tags at all.
Absent subjects – are the subjects that do not come to the session.
The definition of reliability we used refers to the rate in which the system accurately reports the
actual attendance. High degree of reliability means the records that the system reports are
51 | P a g e
congruent to the actual presence of students in classroom. This measures is calculated using the
following expression
𝐴𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 =
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 𝑎𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑐𝑜𝑟𝑑𝑠
𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑎𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑐𝑜𝑟𝑑𝑠
5.1.3 Experiment details
5.1.3 Moodle preparation
Before the physical world experimentation, the Moodle virtual environment must be set to mimic
the real class environment – this refers to registering students, creating a course, assigning a
lecturer, publishing lecture sessions, and incorporating attendance feature into the course. The
exact implementation of these procedures are left out for simplicity, but the net effect is that the
Moodle environment now contain a course called “How to roll a dice”, with enrolled students
corresponding to actual students, a lecturer assigned to the course, and lecture sessions whose time
and location are matched to the actual sessions. Lastly, the attendance feature is also activated in
the course.
5.1.3 Real class environment set up
The experiment will be conducted in one of Electrical and Computer System (ECSE) engineering
course, happening in Monash University Malaysia, during week 11 to week 12 of the second
semester, 2016. The system will only be tested on lecture sessions which contains largest number
of students – four lecture sessions in total.
Students participation in the testing activities is by voluntary basis. A broad cast email is sent to
all students registered in the course, querying for their interest and willingness to participate in this
experiment, where RM 25 (which later increased to RM 50) worth prize will be given to a
randomly selected winner from the set of participating students, at the end of testing period.
Students may decline the offer by replying NO, or accept it by replying OK. If no reply is received
4 days after the email is sent, their new UHF-RFID tag will still be printed, but will be discarded
if they later prefer not to get involve in the experiment. Students are given the freedom to choose
a picture printed for their tag, which else will be printed with random pictures (scenery, airplanes,
outer space, etc.,).
52 | P a g e
In class announcement and tag distribution are performed one week before the experiment start (in
week 10). A short briefing is given to inform the students about the aim of experiment, how the
tag should be carried, and reminder of the RM 50 prize, before requesting their willingness to
participate. In total, 35 students agreed to participate and all tags are distributed before the end of
week 10.
Participants are asked to wear the necklace-form tag (see fig – 50) before they enter the lecture
sessions in week 11 and week 12. But, once participants are seated, they may take off the tag and
store it as they are now beyond the read-zone of the reader. Moreover, participants are explicitly
informed that reading operation is meant to be automatic, hence they are not required to
intentionally place the tag close to the reader whenever they enter the class.
As one of the aim of the tests is to determine optimum reader positioning, within the four sessions,
both front and side configurations are tested (1 session for front, and 3 sessions for side). The
experiment setup that is previously shown in chapter 4 is shown again for ease of referencing.
Figure 50- side reader position
Figure 51 - front reader position
During every actual lecture session, the developer of the system will come 10 mins before the class
starts to set up the system. Once instantiated, it will be left as it is until the end of the session, for
it to automatically captures the students’ attendance. Meanwhile, manual attendance taking
(human recognition base), will also be performed as a reference for the accurate attendance
records.
53 | P a g e
At the end of the evaluation, the system reported records will be matched to the reference records
to evaluate its performance (Attendance reliability rate and UHF detection rate). Finally, analysis
and discussion of the performance will be given in the report.
Location Monash University Malaysia
Number of participants 35 students of single course
Duration 1-week tag distribution + 2-weeks system testing
Table 6 - Attendance system testing details summary table
5.1.4 Results and discussion
The results of the four sessions testing is tabulated in table-7 with the individual session attendance
reliability calculated and plotted in fig-52. None of the absent subjects are mistakenly recorded as
present or late, and uncooperative subject has been excluded from the experiment evaluation. The
attendance reliability formula can then be refined into:
𝐴𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 =
𝑎𝑏𝑠𝑒𝑛𝑡 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 + 𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑎𝑛𝑑 𝑝𝑎𝑟𝑡𝑖𝑎𝑙 𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠
𝑡𝑜𝑡𝑎𝑙 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 𝑒𝑥𝑐𝑙𝑢𝑑𝑖𝑛𝑔 𝑢𝑛𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠
The result shows that the attendance system reliability varies from lowest at 94% to highest at
100% with average of 98%. This means that at least for this small sample experiment (123
samples), the attendance system has achieved his initial reliability requirement (>95%).
Front Side Side Side Total
Session
1
Session
2
Session
3
Session
4
Absent subjects 11 25 23 17 76
Detected cooperative and partial
cooperative subjects 15 8 8 13 44
Undetected cooperative subjects 1 0 2 0 3
Uncooperative subjects 8 2 2 5 17
54 | P a g e
Total subjects excluding
uncooperative subjects 27 33 33 30 123
Attendance reliability 96% 100% 94% 100% 98%
Table 7-attendance records summary of MAIAAS real class testing
Figure 52 – plot of MAIAAS attendance reliability across sessions
The table-8 shows the same experiment results, categorized in term of front and side reader
positions. Our interest in this part, is to evaluate performance of the two different configurations
and conclude on which settings may have better detection performance. Because of that, only the
detected and undetected data will be relevant in this evaluation.
Based on the overall detection rate (94%) and undetected cooperative subject percentage (7%),
both configurations performs equally well. However, when detection contribution is analyzed, side
position reader actually has much higher chance of detecting hidden tags (partial cooperative
subject).
This suggest that side configurations allow reader to penetrate deeper to objects such as bags,
pencil case, or pocket, to communicate with the tag. The reason behind this may be due to the read
96%
100%
94%
100%
98%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Session 1 Session 2 Session 3 Session 4 Average
Attendance reliability accross sessions
55 | P a g e
distance advantage that side configuration has (0.5m closer). The side position reader signal
therefore contains much more power budget to penetrate obstructing objects.
Front
position
Side
position
Detected cooperative subjects 14 18
Detected partial cooperative subjects 1 11
Undetected cooperative subjects 1 2
Detection rate 94% 94%
Cooperative subject contribution 87.5% 58.1%
Partial cooperative subject contribution 6.3% 35.5%
Undetected cooperative subjects percentage 7% 7%
Table 8 - Comparison table between front and side configurations
Figure 53 - comparison of side and front reader configuration in term of their detection rate
87.5%
58.1%
6.3%
35.5%
0.0%
10.0%
20.0%
30.0%
40.0%
50.0%
60.0%
70.0%
80.0%
90.0%
100.0%
Front Side
Comparison of side and front reader
detection performance
Cooperative subject contribution Partial cooperative subject contribution
94% 94%
56 | P a g e
5.1.5 Experiment conclusion
As a conclusion of this experiment, the MAIAAS has meet its required reliability (>95%). And for
cooperative subject model, both reader configuration is expected to perform equally well. But
when subject is a mixed of cooperative subject and partially cooperative subject, side reader
position is suggested for its better penetration ability.
57 | P a g e
Chapter 6
Conclusion and Future work
6.1 Conclusion
As a summary, this project has produced a functional, reliable, and automated attendance system
abbreviated MAIAAS. It has introduced as its first automated attendance taking method which is
based on UHF RFID technology, and its attendance management system hosted inside Moodle
system.
The Moodle attendance module has been modified to incorporate a new hardware abstraction
layer, with a set of tool box written to help hardware implementer write their hardware handler
script. Through this additional layer, the attendance system allows flexible implementation of
attendance identification methods, making it open and adaptable to future innovations. In addition
to that, a script that automate marking of absent students has been written and scheduled to run on
daily basis.
The complete attendance system has been successfully integrated and then brought to test under
real class implementation. Through this test, the attendance system has been proven to exceed its
reliability performance (98%>95%). Moreover, the results of the experiment also suggest that side
reader configuration performs better in detecting attendance of partial cooperative students. As for
cooperative subjects, the experiment does not show any performance discrepancy between front
and side configuration. The result from this experiment also further conclude that the attendance
system has achieved its main goals – reliable and automated – and is ready to be implemented in
real class system with larger number of students over much longer period.
58 | P a g e
6.2 Future work
As with most products, this attendance system also is open to future improvements that may be
approached from various angles. It may be optimized through its efficient coding, or provision of
additional user friendly features. But one of the major improvement that may be contributed to the
attendance system is the capability of the attendance system to provide directional information
(coming out/in to the class) in each of its attendance record.
When such information is lost, significant burden is posed on the practicality of the attendance
system. The system lacks of its data integrity checking and suffers from possible missed read.
Current attendance system is guaranteed to work properly only when students come within the
specified session time (early comer will not be detected) and will come through the door in which
the reader is located (since only single door is covered).
However, due to cost constraint, the project is limited to single antenna UHF RFID system. Such
system only covers single entrance/exit door, and is unable to reliably interpret directional
information. To fully understood how and why directional information really matters, the
following section will provide some erroneous scenarios due to the absent of this information., and
later shows how incorporation of such information may resolve these issues.
6.2.1 Problems associated with unavailability of directional information
Consider a case when a student intentionally come at early part of the class, but leaves as soon as
the attendance is marked as present by the system. Current system logic, due to its absent of
directional information, does not have any foolproof method to tackle this incidence.
Moreover, the system will not capture the attendance of students that comes earlier than scheduled
session time, and will also not capture the attendance for students that do not leave the class
between two consecutive sessions. Let us first discuss the case for early coming students. The
RFID read handler has been programed to only process incoming records, based on registered
session time. For example, if a student is registered under 08:00 session, let’s call it session 1, but
decide to come earlier at 07:55, the attendance record will not be processed as RFID handler
checked that no class is occurring at 07:55.
59 | P a g e
Figure 54 - Session occupancy diagram of particular class
An intuitive solution to this will be to extent the session to have certain tolerance time. To be more
specific, the RFID handler should assume that student might come to class at time (tstart – ttolerance)
to tend. This modification will solve the missed read issue for early comer students, but at a cost of
possible misinterpretation problem. For an example, a student named Joko (a male) is registered
under both session 1 and session 2. As he enjoys session 1 lecture, he decides to come early and
his attendance is recorded as present under session 1. But, five minutes before session 2 starts – at
tolerance region of session 2 – he decides to leave the class as he often found session 2 lecture
rather boring. But since the RFID record does not have directional information, the record that is
read when Joko exits the door, will instead be interpreted as him coming for session 2. This
example indicates that session time tolerance will not be useful without the directional information.
Figure 55 - session occupancy diagram of particular class with tolerance time
Now consider the second case when Joko, instead of leaving the class when session two about to
start, decides not to leave the class until session 2 ends. As in previous scenario, he will be correctly
detected as present under session 1, but since he never leaves the class until session 2 ends, the
attendance system will have no record of him under session 2; he will instead be marked as absent.
6.2.2 Solution
These issues can be solved when the attendance system incorporates directional information on
each read data. Most likely, this improvement will come from the hardware level. For UHF RFID
60 | P a g e
technology for example, there are various methods and algorithms that can be employed to localize
RFID tag in a 2D plane, hence obtain its direction; however, all of the approaches will require at
least two antennas [32].
Upon integration of directional information in its read data, the system can attach a location state
information in each student, which will allow accurate tracking of students’ attendance.
At any given time, students can either be in the state of In Class xx-xx-xx, or Outside of Class, and
the transition of their state will depend on their current state and direction information. For
example, if a student is currently at state of In Class xx-xx-xx, and her action of exiting a class is
reported captured by the attendance system, then the state of the student will be changed to Outside
of Class; similar logic can be applied to the case when students come from outside into a class –
fig-56 shows the state diagram representation of this scheme.
Figure 56 - state diagram of student location
Let see how this state information actually helps to improve the attendance system. Consider back
the scenario in which students leaves immediately after the system mark present attendance. By
knowing the location state of the students, the attendance system will no longer restricted to work
based on the assumption that students will attend the whole session once detected present. Instead,
a timer can be used to accurately track the amount of time in which students is In Class during a
particular session. When the student leaves the class, timer will be stopped, and only resumed if
the students ever comes back before the session end. The final status (presence, late, very late, or
absent) will then be determined based on the portion of time in which the students is in class xx-
61 | P a g e
xx-xx state, where xx-xx-xx should match the location of the registered session – so that timer
does not count the occasion when students enter other irrelevant class other than the registered
class.
Moreover, with the state information, the attendance system will have no issues of detecting early
comer, and will no longer have misinterpretation problem for students with consecutive sessions.
Taking Joko back into the example, when he came early before the session start, the attendance
will switch his state to in class xx-xx-xx, and timer will start as soon as the actual session time
start. Now consider when he decides to skip his second session which starts right after the first
session in the same location. Since his state will change into Outside of Class once he exits, the
attendance system will not misinterpret him as coming for the second session.
As for the case when he does not leave between two consecutive sessions, since his state will
remain as in Class xx-xx-xx, the attendance system can automatically mark his attendance once
session 2 starts, without needing him to be detected for the second time.
After these case analysis, it becomes increasingly clear how the system may improve its robustness
and practicality when directional information can be integrated. One approach can be taken
through the use of multiple antennas UHF RFID system, which is employed with simple
localization algorithm to provide directional information.
62 | P a g e
Chapter 7 Appendices
7.1 Justification of EPC C1G2 parameter settings
7.1.1 Tari
The tari value is defined as the length of binary ‘0’ pulse-interval-encoded (PIE) symbol, from the
reader to tag. The symbol for binary ‘1’ can be as long as 1.5 to 2 tari – fig-57 shows the list of
possible PIE symbols. Tari duration can be as long as 6.25 to 25 μs, but normally 6.25 μs, 12.5 μs
and 25 μs are the standard values used [11]. These standard tari values correspond to reader to tag
symbol rate of 160 kbps, 80 kbps, and 40 kbps respectively.
As a result, shorter tari provide higher data rate from reader to tag, but at the expense of wider
bandwidth component. Fig-58 shows the simplified spectral component of single
reader/interrogator in dense reader environment, which the spectral width of the reader is inversely
proportional to the tari values – shorter tari resulting in wide spectral component. To see the
importance of the width of spectral component coming from a single reader, consider a dense
reader situation where each reader is allocated a specific channel of size 200kHz to operate on.
The readers will occupy alternate channel in order to minimize interference, i.e., channel 1
occupied, channel 2 empty, channel 3 occupied, and so on. The back scattered tag signals, will
normally fall in the range of approximately 200 kHz below or above the reader carrier frequency.
Fig-59 then compares this scenario in the case of using tari of 25 μs, and tari of 12.5 μs. The tag
signal whose power is normally around -50 dB lower than reader signal can still be detected in the
case of tari = 25 μs. When tari is reduced to 12.5 μs, the spectral component of individual reader
widens and interfere at more significant power. The tag signal in this case is severely interfered
and is unlikely to be detected.
This example illustrates that tari values is an important parameter that affects the data rate of reader
to tag, as well as interference level of the communication channel. This consideration however, is
only relevant to dense reader environment, where inter reader interference can significantly
degrade the overall system performance. For single case reader system, tari values can be
minimized to lowest value (6.25 μs) to optimize data rate.
63 | P a g e
In our case, Thing Magic software does not allow configurations of tari values, nor it shows the
selected tari values. However, if configuration is possible, lowest tari values should be selected in
single reader system.
Figure 57- reader to tag PIE symbols
Figure 58 - spectral component of dense interrogator/readers with variable tari [11]
64 | P a g e
Figure 59 - spectral component of multiple readers operation using Tari = 25 Micro seconds, in alternate 200 kHz channel
spacing
Figure 60- spectral components of multiple reader operation using Tari = 12.5 Micro seconds, in alternate 200 kHz channel
spacing
65 | P a g e
7.1.2 Encoding scheme
There are four kind of encodings that EPC C1G2 specifies for the tag signal encoding – FM0,
Miller-modulated Subcarrier (MMS) with M =2, 4, and 8. Depending on the encoding scheme, the
data rate and error performance will differ. The symbol generation for different type of encoding
will not be discussed as such information is irrelevant to decision making process, their
performance criteria (data rate and error probability) will instead be thoroughly described.
Highest data rate is obtained from FM0 encoding, followed by MMS with M = 2, 4, and then 8.
FM0 has a data rate equal to the Back Link Frequency(BLF) of the tag – BLF will be explained in
the following section. While for MMS encoding, its data rate scale down as the number of M
increases, with data rate equal to 𝐵𝐿𝐹
𝑀⁄ .The error performance on the other hand, follow the
inverse sequence of data rate ranking. Lowest probability of error is found in MMS with M = 8,
followed by M =4, M=2, and then FM0.
To understand the reason behind this encoding performances, we will first look at the time domain
symbol of each encoding scheme pictured in fig-61, which shows the four bit symbols of each
encoding scheme for BLF of 240 kHz. It is clearly observable from the diagram how different
encoding has different symbol period hence bit rate. FM0 with the shortest symbol period occupy
4.2μs per symbol, and this duration keeps doubling as the encoding changes from MMS with M =
2, 4, and 8. With the increase in symbol rate, the data rate then decreases at the inverse relation,
corresponding to decrease in bit rate by half, from FM0, MMS – M = 2,4, and 8.
66 | P a g e
Figure 61- Time domain signal of different encoding schemes with BLF of 240kHz [11]
But the relationship between error performance and time domain symbol is not very direct.
Frequency spectrum analysis of the different encoding schemes gives a better intuition. Fig-62
compares the frequency spectrum of received signals using FM0 and MMS with M=8 with BLF
of 125 kHz. The graph clearly illustrates distinction in power concentration between the two,
where FM0 signal spectrum are spread across much wider bandwidth, while MMS – 8 has much
narrower signal spectrum. When the received signal is passed through the receiver band pass filter,
the filtered signal for MMS-8 will be mostly the tag signal component, hence resulting in high
Signal to Noise Ratio (SNR) and low error probability. The FM0 filtered signal on the other hand,
due to the scattered tag signal and larger noise component, the SNR will be lower and hence result
in higher probability of error.
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685
report_FYP_Nikko_23582685

More Related Content

What's hot

Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report.
Abu Kaisar
 
Mcsp 060 project guidelines july 2012
Mcsp 060 project guidelines july 2012Mcsp 060 project guidelines july 2012
Mcsp 060 project guidelines july 2012
Abhishek Verma
 
Student portal system application -Project Book
Student portal system application -Project BookStudent portal system application -Project Book
Student portal system application -Project Book
S.M. Fazla Rabbi
 
MSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPadMSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPad
Traitet Thepbandansuk
 
Dormitory management system project report
Dormitory management system project reportDormitory management system project report
Dormitory management system project report
Shomnath Somu
 
01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad
Traitet Thepbandansuk
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
Ashik Iqbal
 
DATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCEDATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCE
Swati Singh
 
AMIZONER: Final Report
AMIZONER: Final ReportAMIZONER: Final Report
AMIZONER: Final Report
Neil Mathew
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management System
Amit Gandhi
 
Software Project Report
Software Project ReportSoftware Project Report
Software Project Report
Jobayer Ahmmed
 
computer science internship report
computer science  internship reportcomputer science  internship report
computer science internship report
kaahwa Armstrong
 
Ignou MCA mini project report
Ignou MCA mini project reportIgnou MCA mini project report
Ignou MCA mini project report
Hitesh Jangid
 
Report 2
Report 2Report 2
Report 2
Raman Sharma
 
Airline management system
Airline management systemAirline management system
Airline management system
SH Rajøn
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management system
Suman Saurabh
 
online quiz application project presentation
online quiz application project presentationonline quiz application project presentation
online quiz application project presentation
GyanuRana
 
Quiz app (android) Documentation
Quiz app (android) DocumentationQuiz app (android) Documentation
Quiz app (android) Documentation
Aditya Nag
 
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation PortalCapstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Akshit Arora
 

What's hot (19)

Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report.
 
Mcsp 060 project guidelines july 2012
Mcsp 060 project guidelines july 2012Mcsp 060 project guidelines july 2012
Mcsp 060 project guidelines july 2012
 
Student portal system application -Project Book
Student portal system application -Project BookStudent portal system application -Project Book
Student portal system application -Project Book
 
MSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPadMSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPad
 
Dormitory management system project report
Dormitory management system project reportDormitory management system project report
Dormitory management system project report
 
01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
 
DATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCEDATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCE
 
AMIZONER: Final Report
AMIZONER: Final ReportAMIZONER: Final Report
AMIZONER: Final Report
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management System
 
Software Project Report
Software Project ReportSoftware Project Report
Software Project Report
 
computer science internship report
computer science  internship reportcomputer science  internship report
computer science internship report
 
Ignou MCA mini project report
Ignou MCA mini project reportIgnou MCA mini project report
Ignou MCA mini project report
 
Report 2
Report 2Report 2
Report 2
 
Airline management system
Airline management systemAirline management system
Airline management system
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management system
 
online quiz application project presentation
online quiz application project presentationonline quiz application project presentation
online quiz application project presentation
 
Quiz app (android) Documentation
Quiz app (android) DocumentationQuiz app (android) Documentation
Quiz app (android) Documentation
 
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation PortalCapstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
 

Viewers also liked

FYP1 Progress Report (final)
FYP1 Progress Report (final)FYP1 Progress Report (final)
FYP1 Progress Report (final)
waqas khan
 
Attendance Management System
Attendance Management SystemAttendance Management System
Attendance Management System
Flexible Applications CJSC
 
2nd Revised FYP Reporting
2nd Revised FYP Reporting2nd Revised FYP Reporting
2nd Revised FYP Reporting
Burhan Ahmed
 
Smartsuite Software - Web based Time Attendance Software
Smartsuite Software - Web based Time Attendance SoftwareSmartsuite Software - Web based Time Attendance Software
Smartsuite Software - Web based Time Attendance Software
BioEnable Technologies Private Limited
 
Final Year Project Report
Final Year Project ReportFinal Year Project Report
Final Year Project Report
ChongKit liew
 
Web based attendance mgt system using RFID
Web based attendance mgt system using RFIDWeb based attendance mgt system using RFID
Web based attendance mgt system using RFID
prachi Saindane
 
Improving the Energy Efficiency of Fota Wildlife Park
Improving the Energy Efficiency of Fota Wildlife ParkImproving the Energy Efficiency of Fota Wildlife Park
Improving the Energy Efficiency of Fota Wildlife Park
Conor Dorman
 
Main project report on GSM BASED WIRELESS NOTICE BOARD
Main project report on GSM BASED WIRELESS NOTICE BOARD Main project report on GSM BASED WIRELESS NOTICE BOARD
Main project report on GSM BASED WIRELESS NOTICE BOARD
Ganesh Gani
 
Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)
Afnan Rehman
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Parthik Poshiya
 
GSM BASED e-NOTICE BOARD final year project report
GSM BASED e-NOTICE BOARD final year project reportGSM BASED e-NOTICE BOARD final year project report
GSM BASED e-NOTICE BOARD final year project report
Venkatesh Agnihotri
 
final year project report
final year project reportfinal year project report
final year project report
Anuj Kumar
 
Java Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project PresentationJava Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project Presentation
Ibrahim Abdel Fattah Mohamed
 
School attendance management system (sams)
School attendance management system (sams)School attendance management system (sams)
School attendance management system (sams)
gajananp2008
 
15.project attendence managemnt system
15.project attendence managemnt system15.project attendence managemnt system
15.project attendence managemnt system
Haseeb Nasir
 
Student attendance system using barcode
Student attendance system using barcodeStudent attendance system using barcode
Student attendance system using barcode
Ganeshgg Ganesh
 
Wireless Gesture Controlled Robot (FYP Report)
Wireless Gesture Controlled Robot (FYP Report)Wireless Gesture Controlled Robot (FYP Report)
Wireless Gesture Controlled Robot (FYP Report)
Muhammad Ahkam Khan
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
Soumili Sen
 
Hospital management final report presentation
Hospital management final report presentationHospital management final report presentation
Hospital management final report presentation
Md Abul Kalam Azad
 
Attendance monitoring system
Attendance monitoring systemAttendance monitoring system
Attendance monitoring system
Jonabelle Delarosa
 

Viewers also liked (20)

FYP1 Progress Report (final)
FYP1 Progress Report (final)FYP1 Progress Report (final)
FYP1 Progress Report (final)
 
Attendance Management System
Attendance Management SystemAttendance Management System
Attendance Management System
 
2nd Revised FYP Reporting
2nd Revised FYP Reporting2nd Revised FYP Reporting
2nd Revised FYP Reporting
 
Smartsuite Software - Web based Time Attendance Software
Smartsuite Software - Web based Time Attendance SoftwareSmartsuite Software - Web based Time Attendance Software
Smartsuite Software - Web based Time Attendance Software
 
Final Year Project Report
Final Year Project ReportFinal Year Project Report
Final Year Project Report
 
Web based attendance mgt system using RFID
Web based attendance mgt system using RFIDWeb based attendance mgt system using RFID
Web based attendance mgt system using RFID
 
Improving the Energy Efficiency of Fota Wildlife Park
Improving the Energy Efficiency of Fota Wildlife ParkImproving the Energy Efficiency of Fota Wildlife Park
Improving the Energy Efficiency of Fota Wildlife Park
 
Main project report on GSM BASED WIRELESS NOTICE BOARD
Main project report on GSM BASED WIRELESS NOTICE BOARD Main project report on GSM BASED WIRELESS NOTICE BOARD
Main project report on GSM BASED WIRELESS NOTICE BOARD
 
Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)
 
GSM BASED e-NOTICE BOARD final year project report
GSM BASED e-NOTICE BOARD final year project reportGSM BASED e-NOTICE BOARD final year project report
GSM BASED e-NOTICE BOARD final year project report
 
final year project report
final year project reportfinal year project report
final year project report
 
Java Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project PresentationJava Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project Presentation
 
School attendance management system (sams)
School attendance management system (sams)School attendance management system (sams)
School attendance management system (sams)
 
15.project attendence managemnt system
15.project attendence managemnt system15.project attendence managemnt system
15.project attendence managemnt system
 
Student attendance system using barcode
Student attendance system using barcodeStudent attendance system using barcode
Student attendance system using barcode
 
Wireless Gesture Controlled Robot (FYP Report)
Wireless Gesture Controlled Robot (FYP Report)Wireless Gesture Controlled Robot (FYP Report)
Wireless Gesture Controlled Robot (FYP Report)
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Hospital management final report presentation
Hospital management final report presentationHospital management final report presentation
Hospital management final report presentation
 
Attendance monitoring system
Attendance monitoring systemAttendance monitoring system
Attendance monitoring system
 

Similar to report_FYP_Nikko_23582685

Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance system
JigarPatel597
 
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
Deepak Shivdutt Kandpal, PMP
 
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
Deepak Shivdutt Kandpal, PMP
 
MBA Thesis-IoT-DeepakShivduttKANDPAL
MBA Thesis-IoT-DeepakShivduttKANDPALMBA Thesis-IoT-DeepakShivduttKANDPAL
MBA Thesis-IoT-DeepakShivduttKANDPAL
Deepak Shivdutt Kandpal, PMP
 
Documentation 140612091527-phpapp01
Documentation 140612091527-phpapp01Documentation 140612091527-phpapp01
Documentation 140612091527-phpapp01
Mahesh Jadhav
 
An Android Communication Platform between Hearing Impaired and General People
An Android Communication Platform between Hearing Impaired and General PeopleAn Android Communication Platform between Hearing Impaired and General People
An Android Communication Platform between Hearing Impaired and General People
Afif Bin Kamrul
 
report
reportreport
report
Tanvir Ahmed
 
Design and Development of a Knowledge Community System
Design and Development of a Knowledge Community SystemDesign and Development of a Knowledge Community System
Design and Development of a Knowledge Community System
Huu Bang Le Phan
 
raju
rajuraju
Digital marketing strategy of Export Unit
Digital marketing strategy of Export UnitDigital marketing strategy of Export Unit
Digital marketing strategy of Export Unit
Manish Mer
 
WSO2 Internship Report
WSO2 Internship ReportWSO2 Internship Report
WSO2 Internship Report
Ujitha Iroshan
 
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
Mohamed Marei
 
Object and pose detection
Object and pose detectionObject and pose detection
Object and pose detection
AshwinBicholiya
 
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Osama Salaheldin
 
Apartment Management System REport.docx
Apartment Management System REport.docxApartment Management System REport.docx
Apartment Management System REport.docx
WorkStation12
 
Summer Training Report
Summer Training ReportSummer Training Report
Summer Training Report
Aalap Valia
 
Internship Report
Internship ReportInternship Report
Internship Report
Buddhima Wijeweera
 
Abrek_Thesis
Abrek_ThesisAbrek_Thesis
Abrek_Thesis
Natascha Abrek
 
Analyzing and implementing of network penetration testing
Analyzing and implementing of network penetration testingAnalyzing and implementing of network penetration testing
Analyzing and implementing of network penetration testing
Engr Md Yusuf Miah
 
Portfolio investment diversification.pdf
Portfolio investment diversification.pdfPortfolio investment diversification.pdf
Portfolio investment diversification.pdf
SalmanKhan222894
 

Similar to report_FYP_Nikko_23582685 (20)

Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance system
 
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
Smart & Sustainable World using Internet of Things (IoT) for Industrial Autom...
 
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
Smart and Sustainable World using Internet of Things (IoT) for Industrial Aut...
 
MBA Thesis-IoT-DeepakShivduttKANDPAL
MBA Thesis-IoT-DeepakShivduttKANDPALMBA Thesis-IoT-DeepakShivduttKANDPAL
MBA Thesis-IoT-DeepakShivduttKANDPAL
 
Documentation 140612091527-phpapp01
Documentation 140612091527-phpapp01Documentation 140612091527-phpapp01
Documentation 140612091527-phpapp01
 
An Android Communication Platform between Hearing Impaired and General People
An Android Communication Platform between Hearing Impaired and General PeopleAn Android Communication Platform between Hearing Impaired and General People
An Android Communication Platform between Hearing Impaired and General People
 
report
reportreport
report
 
Design and Development of a Knowledge Community System
Design and Development of a Knowledge Community SystemDesign and Development of a Knowledge Community System
Design and Development of a Knowledge Community System
 
raju
rajuraju
raju
 
Digital marketing strategy of Export Unit
Digital marketing strategy of Export UnitDigital marketing strategy of Export Unit
Digital marketing strategy of Export Unit
 
WSO2 Internship Report
WSO2 Internship ReportWSO2 Internship Report
WSO2 Internship Report
 
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
Mohamed Marei 120126864 Dissertation Design and Construction of Hardware Add-...
 
Object and pose detection
Object and pose detectionObject and pose detection
Object and pose detection
 
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
 
Apartment Management System REport.docx
Apartment Management System REport.docxApartment Management System REport.docx
Apartment Management System REport.docx
 
Summer Training Report
Summer Training ReportSummer Training Report
Summer Training Report
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Abrek_Thesis
Abrek_ThesisAbrek_Thesis
Abrek_Thesis
 
Analyzing and implementing of network penetration testing
Analyzing and implementing of network penetration testingAnalyzing and implementing of network penetration testing
Analyzing and implementing of network penetration testing
 
Portfolio investment diversification.pdf
Portfolio investment diversification.pdfPortfolio investment diversification.pdf
Portfolio investment diversification.pdf
 

report_FYP_Nikko_23582685

  • 1. Moodle Adaptive Intelligent Automated Attendance System based on UHF-RFID technology Final Year Project Report School of Engineering October, 2016 Nikko Hermawan – 23582685 Supervised by Mr. Nader Kamrani Dr. Mark Ng Submitted in partial fulfillment of the requirements of the degree of Bachelor of Engineering
  • 2. This page is intentionally left blank.
  • 3.
  • 4. This page is intentionally left blank
  • 5. To my mother and father, who have restlessly supported me throughout my life journey
  • 6. This page is intentionally left blank.
  • 7. i | P a g e Acknowledgement This project has been a long journey for me, remembering all the process and moments since the beginning, I now realized that it is due to others involvements and contributions, I have the strength to face the challenges, to keep getting up whenever I fall. And it is because of them, the project has surpassed the obstacles and comes out as a worthy product. I thank deeply from my most inner heart to Mr.Nader Kamrani, who has guided me, supported me, and believed in me. As a mentor, he teaches me to have confidence in myself. There have been counteless incidents where I feel like giving up, complained to him, and all he said is “One step at a time, I know you can do it, just do it one step at a time”. This simple reminder has helped me pass trhough some of the darkest moment in this journey. As a friend, I am grateful that we are able to share many things, ranging from statistics, politics, religions, and families. These conversations definitiely been much more enjoyable than the technical discussions. I would also thank Dr. Mohamed Hisham Jaward, who had shared his technical expertise, notifying my mistakes, and also for his time for casual conversation whom we often had together with Mr.Nader. I also thank Dr.Mark Ng for his expert input during the planning phase of this project. I thank Ms.Regina, Ms. Liang, Ms.Vineetha, and Ms.Maggie whom have helped to provide ideas, advices, and insights to the project, which I would never have thought of. To our ECSE lab technicians, Mr. Raja Hasnan, Ms.Rozzie, and Mr.Manan, who have helped to process the hardware purchasing, and Mr.Suresh who has lend me a workspace during the first semester of the project, I really appreciate your assistance. To my classmates, I thanked them for their participations in the attendance system testing during the last two most hectic weeks of the semester. Without their involvement, there project will stay only as an idea without proofs. To the academic societies and researchers who have published their work on UHF RFID, and to Moodle developers who published their work under open software license, I thanked them for their
  • 8. ii | P a g e contributions. From their work has this project builds upon, the project is simply a resynthesize and integration of their results. Above all, I thank my parents for their trust, support, and love - xie xie mama, xie xie papa
  • 9. iii | P a g e Table of Contents Chapter 1 Introduction .................................................................................................................... 1 1.1 Aim and objectives ............................................................................................................... 3 1.2 Organization of report........................................................................................................... 4 Chapter 2 Literature Review........................................................................................................... 5 2.1 Identification technologies.................................................................................................... 5 2.1.1 Barcode .......................................................................................................................... 5 2.1.2 RFID .............................................................................................................................. 6 2.1.3 Biometric identification ................................................................................................. 7 2.1.4 Technology evaluation................................................................................................... 8 2.2 RFID overview.................................................................................................................... 10 2.2.1 RFID frequency division.............................................................................................. 12 2.2.2 RFID technology evaluation........................................................................................ 16 2.3 Web architecture................................................................................................................. 18 2.3.1 Web frameworks.......................................................................................................... 19 2.4 Moodle overview................................................................................................................. 21 2.4.1 Moodle concepts .......................................................................................................... 22 2.4.2 Moodle development and plug-ins ............................................................................... 25 2.4.3 Moodle Attendance plug-in ......................................................................................... 26 2.5 Summary............................................................................................................................. 30 Chapter 3 Project Overview and Methodology ............................................................................ 31 3.1 Project phases...................................................................................................................... 31 3.2 System architecture............................................................................................................. 33
  • 10. iv | P a g e Chapter 4 Results.......................................................................................................................... 34 4.1 UHF RFID hardware system .............................................................................................. 34 4.1.1 Hardware specification ................................................................................................ 34 4.1.2 Hardware based optimization ...................................................................................... 37 4.2 Moodle server/site............................................................................................................... 42 4.2.1 Installation and deployment......................................................................................... 42 4.3 Further development of attendance module........................................................................ 44 4.3.1 Hardware abstraction layer .......................................................................................... 44 4.3.2 Auto-mark absent......................................................................................................... 47 4.4 System integration .............................................................................................................. 49 Chapter 5 System Testing and Evaluation.................................................................................... 50 5.1 Real class system testing..................................................................................................... 50 5.1.1 Aim .............................................................................................................................. 50 5.1.2 Definition..................................................................................................................... 50 5.1.3 Experiment details ....................................................................................................... 51 5.1.4 Results and discussion ................................................................................................. 53 5.1.5 Experiment conclusion................................................................................................. 56 Chapter 6 Conclusion and Future work ........................................................................................ 57 6.1 Conclusion .......................................................................................................................... 57 6.2 Future work......................................................................................................................... 58 6.2.1 Problems associated with unavailability of directional information............................ 58 6.2.2 Solution........................................................................................................................ 59 Chapter 7 Appendices................................................................................................................... 62 7.1 Justification of EPC C1G2 parameter settings.................................................................... 62 7.1.1 Tari............................................................................................................................... 62
  • 11. v | P a g e 7.1.2 Encoding scheme ......................................................................................................... 65 7.1.3 Back Link Frequency (BLF)........................................................................................ 67 7.1.4 Q parameter, sessions, and target................................................................................. 68 7.2 Detailed evaluation matrix of web framework ................................................................... 71
  • 12. vi | P a g e Executive Summary Education institution at all level will benefits from having accurate attendance records of its students. Attendance taking process however, should not interfere with learning and teaching activity. Traditional paper based approach has been proven to be inefficient and ineffective way of taking attendance. The future desired attendance system is an automated attendance system that provide accurate attendance records without sacrificing face to face class time. This project proposed an attendance system that uses Moodle site and its attendance module as its web based attendance data management center. In the hardware side, UHF RFID technology is chosen as its input component. Hardware optimization is performed through reader configuration and tag orientation. And the Moodle attendance module is extended to enhance its functionality and adaptability. Hardware abstraction layer is introduced to the system, and automatic absent marking feature is also incorporated. Upon successful integration of hardware and software component, the attendance system is put into test in actual class implementation. The result of this experiment proof that the system is able to achieve high attendance record reliability (98%). It is also further conclude from the experiment that side reader configuration is a more optimum position for detecting attendance of partial cooperative subjects. With evidence from this real class testing, the attendance system is proven to satisfy its requirement – automated and reliable – and is ready to be implemented in actual classes.
  • 13. 1 | P a g e Chapter 1 Introduction The practice of attendance dates back since the invention of mechanical clock. In education setting, attendance taking starts as early as kindergarten school and last until higher degree institution. Recent nation-wide studies on US public schools suggest that chronic absenteeism, even at the early stage of education, may impinge the academic future of the students – low test grade and high chance of drop out [1]. Such correlation is consistently observed even at the university level [2]. Others studies further reported strong positive correlation between attendance rate and academic performances[3, 4]. These evidences seem to suggest that students’ attendance rate is one of the primary factor that determines their academic success. However, this notion is not obvious in public, including the students themselves. Due to the lack of accurate attendance data, there is not sufficient evidence to proof this correlation [1]. There may be various reasons for students to miss school or lecture session. These reasons can be generally accounted to one of the three needs: physiological needs, safety needs, and belonging needs. The physiological category includes reasons such as illness and economic restrictions. Students coming from poorer background, burdened with family responsibilities of taking care the younger or elders, added with unsatisfied basic needs such as water and clean food, are far more likely to miss schools and later results in drop out [1]. The safety category includes reasons such as avoiding bully, harassment, or any unsafe environment. The belonging category includes reasons that comes from the lack of incentives to attend the lectures. A study suggests that most undergraduates skipped class due to the lack of interest in the units or lecturer. Aside from illness, students commented that unit or lecture was boring, uninteresting, and useless [5]. Attendance records therefore can also act as a flag or early warning of such possible issues. In the first case, attendance records can help government to provide early financial or housing supports to economically deficit students. Similarly, attendance records also provide early warnings for
  • 14. 2 | P a g e teachers of possible harassment or bullying scenario that is happening to particular student. Additionally, students’ attendance rate can be used as a course or lecturer performance indicator in higher education context. It becomes increasingly clear now that accurate attendance record is an important asset to any education institution. The traditional paper based approach of taking attendance however, is highly time consuming, can be easily damaged, manipulated, and lost. A researcher has shown that approximately 10 secs/person will be needed for this manual process [6]. This indicates that a lecture with 100 students would need more than a quarter of an hour just for attendance taking – this is of course a significant waste of the valuable resources. The real challenge is therefore, to design an attendance system that accurately captures the students’ attendance without sacrificing the valuable face to face learning and teaching time, and this is the quest that this project aims to conquer.
  • 15. 3 | P a g e 1.1 Aim and objectives The aim of this project is to develop an innovative attendance system that: can overcome limitations of past attendance systems, can be sustainably used over a long term, can accurately captured actual attendance, and one that can provide simplifications to conventional attendance system – Such attendance system is then named as Adaptive Intelligent Automated Attendance System. To further refines the aims listed previously, a set of distinct objectives are identified and classified based on each adjective preceding the name of the attendance system – Adaptive, Intelligent, and Automated. Adaptive: - Open source – All the software components involved in the attendance system will be open source software. Such software is freely distributed and is technology independent. - Hardware technology independent - The attendance system software will be able to accommodate any attendance capturing method – Barcode, RFID, face detection, manual computation, etc., - Comply to standard – The use of UHF RFID standards will comply with local frequency regulation and global UHF RFID standards. Intelligent: - Reliable – The attendance records captured by the system must accurately reflects the actual presence of students (95% accuracy). - Specific – Marking of attendance records will be refined into specific status – Present, Late, Very Late, Absent, or Exempted - Secure – User authentication and permission management will be incorporated in the attendance system to prevent unauthorized attendance records viewing or manipulation. - Real time – The captured attendance records will be updated and reflected in the attendance web page within 10 seconds. Automated:
  • 16. 4 | P a g e - Web based – Attendance records will be stored, managed, and accessed through web based interfacing. - Autonomous record taking – The attendance system will work independently without the need of human interventions – in both recording process and data post processing. - Rich in features – Tasks which can be automated by software programming – such as generation of summary report, filtering, and data exporting - will be incorporated as additional features of the attendance system. 1.2 Organization of report Following this chapter, in chapter-2, the literature review of the hardware and software technologies are presented. Further background of the selected technologies are given to aid understanding and further discussion. Chapter-3, begins by showing the overview of chronological stages involved in this project. Then, complete design of the system architecture is shown and elaborated. In chapter-4, the results that this project has produced are presented from the hardware side, software side, and then their integration side. Chapter-5 is devoted to describe the real class system testing experiment aim, setup, and procedure, followed by the discussion of the results and some derived experiment conclusions. Chapter-6 then summarized the results and achievements of this project and further suggest a future work for the next system developer.
  • 17. 5 | P a g e Chapter 2 Literature Review This chapter is written to provide reader with the technology background and justification of the technology selection. It will start from the hardware technology, then the software or web stack technology. 2.1 Identification technologies 2.1.1 Barcode Out of all major identification technologies, barcode is widely acknowledged as the longest, most established, and cheapest identification technologies up to date [7]. Owing to the extensive research and development given to barcode over the last 50 years, it has high read reliability, easy to installed, with low cost software and hardware commercially available. Considering the ongoing cost for printing the barcode, single print cost as low as one tenth of a US cent. These set of advantages makes barcode stands out over its competitor in bulk tracking of low price products applications such as food supply chain. A major drawbacks of barcode unfortunately, is that it requires direct line of sight between the scanner and the printed code. Reading operations must be performed one at a time, and when the printed code is damaged or obstructed by dirt, reading operations become difficult if not impossible [8]. Figure 1 - sample of commercial barcode [www.ebay.com]
  • 18. 6 | P a g e 2.1.2 RFID Radio Frequency Identification (RFID), is in its simplest definition, an identification method that relies on radio frequency wave. In general, reading operations in RFID is simpler, faster, and more reliable compared to barcode, because it does not require line of sight between the reader and identification object – normally called tag [8], [9]. The read rate of High Frequency (HF) RFID has been reported to be as fast as 0.2 secs/read, compared to barcode at 2 secs/read – in fact, instantaneous readings can be achieved by Ultra High Frequency (UHF) RFID. Another important feature of this technology is that the identification object or the tag, is IC embedded. This means some information can be stored, with endless read/write operations. By incorporating some intelligence and encryption algorithm to the system, it provides virtually 100% reliable and safe read/write access to the tag [8], making RFID an attractive technology for high security consumer application such as access control and electronic purse. However, the initial investment associated with RFID technology – hardware, software, and installation – is relatively high and is often considered only in medium to long term projects (>1 years) [7]. It also suffers from inter-components interference, collisions can occur between readers, between readers to tag, and tags to reader [10]. The most common scenario of collision is between multiple tags and a reader – you might have also encounter this. Consider the case when your RFID based student ID, credit card, and apartment access card are jammed together in your wallet – assume they operate under same frequency. Then you wonder why the apartment gate RFID reader is unable to validate your access card, and complaint to the management after encountering multiple such occurrences – No, it is not the card. It is due to the cheap reader that does not employ anti-collision algorithm. And readers that has built in anti-collision algorithm, normally comes at a much higher cost – up to multiple fold times more expensive.
  • 19. 7 | P a g e Figure 2 - sample of commercial RFID reader [www.nairaland.com] 2.1.3 Biometric identification A more natural way to identify a person is of course, by characterizing certain traits of the person directly, such class of identification method is named as biometric identifications. Finger print identification, Iris detection, and face recognition are some of the well-known biometric identification technologies. Since identification process uses direct biological inputs, individuals are not required to possess any additional identification object. Every person in the world can be uniquely identified by these biometrics, hence making it the most foolproof method of authentication. The downside of this technologies comes from its slow process and high cost. Taking finger print as an example, scanning of a hundred personals will, on ideal situations, take 15 minutes to complete. Moreover, as physical contact is necessary in finger print identification, repetitive application of uncontrolled force from users would quickly damage the device and deteriorate the reading performance. Figure 3 - sample of commercial fingerprint scanner [findbiometrics.com]
  • 20. 8 | P a g e 2.1.4 Technology evaluation After looking at several examples of identification hardware, we can see that each technology offers different set of advantages and limitations. To select the most suitable alternative, a list of hardware capabilities considerations is created, and grouped into primary and tertiary consideration, the cost will not be considered at this stage. The primary considerations include identification speed, accuracy, and range, with higher value being more desirable – within this set, speed is given top importance, followed by accuracy, then range. Meanwhile, the tertiary considerations will be the powering method of the hardware, with Ethernet based powering preferred. Based on this sequence of prioritization, the speed performance is first evaluated. The identification time requirements for each hardware are gathered from the literatures, tabulated, and plotted for ease of comparison [6],33]. The time consumption is calculated based on the check-in & check-out attendance system, so each student will require two times identification for each session. Technology choice Time requirement Number of students 10 25 50 100 200 300 Time/ Time /person Time taken in seconds scan Manual entry 10 20 200 500 1000 2000 4000 6000 Finger print 7 14 140 350 700 1400 2800 4200 Barcode 2 4 40 100 200 400 800 1200 Near field - RFID 0.3 0.6 6 15 30 60 120 180 UHF - RFID 0 0 0 0 0 0 0 0 Table 1 – time consumptions of several alternatives attendance taking methods
  • 21. 9 | P a g e Figure 4 - Plot of various attendance taking technologies time performance The graph gives a summary of how much different attendance taking methods consume class time for attendance taking activities, against different number of students in the class. Three threshold lines (3mins, 10 mins, and 30 mins) are drawn to aid evaluation. Proceeding with the argument that any automated attendance system should not take more than 5% of class time (ideally zero time); only RFID technologies surpass this constraint.
  • 22. 10 | P a g e Proceeding from the first evaluation stage, the decision making is simplified to the choice between far field RFID or near field RFID. The RFID technology family can be subdivided into various type of implementation which further differentiate their performances and cost – near field or far field is simply one of the possible classification of RFID family. To know the various types of RFID, to understand how their performance differ, and to select the most appropriate RFID sub- class, an overview and discussion of RFID technology is given in the next section. 2.2 RFID overview Radio Frequency Identification (RFID), compactly defined, is any identification technology that operates under radio frequency range [7]. Fundamentally, RFID hardware consist of only two components – reader/interrogator and tag/transponder. In this report, the term reader and tag will be consistently used, but other aliases might be found on the literatures. Both tags and readers have antenna that functions as a gateway to transmit and receive signal. Traditionally, the antenna and processor unit are combined in a single reader, but most recent RFID readers separate them. This separation allows the RFID system to support more number of antennas and has better flexibility in antenna type, placement, and power. Figure 5- schematic of modern RFID hardware interaction [modified diagram from www.barcodesinc.com]
  • 23. 11 | P a g e The RFID technology family can be subdivided based on their operating frequency, working principle, type of tag, or communication protocol [11]. Fig-6 shows a sample of RFID family tree diagram. Figure 6- Family tree of RFID technology [12] The division between active and passive branch depends solely on the powering and communication method of the tag. Active tag has its own power source and radio circuitry – an active radio device – while passive tags relies on reader signal to power its circuitry. Due to this distinction, active tag has much higher reading range (up to 1km), compared to passive tag (up to 10m). In term of size, life time, and cost however, passive tag outweighs active tag by multiple fold. While 10 cents passive tag might last more than 5 years, $50 active tag has average life span of only one year. Moreover, because of the use of battery and radio circuitry, active tags are bulkier compared to passive tags – fig-7 shows a comparison of commercial active and passive tags. Figure 7 sample of commercial active tag (left) and passive tag (right)[11]
  • 24. 12 | P a g e As the added range of active tag is less attractive to attendance system application, passive tag is considered a much suitable solution, and because of this, further discussion of the technology will be constrained only to passive RFID system. 2.2.1 RFID frequency division Approaching the division of RFID technology from their operating frequency, RFID can fall into low frequency (LF), high frequency (HF), ultra-high frequency (UHF), or microwave frequency. However, description of Microwave frequency is excluded as this branch of RFID technology is considered still in its very infancy, having many unresolved issues, and is extremely costly, which makes microwave frequency RFID an unlikely option for the project. Figure-8 shows the frequency spectrum division from LF to Microwave. For RFID applications the commonly used frequency for LF, HF, UHF, and Microwave frequency are 125/134 kHz, 13.56 MHz, 860-960 MHz, and 2.4-2.45 GHz respectively [13],[11]. Depending on their operating frequencies, the power coupling method, reading range, and tag design will differ. Figure 8- RFID frequency spectrum [14] 2.2.1 Near field RFID (LF and HF) RFID that operates under LF and HF are the two subclass that can be categorized as near field RFID (<1m read range). These sub-classes use inductive coupling – also known as transformer coupling - to power and communicate between the reader and tag [13]. Shown in fig-9 is the illustration of how alternating magnetic field is used to inductively transferred the energy between the reader to tag. The capacitor Cr on the reader is carefully selected to match the inductance of the coil antenna, so that the antenna circuit will form resonant frequency only at the desired operating frequency, fig-10 shows the relative voltage around the resonant frequency [13].
  • 25. 13 | P a g e Because of that, LF and HF have different resonant frequency and their operations will not interfere each other, but at the same time, is incompatible to each other – i.e., LF reader cannot be used to read HF tag and vice versa. Figure 9- Schematic of inductive coupling power transfer between reader and tag through alternating magnetic field [9] Figure 10 - relative voltage induced in the tag in frequencies around resonant frequency [13] Figure 11 - Coupling coefficient (k) vs distance between two adjacent coils [15] The low reading range in inductive coupling based RFID is mainly due to the rapid drop of coupling coefficient (k) between the reader and tag. To illustrate the dramatic decrease of k by
  • 26. 14 | P a g e increase of distance, fig-11 shows the theoretical plot of the coupling coefficient (k) as a function of distance between the reader and tag coils. Although both LF and HF operates under the same physical principle, and is both classified as near field RFID, the difference of their operating frequencies (LF - 125 kHz vs 13.56 MHz in HF), results in some practical implications including tag design, reading speed, and cost. Due to the much lower operating frequency, LF tag require more coils turn to obtain the required voltage to turn on the tag. This makes the tag rather bulky and relatively expensive. In addition, the data rate is comparably slow, taking about few seconds just to read single tag [11]. However, LF RFID has significantly better penetration properties against liquid, metal, and living tissue – it is can penetrate approximately four times deeper compared to HF RFID. This makes LF RFID suitable for applications such as animal tracking where the tag is often implanted inside the animal’s body. HF RFID meanwhile, as it operates in much higher frequency (13.56 MHz), allow much higher data rate and hence reading speed – 0.1s/read may be achieved [6]. In term of tag design, HF tag also require much lesser turns, fig-12 shows the comparison between LF and HF tag. Moreover, due to the wide adoption of this technology from the industrial world, the cost associated with this technology is relatively low. Common HF RFID applications include security access, electronic purse, and attendance tracking. Figure 12 - Sample of LF and HF tag[11]
  • 27. 15 | P a g e Summarizing the distinction between LF and HF RFID, LF RFID is slower, more expensive, but has better penetration properties. HF RFID on the other hand, has much faster reading speed, and is a cheaper alternative. Based on this comparison, HF RFID is taken as a more preferred near field RFID technology as it offers quick reading at lower investment cost, which both are important factors considered in this project. 2.2.1 Far field RFID (UHF) Far to the right on the frequency spectrum, UHF RFID uses electromagnetic (EM) waves to communicate and transmit power. EM wave coupling allow much further reading range (up to 10m) - which is why UHF RFID falls under far field category. For passive RFID system, the term back scattered electromagnetic coupling is commonly used to refer to the transmission scheme used by this technology. When the passive tag is within the reading range of the reader, the antenna on the tag will receive the radiated wave, modulate it, and transmit/scatter it back to the reader, all within split of a second [16]. And along with the increase in operating frequency, the data rate also increases proportionately, allowing UHF RFID system to read hundreds of tags within a second [17]. Figure 13- simplified physics of reader and tag back scatter signaling [11]
  • 28. 16 | P a g e Unfortunately, UHF RFID operation suffers from various performance issues such as low detectability rate and unreliable reading range [16, 18]. Significant reduction in signal power may come from absorption by liquid object, reflection by metal, and interference from surrounding radio noise [16]. Moreover, common to any wireless communication, multipath interference also applies to UHF RFID operation. In dense RFID environment (multiple reader and multiple tags), collision between readers, reader to tag, and multiple tags to a reader, may essentially cause complete disruption to the system when not appropriately handled [7, 19]. 2.2.2 RFID technology evaluation Equipped with the understanding of advantages and limitations of various RFID technology, the binary choice between near field RFID (HF) versus far field RFID (UHF), is now ready to be singulated. Side by side comparison between HF RFID and UHF RFID hardware capabilities are tabulated in table-2 where the information about each technology are gathered from the literature and market evaluation [6, 14]. HF RFID UHF RFID Reading time (s/read) 0.1s - 1s per read Close to instantaneous (< 0.001 s/read) Reading accuracy Highly Accurate Accurate Reading reliability High Low Reading range <1m (near field) <10m (far field) Reader cost 50 - 250 USD 450 - 2000 USD Tag cost >1 USD 0.1 – 0.5 USD Table 2 – comparison between HF RFID and UHF RFID
  • 29. 17 | P a g e Fully automated attendance system – the one that operates autonomously without reliance on human - can only be achieved through UHF RFID hardware, as it allows virtually instantaneous reading with covering wide reading zone. Relating to attendance tracking application, this means that any door whose width <10m can be theoretically covered by the system, and number of simultaneous passing students will not be as issue as it can detect few hundreds of tag within a second. On the other hand, if the attendance system utilizes HF RFID hardware, it is undoubtedly will be significantly faster than traditional paper based attendance, but will still requires students to intentionally put their tag to the proximity range of the reader, making it a partially automated solution. Looking from different angle, HF RFID reads more reliably compared to UHF RFID. As long as tag is within the read-zone of the reader, HF technology guaranteed 100% tag detection. This is however, is not the case with its younger, less mature brother, UHF RFID. Single antenna, single tag UHF RFID system has poor detectability rate – Walmart, a giant supply chain company in US, demonstrate that detection rate may be as low as 63% [17]. Several approaches have been suggested by the research society, including the clever configuration of reader setting, multi tagging single object, and/or employment of multi antennas per portal [17],[16],[20]. From the cost perspective, HF RFID reader is far more affordable - two to ten times cheaper compared to UHF RFID reader. For both case, more expensive reader provides better processing capability, simpler software, better security control, and may be installed with anti-collision algorithm (a method used to prevent multi-tag signal collision when presented to a single reader). Putting these observations into a concluding sentence: UHF RFID, when compared to HF RFID, is a less mature and riskier technology to adopt, it is however the only technology that is capable of automating the attendance recording. With the desire to improve and contribute in a larger context, UHF RFID is chosen and the challenge to overcome the various operational issues is taken.
  • 30. 18 | P a g e 2.3 Web architecture A complete web architecture of a web application is divided into client side web stack and server side web stack. In the client side, the web stack components are pretty much a de-facto standard. Any web page would at it most basic level (static page) compose of HTML script, or in more dynamic and interactive web page adds Cascaded Sheet Style (CSS) and Java Script [21]. HTML script is the component that provide the fundamental content (texts and pictures) to the webpage, while CSS will be responsible for managing the layout of those components (colour, font size, alignment, etc.,). Java script meanwhile is used to provide the interactive behaviour to the webpage, any simple user interactions such as mouse movement, drag, and key board press may be used to triggered the web server to provide certain response [22]. Figure 14 - general client side open source web stack Figure 15 - possibilities for server side open source web stack Web stack components in the server side however is less obvious than the client side. Fundamental components of server side web architecture consist of scripting language, database server, web server, operating system, and an optional web framework. Restricting the web stack to open source software, XAMPP and LAMP are the most common choice of web stack [21]. The abbreviation denotes the combinations of software components that fills the web stack layers. For LAMP, this refers to Linux – Apache - MySQL/MariaDB - php, while XAMPP refers to Cross Platforms X – Apache – MySQL/MariaDB – php – perl (optional). The differences between the
  • 31. 19 | P a g e two lies mainly on the operating system, either Linux or Cross platform OS [23]. To promote multi-platform operability, XAMPP web stack is chosen as the fundamental web server stack. 2.3.1 Web frameworks Although web framework is not a necessary component for web development; it is however, very helpful if we use one. A framework for a web developer, play the same role as a toolbox to a mechanics. Experienced mechanics know the correct tool for each particular task. For example, they would not use a grinding machine to cut a sheet of thin metal when a metal scissor works well. Moreover, the specificity of toolbox, helps mechanics to perform better upon well-defined task. To fix a car for example, a garage-car-repair tool box will be much easier to use than a general tool box which contains every kind of tools, which often overwhelms, rather than helpful. This scenario illustrates that when problem is well defined, a more specific tool box is preferable than general and complete toolbox. Figure 16 - web framework evaluation steps In order to select the most suitable framework, the evaluation process is broken down into three steps: market research, top candidates’ investigation, then assess through evaluation matrix. 2.3.1 Market browsing This stage mostly involves reading and listening experts’ reviews. In general, reviewers will evaluate several products, then provide comments on the benefits and drawbacks of each product, and then conclude on which applications suits each of the web frameworks. From these reviews, three most suitable candidates are selected (Symfony, cakePhp, and Moodle) [w4 until w7]. 2.3.1 Candidates investigation Then, each framework is investigated from their websites where their background, history, functionality, and society are described. From these readings, the following section provide short description of the three framework candidates. Research the market Investigate top candidates Fit into Evaluation Matrix
  • 32. 20 | P a g e 2.3.1. Symfony & CakePHP Symfony and cakePHP, along with many other not evaluated web frameworks, are open source, free license, general PHP web framework. They have large number of active communities located all over the world. Symfony for instance, has more than 4000 Symfony developer certification centers across the globe. Symfony has steeper learning curved compared to CakePHP, but on the bright side, has larger functionality and flexibility. CakePHP on the other hand, have better support for built-in modules and auto generated PHP code. In short, Symfony is a better alternative for long term web application, while CakePHP is more suitable for agile or rapid web application development[24]. 2.3.1. Moodle Moodle is an open source web application that is originally designed to simplify the course management tasks of educational institution, from primary schools, up to university level. Because of this, most of its programming interface and libraries are made for academic applications, for example student enrolment, grading, and reporting. Most developer and user of Moodle therefore, come from the educational background across the world. Moodle server is designed to extend its features through development and installation of plug-ins - common plug-ins include quiz, forum, grading, and attendance. As a result, Moodle architecture does not allow developer to modify its core logic, and the degree of developer flexibility may go only as far as developing plug-ins. But at the bright side, with the large society of Moodle plug-in developer, plug-ins are constantly developed, improved, and shared freely to the public. 2.3.1 Evaluation matrix The previous section provides an overview of each web frameworks candidate. In order to select best candidate in more objective manner, at the final stage, an evaluation matrix is used to quantify the quality of each options. The marking rubrix consist of several weighted assessment criteria. Based on the evaluation result, the candidates are ranked, and the one that surface on the top will be chosen. The summarized evaluation result is shown in fig-17 while the detail evaluation is left on the appendix for reader
  • 33. 21 | P a g e that requires marking justification. Based on this evaluation matrix, it is concluded that Moodle is the most suitable web framework that meets requirement of the project. This selection also ends the evaluation process and fig-18 shows the final server side web architecture. Figure 17 - summarized results of web frameworks marking rubrix Figure 18- final server side web stack 2.4 Moodle overview Moodle is an open source online learning environment that is developed in php and is regarded as one of the most widely used learning management system. Its user comes mostly from the education background, ranging from primary schools to higher educations. The application of Moodle will varies by the user, some use it as an electronic learning management system where students is expected to interact with through the computer during the learning process [25].Others, Server side architecture •MoodleWeb framework •PHPScripting language •MySQLDatabase Server •Apache HTTP serverWeb Server •Cross OSOperating System (OS)
  • 34. 22 | P a g e and is true for most higher education institution, mainly used as a course management system which assist students and lecturers to organized their courses materials, submissions, and grading [26]. Figure 19 - home page of Moodle [www.moodle.org] 2.4.1 Moodle concepts The following section is aimed to give reader some knowledge of the various components living inside Moodle, how they interact with each other, and some important Moodle features that are required for later discussion. Moreover, it is also aimed to show why and how Moodle virtual learning environment greatly mimics the real world learning environment. This paragraph has been written mainly from the FYP student understanding, but reader may refer to [27] for official Moodle explanation of its working principle.
  • 35. 23 | P a g e Figure 20 - Analogy between Moodle site and school of engineering To illustrate how Moodle represents the actual learning environment, we will start by providing an analogy between Moodle and a department of a university, say school of engineering – fig-20 depicts this analogy. Let Moodle site represents engineering school department, and its front page represents the course management office of the school. Within the school of engineering, there are several disciplines, and each discipline normally offer a number of courses to its students. Similarly, there are several course categories in Moodle in which contains several singular courses. In reality, different courses are targeted at different learning outcomes, hence often have different set of teaching syllabus and approaches. Some courses may contain only lectures and tutorials, while other may add laboratory exercises, industrial visit, mini project, and workshops. This requirement is well translated in Moodle where each course may activate different type of activities and features. For example, some may use Moodle site simply for material organization and distribution, while other may incorporate quizzes, forum, and attendance tracking. 2.4.1 Context, roles, and capabilities Three important concepts in Moodle will be introduced here – context, roles, and capabilities. Referring back to our analogy, roles is similar to occupation, and capabilities may be represented as the rights or power that certain occupation has. The context meanwhile, may be assumed as the dimension or environment of the real world. The analogy, especially for context, may seem rather abstract, but the following explanation and examples should help solidify the illustration.
  • 36. 24 | P a g e Moodle have several default roles such as student, teacher, editing teacher, admin, course manager, and optional user defined roles. The context in Moodle, are the blocks that are depicted in fig-20, which includes Moodle site context, course category context, course context, and so on. While Moodle basic capabilities are rights to view, modify, or set certain objects. In each context, users may be assigned certain roles, such as assigning a particular user as a lecturer in a course. In Moodle, role assignment under certain context will be inherited to its lower context, based on the hierarchy of context shown in fig-20. As an example, when a user is given a role of teacher in particular course category, then all the courses contain under that category will see the user as a teacher. Moreover, within a course context, a role privileged hierarchy is observed. At the top is admin, followed by course manager, then teacher, editing teacher, then student. Following this order, the higher level role is allowed to switch their roles to other lower level roles but not the other way around. This means admin may switch to any roles while student is fixed with one role. In each context also, certain capability may be defined and assigned to certain roles. For example, a grading activity in a course may define capability such as edit, view, delete, and comment. It may then assign the edit and delete capability only to teacher, while give view and comment access to all users. The capabilities management therefore prevent unauthorized users to performs certain undesired operations – for example a student viewing his others friend grade. 2.4.1 Group Another Moodle component to highlight is the grouping feature. Groups may be defined under course context. This means that the domain of grouping is restricted to the users that is enrolled under the specific course. For example, group-A that is created under course – 1 will not be accessible or seen by course – 2. The grouping features hence may help teacher to assign, apply, or perform certain things only to a set of students, instead of all enrolled students. For example, the teacher may want to set different report submission date for Friday class group and Monday class group.
  • 37. 25 | P a g e This series of illustrations have shown that the structure, organization, and inter relationship of Moodle components and logic are coherent with the real world learning environment. Making Moodle an optimum – simple, free, and functional – online learning platform for course based educational institution. 2.4.2 Moodle development and plug-ins Moodle as a e learning platform define several application programing interface (APIs) to allow developers to access Moodle core functionalities. Moodle capabilities may be extended through development of plug-ins or integration with other web application [28]. The APIs define the specific rules and functions that a programmer may use to interface with Moodle server. There are various branches of plug-in development in Moodle, but rather than explaining each category separately, fig-21 shows the snapshot of Moodle plugins web page which shows some of the plug-ins that are freely available.
  • 38. 26 | P a g e Figure 21- Moodle plugins web page [https://moodle.org/plugins/] Out of the various plug-ins, activities category is the most developed and used by Moodle community. Falling under this category, there are modules such as assignment, database, quizzes, and attendance. These plug-ins, once installed, can be used by teacher on their courses by activating/instantiating them. As an example, to run a quiz, a teacher would then add quiz activity module and provide the necessary information pertaining to the quiz (questions and answers, grade, and time). 2.4.3 Moodle Attendance plug-in Of the numerous plug-ins in Moodle, attendance plug-in/module is also one of the them. It is officially published since 2013, and has since then undergoes continuous updates until the most recent one in June 2016, it is also one of the most popular module with more than 3500 Moodle site currently using this module. The following paragraphs will describe its functionalities along with its screenshots compiled in the next page. Figure 22 - attendance plug-in logo taken from [https://moodle.org/plugins/mod_attendance] Once this plug-in is downloaded and installed by the Moodle admin, it may be activated by teachers under the context of a course. Teachers may use this feature to track students’ attendance, and possibly give marks based on their attendance. Before any attendance is tracked, teacher must first create sessions that represent the actual classes. Information such as start and end time, date, and students (all students or a group of students) are mandatory field to fill when creating a session. Multiple repetitive sessions which has same details may be created simultaneously through multiple session option shown in fig-24.
  • 39. 27 | P a g e Once sessions are created, marking the attendance of a specific session is done by selecting the session, and then selecting the status of individual students’ statuses. The default statuses include P for present, L for late, E for excused, and A for absent, if additional status is required, it may be added by the teachers manually. The attendance plugin is also equipped with some useful feature such as filter (by week, days, etc.,) and search box to ease data viewing and searching. Additionally, it also provides summarized report view for teacher to quickly get an overview of the course attendance. When raw attendance records are required, several exporting options are provided in multiple format - excel, csv, and openOffice. Student view of the attendance is shown in fig-28. Students can see a summary of their attendance in a particular course, as well as other courses. Hence it is observed that the Moodle attendance plug-in, which currently maintained by Dan Marsden, is a simple yet feature rich web based attendance application, which meets many of the requirements imposed under this project (web based, rich in features, and secure). However, attendance taking method in this plug-in will still require manual clickings. After realizing that such plug-ins exist, and that it meets most of the goals initially targeted, I had decided to adopt the attendance module, and further develop it in order to allow automated attendance taking.
  • 40. 28 | P a g e Figure 23 – teacher home page of attendance module showing list of sessions in the week Figure 24 - Add sessions view of attendance module
  • 41. 29 | P a g e Figure 25- status set settings of attendance module Figure 26 – marking a session attendance of attendance module
  • 42. 30 | P a g e Figure 27 - summary report of attendance module Figure 28 - students view of attendance module 2.5 Summary As a conclusion, this chapter has presented the evaluation of several commercial identification technologies and justify why UHF RFID technology is the best option for the project. Some basic concept of web stack technology is given and evaluation of available market web stack combinations are presented. Based on the marking rubrix, Moodle web framework is concluded to be the most suitable framework and some fundamental knowledge of Moodle is introduced to aid further discussion.
  • 43. 31 | P a g e Chapter 3 Project Overview and Methodology This chapter will show the overall picture of the project in term of the chronological stages, and then the overall system architectures. 3.1 Project phases This section will show and discuss the overall project stages and activities that is planned for the project. This project begins with a conception phase, where problems and resources are introduced to the FYP student. Then upon sufficient understanding of the problem, scope and objectives of the project is defined during the definition and initiation phase. In this phase also, literature review and market evaluation take place, in quest of searching the most suitable solution. After thorough literature and market research, equipped with the proposed technology solution, the system architecture may then be drawn. Afterwards, action plans and tasks are identified and divided into two semester timeline (project-A and project-B). Up until this phase, the activities performed in the project are mostly research and evaluation. The development and testing phase then mark the start of the production line. The tasks involve in this phase includes writing php scripts and libraries to modify Moodle attendance module, and then installing and integrating system components. When system is successfully integrated and tested under experimental condition, the system evaluation phase may start. In this stage, the attendance system will be tested in the actual class to evaluate, analyze, and report its performance. At the final stage, the project delivery phase includes submitting final report, followed by technical presentation, and then FYP open day demonstration which also mark the end of the Final Year Project.
  • 44. 32 | P a g e Figure 29 - The six project phases
  • 45. 33 | P a g e 3.2 System architecture Figure 30 - overall system architecture of MAIAAS Fig-30 shows the complete architecture of MAIAAS. This architecture may be divided into client side and server side components, with internet in between. The client of this system includes the students, lecturers, and administrators, while the server will be the PC that hosts MAIAAS Moodle site. Through Moodle site which is accessed using a browser, students may view their attendance and lecturers may mark, modify, and manage it. On the other hand, for a hardware to report an attendance record, it must first go through a local server which is connected to the internet. The local server will then send the captured record to the particular hardware handler php script using a HTTP POST method. From there onwards, the hardware handler script will handle the record checking and insertion to the Moodle database. Different hardware will have different interfacing method to the local server which often is product dependent. Each type of hardware, will also has different hardware handler due to the different identification logic behind each of them. In chapter 4, a more detailed explanation of the hardware handler will be provided. Server side Client side
  • 46. 34 | P a g e Chapter 4 Results This chapter will present the results and achievements that the project has made. It starts by showing the description of the hardware products, and then the various optimizations that have been done to it. Similarly, in the software side, the installed technology is first shown, followed by the modifications and developments that have been performed. The final sub heading then presents the integration result of the hardware and software components into a single system. 4.1 UHF RFID hardware system 4.1.1 Hardware specification Only relevant details (for discussion) will be mentioned here, for complete hardware specification, it is best to refer back to the individual product data sheet. 4.1.1 Reader Figure 31- Thing Magic USB+ RFID Reader [http://www.thingmagic.com/index.php/usb-rfid-reader] Product Thing Magic USB+ RFID Reader Interfacing software Universal Reader Assistant Price 445 USD Purchased 1
  • 47. 35 | P a g e Dimension RF output power 10 dBm – 23 dBm Powering method 2 USB cables (max current 570 mA) Embedded antenna IF900-SF00 Antenna polarization Linear polarized antenna Gain 3 dBiL Beam width (Azimuth x Elevation) = 360 x 90 degrees Front to back ratio 0 dB Environment indoor Figure 32- reader specifications [29, 30] 4.1.1 Tag Figure 33 - UHF RFID inlay AD-383u7 [taken from AD-383u7 datasheet] Product Dry UHF RFID inlay, AD-383u7
  • 48. 36 | P a g e Price 0.3376 USD/piece Purchased 50 Dimension 5 x 3 cm RF protocol ISO – 18000 – 6C, EPC class 1 gen 2 UHF air interface protocol Memory 128 rewritable EPC bit, 96 fixed TID, no user memory bank Table 3 - tag specification [h4] 4.1.1 Discussion The choice of hardware products has mainly been governed by the cost limitation – each FYP student is allowed to spent RM 2000 ≈ 500 USD. The final expenses for hardware purchasing cost around RM 2300 (yes, slightly beyond budget), after summed with the shipping charges and custom duty tax. Most UHF RFID readers cost much higher than 500 USD, and Thing Magic USB+ RFID Reader is the only option found in the market for UHF reader costing below 500 USD (445 USD). But with the cost reduction, some of the reader performance comes at the expenses. Maximum radio frequency (RF) power of the reader is 23 dBm, which is around 8 dB (6 times) lower than maximum allowable power. Moreover, the reader is not equipped with any heat dissipation accessories (fan or heat sink), hence gets over heat easily when operated with maximum power under 100% RF cycle – later it is found that 70% ON RF cycle is acceptable. The antenna is embedded inside the reader, and is linearly polarized antenna (tag orientation sensitive) – a desired and more expensive antenna is a pair of circular polarized antenna which is not fixed to the reader. All these factors - power, reduced RF cycle, and linearly polarized antenna – have resulted in severe reduction of the reader detection range (less than 2 m). In addition, the reader must be operated indoor, with data and power link through two USB port connections. On the tag side, a unipolar (orientation sensitive) AD-383u7 tag is used instead of the desired bipolar (orientation insensitive) tag, since bipolar tag cost at least twice the unipolar tag. Moreover, the tag’s chip contains no user memory bank, which limits its use for applications that requires it.
  • 49. 37 | P a g e 4.1.2 Hardware based optimization This section will discuss the two hardware based optimization that are done to maximize the system detection reliability. 4.1.2 Configuration optimization Some settings of the reader and its communication protocol parameters can enhance its reading performance (range and reliability), when properly set. EPC class 1 gen 2 UHF RFID protocol allow great level of flexibility and diversity of the air interface protocol settings. This allow system integrator to fine tune the various parameter to suit particular applications under certain RFID environment. Universal Reader Assistant (URA) is a software that Thing Magic provides for developer to interface with the UHF RFID readers. It is not the aim of this report to provide complete exposure of the functionality of this software, hence only relevant sections of the software will be described in the coming section. All the configurations related to the reader and air protocol may be set through this software. And a particular configuration may also be saved and loaded in future. Fig-34 shows the basic connect tab to which connections is first initialized. Figure 34 - connect tab in URA The reader power is maximized at 23 dBm to obtain maximum reading range and reliability. And as the reader is not equipped with any heat management techniques, full power continuous RF cycle operation will quickly overheat the reader. Datasheet has suggested reduction in RF cycle and/or RF transmitting power, when thermal management techniques is not possible [62]. After some trial and error, when operating in air conditioned room, at maximum power, 70% ON RF
  • 50. 38 | P a g e cycle is found to be the upper limit of continuous reading operation without overheated reader, hence this set up is chosen. Figure 35 - Reader power settings in URA Figure 36 - read/write tab in URA The gen2 performance setting is the hub where all the air interface protocols may be set. User that is unfamiliar with the EPC class 1 gen 2 (EPC C1G2) parameters may uses the automated setting options that the software provides, based on the tag population size, tradeoff between read distance and read rate, and the desired tag response rate. The software will later automatically set the actual EPC C1G2 parameters which consist of Back Link Frequency, Tari, Tag encoding, Session, Target, and Q value, which elaborations of these parameters are documented in the standard [31]. Figure 37 - C1G2 performance setting in URA But to ensure optimal performance, each parameter is studied in details and later set to optimal configuration for the attendance recording application. The summary of final optimized setting is tabulated in table 4, and readers that are interested in justification of individual parameter choice may read the justification on appendix.
  • 51. 39 | P a g e EPC C1G2 air protocol parameters chosen setting description Not configurable Not configurable Miller – 8 Lowest error rate encoding scheme S1 0.5s to 5s delay between response, suitable for attendance application A General setting that allows complete reading of tag population. Dynamic Q Adaptable Q length suitable for varying tag population as is the case in attendance system. Table 4 - Summary of EPC C1G2 settings
  • 52. 40 | P a g e 4.1.2 Orientation optimization Determining best tag and reader placement in UHF RFID system require understanding of the hardware, the environment, as well as the subject that is tracked (student). In the hardware side, in addition to the datasheet specification, a tag-reader orientation characterization experiment is performed for more credible empirical data. This experiment is aimed to measure and characterize the tag power orientation dependency. Figure-38 shows the initial experiment condition, and of the representation of tag by letter M for ease of drawings. Figure 38 - experiment set up Axis Z-axis Y-axis X-axis Max received power - Pmax -3dBm -5dBm -3dBm Min received power - Pmin -5dBm -12dBm -21dBm Power difference = Pmax- Pmin 2dBm 7dBm 18dBm Orientation sensitivity Insignificant Significant Extremely significant
  • 53. 41 | P a g e Minimum at Minimum at Minimum at Table 5 - results of reader-tag received power based on different relative orientation Table-5 shows the overall results of received tag signal power, based on different relative orientation between the reader and tag. It is observed that for reader and tag product that are used, the best orientation is when both reader and tag are aligned as shown in the initial experiment set up, at any other orientation, signal weakened. The rate in which the signal degrade however, varies by orientation axis. Referring to figures and results in table-5, X axis rotation is experimentally shown to be the most sensitive orientation, with 18 dB difference between best and worse orientation. Y- axis is slightly sensitive, while Z-axis is the least sensitive. This results means that system designer should at best try to minimize possibility of X-axis orientation. In addition to that, [60] has also performed similar experiment under human subjects
  • 54. 42 | P a g e and conclude that parallel height between reader and tag will produce best detectability rate. Moreover, students are modeled as cooperative subject under this project. Equipped with these knowledges, two reader positions and necklace tag configuration is proposed. Necklace tag is proposed as when tag is wear in this manner, tag orientation will most likely only rotate around z-axis instead of y or x axis which may severely degrade the signal. As for the reader location, two positions are proposed (see fig-39 and fig-40), in which both of them are placed at expected value of tag height (1.1m). In the side configuration, reader may be placed closer to subject than the front configuration (0.8m vs 1.3m). The reason is that if front view is placed any closer than 1.3m, the door pathway may be blocked, hence side position has a read distance advantage over the front configuration. However, the front position, due to its optimal orientation, should have the best signal quality, hence reading performance. Initial hypothesis is that side position may perform better as the read range will most likely outweigh the orientation benefit of front position. But both positioning will be tested on actual real class, and conclusion will be drawn through the experiment results. Figure 39- side reader position Figure 40 - front reader position 4.2 Moodle server/site 4.2.1 Installation and deployment The latest Moodle version 3.1 is installed in one of the FYP numerical lab, after the XAMPP web stack installation. After some basic configuaration of the server, the Moodle site is officially
  • 55. 43 | P a g e deployed online – the PC hosting this Moodle site will from now on run countinuously, with dynamic IP address of [59.191.194.32]. The MAIAAS Moodle site can now be accessed anywhere and anytime through a browser with URL of http://59.191.194.32/moodle – of course one must first have MAIAAS Moodle site username and password before it can be accessed. Snapshots of MAIAAS log in page and front page are shown in fig-41 and fig-42. Figure 41 - log in of MAIAAS Moodle server Figure 42 - front page of MAIAAS Moodle server
  • 56. 44 | P a g e 4.3 Further development of attendance module This section will present some of the additional developments and modifications of the Moodle attendance module 4.3.1 Hardware abstraction layer The newly introduced hardware abstraction layer is the layer that allows adaptable and flexible hardware integration to the Moodle attendance module. This layer abstracted the Moodle related implementation from the hardware side. The abstraction is achieved through the use of specific hardware handler script, once record is sent to hardware handler, the Moodle related operations will be taken care by the handler – fig-43 shows the illustration of this abstraction layer. Figure 43 - hardware abstraction layer in MAIAAS i n t e r n e t
  • 57. 45 | P a g e A set of functions library is written in order to help hardware implementer to write their hardware handler. Operations such as getting list of students, current sessions, and updating database may be executed through a simple function call. These functions are essentially the part that abstracted the Moodle programing from the hardware. Hence hardware incorporator may integrate their hardware into the Moodle attendance system simply by writing a hardware handler. The abstraction layer therefore, allow the Moodle attendance system to virtually accepts any kind of hardware for its attendance taking method. Significantly reduced the development time when compared to traditional method which create specific attendance software for specific hardware. For example, within a couple of hours, a hardware handler for face recognition method is successfully written and tested. The face recognition hardware handler is written for another student who works at face recognition method to identify students. The following paragraphs is the description of what a hardware handler actually does. Figure 44 - The five task of a hardware handler 1. ID matching Depending on the identification hardware, the id in which the hardware reports will differ. For example, UHF RFID will report the EPC-ID of the tag it reads, while barcode scanner will report the barcode it reads, and face detection may report the face id. Hence, each handler script should be tailored to handle specific hardware and match the hardware dependent ID to the corresponding Moodle user ID. If a match is found, the student Moodle id is now known by the handler. 2. Get session To obtain the specific session that the attendance record is targeted towards, the hardware must provide its location information in the HTTP POST. By knowing the location, the handler can
  • 58. 46 | P a g e uniquely identify the referred session by getting only the currently occurring session, that is taking place at the given location information - since only one session can occur at any given time and location, the combination of these two information can be used to unique identification of sessions. But if no session is found – no session is registered under current time and the given location – then the reported record will be ignored. 3. Data integrity checking Before updating the database, the handler must perform a series of data checking. It starts first with extracting the list of registered students under the identified session, to see if the student Moodle id is in the list. If it is not, the record will be ignored. If it is in the list, the handler will further checks if attendance record of this student has been previously taken under this session (perhaps by other hardware, or by manual computation). If there is already a record of the student’s attendance, then it will be ignored to prevent multiple ambiguous records. 4. Attendance record preparation In this stage, the attendance related information is structured into an attendance record object. The primary information includes the student Moodle id, session id, time stamp, and status id. The Moodle student id and session id are obtained from previous stages, while the time stamp is taken from current time (time in which record is processed). The status id – the information that determine the status of the attendance (present or late) – meanwhile will be marked based on the relative point in time that the student attendance is recorded with respect to the duration of the class. If the student come in the early phase of class (before 1/3 of class duration ends), then the attendance record is marked as present. Any later than that, the late status will be given. The fig- 45 illustrate the status distribution based on class duration. Figure 45 - attendance status distribution based on class duration
  • 59. 47 | P a g e 5. Update database After the attendance record object is filled with the relevant information, the handler will then insert the record to the relevant attendance records table – attendance_log. Afterwards, it will update the last taken information of the session, and update student grade, since some attendance statuses may have grade. For each individual attendance record, these five stages (A to E) are repeated by the handler. Fig- 47 shows the example implementation of this general hardware handler task in UHF RFID handler flow chart. 4.3.2 Auto-mark absent Up to this stage, the system has been equipped with automatic attendance recording of present and late students, but absent and excused students must still be manually computed. For the excused case, this may not be an issue. However, there may be a large number of absent students for any particular class, and manual computation of their attendance may be a tedious work. For this reason, a php script that automate attendance marking of absent student is written. This script will be executed daily on 11.59 PM midnight. When the script is run, it will mark all the students whose attendance have not been taken, in the sessions that they supposed to be in today – fig-46 shows the sample result of this operation. Figure 46 – Auto-mark absent results snapshot
  • 60. 48 | P a g e Figure 47 - UHF RFID hardware handler flowchart A B C
  • 61. 49 | P a g e 4.4 System integration After completing individual development of the hardware and software components, the next stage is to combine them into a single integrated system. Successful integration means that the remotely located UHF RFID system is able to update the attendance records through internet connection. Fig-48 shows the reporting method that URA software provide to the readers to send the read results through HTTP POST method – in our case, the URL is http://59.191.194.32/moodle/mod/attendance/HTTP_POST_RFID_Handler.php. Fig-49 shows the sample of automated attendance recording from the remote UHF RFID read results. Figure 48 - HTTP POST method of reporting in URA Figure 49- snapshot of remote attendance recording of UHF RFID At this stage, the Moodle Adaptive Intelligent Automated Attendance System has finally come out as a product that is ready to be tested in the real world implementation.
  • 62. 50 | P a g e Chapter 5 System Testing and Evaluation This chapter is devoted to present and discuss the testing and evaluation of the final system in real class implementation. It starts by providing background of the experiment, followed by presentation and discussion of the results, and then conclusion of the test. 5.1 Real class system testing 5.1.1 Aim The real class system testing results will be used to characterized the hardware performance, and determine optimum reader placement for attendance system application. In addition, it will also be used to evaluate the reliability performance of the attendance system. Attendance system that is highly reliable therefore is often associated with a well devised foolproof mechanism. On the other hand, low degree of reliability refers to the system that produce large number of false data, such as marking absent student as present, and/or not capturing the attendance of presence student. 5.1.2 Definition Several terms related to the experiment will be defined here. The participants are classified into four type of subjects: Cooperative subjects – are the students that carry their tags under exposed condition. This include wearing the tag as instructed, carrying on their hand, or waving their tags to the reader. Partially cooperative subjects – are the subjects that carry their tags under hidden condition. This include tags that are stored inside the bag, pencil case, or paper folder. Uncooperative subjects – are the subjects that do not carry their tags at all. Absent subjects – are the subjects that do not come to the session. The definition of reliability we used refers to the rate in which the system accurately reports the actual attendance. High degree of reliability means the records that the system reports are
  • 63. 51 | P a g e congruent to the actual presence of students in classroom. This measures is calculated using the following expression 𝐴𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 = 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 𝑎𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑐𝑜𝑟𝑑𝑠 𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑎𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑐𝑜𝑟𝑑𝑠 5.1.3 Experiment details 5.1.3 Moodle preparation Before the physical world experimentation, the Moodle virtual environment must be set to mimic the real class environment – this refers to registering students, creating a course, assigning a lecturer, publishing lecture sessions, and incorporating attendance feature into the course. The exact implementation of these procedures are left out for simplicity, but the net effect is that the Moodle environment now contain a course called “How to roll a dice”, with enrolled students corresponding to actual students, a lecturer assigned to the course, and lecture sessions whose time and location are matched to the actual sessions. Lastly, the attendance feature is also activated in the course. 5.1.3 Real class environment set up The experiment will be conducted in one of Electrical and Computer System (ECSE) engineering course, happening in Monash University Malaysia, during week 11 to week 12 of the second semester, 2016. The system will only be tested on lecture sessions which contains largest number of students – four lecture sessions in total. Students participation in the testing activities is by voluntary basis. A broad cast email is sent to all students registered in the course, querying for their interest and willingness to participate in this experiment, where RM 25 (which later increased to RM 50) worth prize will be given to a randomly selected winner from the set of participating students, at the end of testing period. Students may decline the offer by replying NO, or accept it by replying OK. If no reply is received 4 days after the email is sent, their new UHF-RFID tag will still be printed, but will be discarded if they later prefer not to get involve in the experiment. Students are given the freedom to choose a picture printed for their tag, which else will be printed with random pictures (scenery, airplanes, outer space, etc.,).
  • 64. 52 | P a g e In class announcement and tag distribution are performed one week before the experiment start (in week 10). A short briefing is given to inform the students about the aim of experiment, how the tag should be carried, and reminder of the RM 50 prize, before requesting their willingness to participate. In total, 35 students agreed to participate and all tags are distributed before the end of week 10. Participants are asked to wear the necklace-form tag (see fig – 50) before they enter the lecture sessions in week 11 and week 12. But, once participants are seated, they may take off the tag and store it as they are now beyond the read-zone of the reader. Moreover, participants are explicitly informed that reading operation is meant to be automatic, hence they are not required to intentionally place the tag close to the reader whenever they enter the class. As one of the aim of the tests is to determine optimum reader positioning, within the four sessions, both front and side configurations are tested (1 session for front, and 3 sessions for side). The experiment setup that is previously shown in chapter 4 is shown again for ease of referencing. Figure 50- side reader position Figure 51 - front reader position During every actual lecture session, the developer of the system will come 10 mins before the class starts to set up the system. Once instantiated, it will be left as it is until the end of the session, for it to automatically captures the students’ attendance. Meanwhile, manual attendance taking (human recognition base), will also be performed as a reference for the accurate attendance records.
  • 65. 53 | P a g e At the end of the evaluation, the system reported records will be matched to the reference records to evaluate its performance (Attendance reliability rate and UHF detection rate). Finally, analysis and discussion of the performance will be given in the report. Location Monash University Malaysia Number of participants 35 students of single course Duration 1-week tag distribution + 2-weeks system testing Table 6 - Attendance system testing details summary table 5.1.4 Results and discussion The results of the four sessions testing is tabulated in table-7 with the individual session attendance reliability calculated and plotted in fig-52. None of the absent subjects are mistakenly recorded as present or late, and uncooperative subject has been excluded from the experiment evaluation. The attendance reliability formula can then be refined into: 𝐴𝑡𝑡𝑒𝑛𝑑𝑎𝑛𝑐𝑒 𝑟𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 = 𝑎𝑏𝑠𝑒𝑛𝑡 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 + 𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑎𝑛𝑑 𝑝𝑎𝑟𝑡𝑖𝑎𝑙 𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 𝑡𝑜𝑡𝑎𝑙 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 𝑒𝑥𝑐𝑙𝑢𝑑𝑖𝑛𝑔 𝑢𝑛𝑐𝑜𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑒 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 The result shows that the attendance system reliability varies from lowest at 94% to highest at 100% with average of 98%. This means that at least for this small sample experiment (123 samples), the attendance system has achieved his initial reliability requirement (>95%). Front Side Side Side Total Session 1 Session 2 Session 3 Session 4 Absent subjects 11 25 23 17 76 Detected cooperative and partial cooperative subjects 15 8 8 13 44 Undetected cooperative subjects 1 0 2 0 3 Uncooperative subjects 8 2 2 5 17
  • 66. 54 | P a g e Total subjects excluding uncooperative subjects 27 33 33 30 123 Attendance reliability 96% 100% 94% 100% 98% Table 7-attendance records summary of MAIAAS real class testing Figure 52 – plot of MAIAAS attendance reliability across sessions The table-8 shows the same experiment results, categorized in term of front and side reader positions. Our interest in this part, is to evaluate performance of the two different configurations and conclude on which settings may have better detection performance. Because of that, only the detected and undetected data will be relevant in this evaluation. Based on the overall detection rate (94%) and undetected cooperative subject percentage (7%), both configurations performs equally well. However, when detection contribution is analyzed, side position reader actually has much higher chance of detecting hidden tags (partial cooperative subject). This suggest that side configurations allow reader to penetrate deeper to objects such as bags, pencil case, or pocket, to communicate with the tag. The reason behind this may be due to the read 96% 100% 94% 100% 98% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Session 1 Session 2 Session 3 Session 4 Average Attendance reliability accross sessions
  • 67. 55 | P a g e distance advantage that side configuration has (0.5m closer). The side position reader signal therefore contains much more power budget to penetrate obstructing objects. Front position Side position Detected cooperative subjects 14 18 Detected partial cooperative subjects 1 11 Undetected cooperative subjects 1 2 Detection rate 94% 94% Cooperative subject contribution 87.5% 58.1% Partial cooperative subject contribution 6.3% 35.5% Undetected cooperative subjects percentage 7% 7% Table 8 - Comparison table between front and side configurations Figure 53 - comparison of side and front reader configuration in term of their detection rate 87.5% 58.1% 6.3% 35.5% 0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0% 80.0% 90.0% 100.0% Front Side Comparison of side and front reader detection performance Cooperative subject contribution Partial cooperative subject contribution 94% 94%
  • 68. 56 | P a g e 5.1.5 Experiment conclusion As a conclusion of this experiment, the MAIAAS has meet its required reliability (>95%). And for cooperative subject model, both reader configuration is expected to perform equally well. But when subject is a mixed of cooperative subject and partially cooperative subject, side reader position is suggested for its better penetration ability.
  • 69. 57 | P a g e Chapter 6 Conclusion and Future work 6.1 Conclusion As a summary, this project has produced a functional, reliable, and automated attendance system abbreviated MAIAAS. It has introduced as its first automated attendance taking method which is based on UHF RFID technology, and its attendance management system hosted inside Moodle system. The Moodle attendance module has been modified to incorporate a new hardware abstraction layer, with a set of tool box written to help hardware implementer write their hardware handler script. Through this additional layer, the attendance system allows flexible implementation of attendance identification methods, making it open and adaptable to future innovations. In addition to that, a script that automate marking of absent students has been written and scheduled to run on daily basis. The complete attendance system has been successfully integrated and then brought to test under real class implementation. Through this test, the attendance system has been proven to exceed its reliability performance (98%>95%). Moreover, the results of the experiment also suggest that side reader configuration performs better in detecting attendance of partial cooperative students. As for cooperative subjects, the experiment does not show any performance discrepancy between front and side configuration. The result from this experiment also further conclude that the attendance system has achieved its main goals – reliable and automated – and is ready to be implemented in real class system with larger number of students over much longer period.
  • 70. 58 | P a g e 6.2 Future work As with most products, this attendance system also is open to future improvements that may be approached from various angles. It may be optimized through its efficient coding, or provision of additional user friendly features. But one of the major improvement that may be contributed to the attendance system is the capability of the attendance system to provide directional information (coming out/in to the class) in each of its attendance record. When such information is lost, significant burden is posed on the practicality of the attendance system. The system lacks of its data integrity checking and suffers from possible missed read. Current attendance system is guaranteed to work properly only when students come within the specified session time (early comer will not be detected) and will come through the door in which the reader is located (since only single door is covered). However, due to cost constraint, the project is limited to single antenna UHF RFID system. Such system only covers single entrance/exit door, and is unable to reliably interpret directional information. To fully understood how and why directional information really matters, the following section will provide some erroneous scenarios due to the absent of this information., and later shows how incorporation of such information may resolve these issues. 6.2.1 Problems associated with unavailability of directional information Consider a case when a student intentionally come at early part of the class, but leaves as soon as the attendance is marked as present by the system. Current system logic, due to its absent of directional information, does not have any foolproof method to tackle this incidence. Moreover, the system will not capture the attendance of students that comes earlier than scheduled session time, and will also not capture the attendance for students that do not leave the class between two consecutive sessions. Let us first discuss the case for early coming students. The RFID read handler has been programed to only process incoming records, based on registered session time. For example, if a student is registered under 08:00 session, let’s call it session 1, but decide to come earlier at 07:55, the attendance record will not be processed as RFID handler checked that no class is occurring at 07:55.
  • 71. 59 | P a g e Figure 54 - Session occupancy diagram of particular class An intuitive solution to this will be to extent the session to have certain tolerance time. To be more specific, the RFID handler should assume that student might come to class at time (tstart – ttolerance) to tend. This modification will solve the missed read issue for early comer students, but at a cost of possible misinterpretation problem. For an example, a student named Joko (a male) is registered under both session 1 and session 2. As he enjoys session 1 lecture, he decides to come early and his attendance is recorded as present under session 1. But, five minutes before session 2 starts – at tolerance region of session 2 – he decides to leave the class as he often found session 2 lecture rather boring. But since the RFID record does not have directional information, the record that is read when Joko exits the door, will instead be interpreted as him coming for session 2. This example indicates that session time tolerance will not be useful without the directional information. Figure 55 - session occupancy diagram of particular class with tolerance time Now consider the second case when Joko, instead of leaving the class when session two about to start, decides not to leave the class until session 2 ends. As in previous scenario, he will be correctly detected as present under session 1, but since he never leaves the class until session 2 ends, the attendance system will have no record of him under session 2; he will instead be marked as absent. 6.2.2 Solution These issues can be solved when the attendance system incorporates directional information on each read data. Most likely, this improvement will come from the hardware level. For UHF RFID
  • 72. 60 | P a g e technology for example, there are various methods and algorithms that can be employed to localize RFID tag in a 2D plane, hence obtain its direction; however, all of the approaches will require at least two antennas [32]. Upon integration of directional information in its read data, the system can attach a location state information in each student, which will allow accurate tracking of students’ attendance. At any given time, students can either be in the state of In Class xx-xx-xx, or Outside of Class, and the transition of their state will depend on their current state and direction information. For example, if a student is currently at state of In Class xx-xx-xx, and her action of exiting a class is reported captured by the attendance system, then the state of the student will be changed to Outside of Class; similar logic can be applied to the case when students come from outside into a class – fig-56 shows the state diagram representation of this scheme. Figure 56 - state diagram of student location Let see how this state information actually helps to improve the attendance system. Consider back the scenario in which students leaves immediately after the system mark present attendance. By knowing the location state of the students, the attendance system will no longer restricted to work based on the assumption that students will attend the whole session once detected present. Instead, a timer can be used to accurately track the amount of time in which students is In Class during a particular session. When the student leaves the class, timer will be stopped, and only resumed if the students ever comes back before the session end. The final status (presence, late, very late, or absent) will then be determined based on the portion of time in which the students is in class xx-
  • 73. 61 | P a g e xx-xx state, where xx-xx-xx should match the location of the registered session – so that timer does not count the occasion when students enter other irrelevant class other than the registered class. Moreover, with the state information, the attendance system will have no issues of detecting early comer, and will no longer have misinterpretation problem for students with consecutive sessions. Taking Joko back into the example, when he came early before the session start, the attendance will switch his state to in class xx-xx-xx, and timer will start as soon as the actual session time start. Now consider when he decides to skip his second session which starts right after the first session in the same location. Since his state will change into Outside of Class once he exits, the attendance system will not misinterpret him as coming for the second session. As for the case when he does not leave between two consecutive sessions, since his state will remain as in Class xx-xx-xx, the attendance system can automatically mark his attendance once session 2 starts, without needing him to be detected for the second time. After these case analysis, it becomes increasingly clear how the system may improve its robustness and practicality when directional information can be integrated. One approach can be taken through the use of multiple antennas UHF RFID system, which is employed with simple localization algorithm to provide directional information.
  • 74. 62 | P a g e Chapter 7 Appendices 7.1 Justification of EPC C1G2 parameter settings 7.1.1 Tari The tari value is defined as the length of binary ‘0’ pulse-interval-encoded (PIE) symbol, from the reader to tag. The symbol for binary ‘1’ can be as long as 1.5 to 2 tari – fig-57 shows the list of possible PIE symbols. Tari duration can be as long as 6.25 to 25 μs, but normally 6.25 μs, 12.5 μs and 25 μs are the standard values used [11]. These standard tari values correspond to reader to tag symbol rate of 160 kbps, 80 kbps, and 40 kbps respectively. As a result, shorter tari provide higher data rate from reader to tag, but at the expense of wider bandwidth component. Fig-58 shows the simplified spectral component of single reader/interrogator in dense reader environment, which the spectral width of the reader is inversely proportional to the tari values – shorter tari resulting in wide spectral component. To see the importance of the width of spectral component coming from a single reader, consider a dense reader situation where each reader is allocated a specific channel of size 200kHz to operate on. The readers will occupy alternate channel in order to minimize interference, i.e., channel 1 occupied, channel 2 empty, channel 3 occupied, and so on. The back scattered tag signals, will normally fall in the range of approximately 200 kHz below or above the reader carrier frequency. Fig-59 then compares this scenario in the case of using tari of 25 μs, and tari of 12.5 μs. The tag signal whose power is normally around -50 dB lower than reader signal can still be detected in the case of tari = 25 μs. When tari is reduced to 12.5 μs, the spectral component of individual reader widens and interfere at more significant power. The tag signal in this case is severely interfered and is unlikely to be detected. This example illustrates that tari values is an important parameter that affects the data rate of reader to tag, as well as interference level of the communication channel. This consideration however, is only relevant to dense reader environment, where inter reader interference can significantly degrade the overall system performance. For single case reader system, tari values can be minimized to lowest value (6.25 μs) to optimize data rate.
  • 75. 63 | P a g e In our case, Thing Magic software does not allow configurations of tari values, nor it shows the selected tari values. However, if configuration is possible, lowest tari values should be selected in single reader system. Figure 57- reader to tag PIE symbols Figure 58 - spectral component of dense interrogator/readers with variable tari [11]
  • 76. 64 | P a g e Figure 59 - spectral component of multiple readers operation using Tari = 25 Micro seconds, in alternate 200 kHz channel spacing Figure 60- spectral components of multiple reader operation using Tari = 12.5 Micro seconds, in alternate 200 kHz channel spacing
  • 77. 65 | P a g e 7.1.2 Encoding scheme There are four kind of encodings that EPC C1G2 specifies for the tag signal encoding – FM0, Miller-modulated Subcarrier (MMS) with M =2, 4, and 8. Depending on the encoding scheme, the data rate and error performance will differ. The symbol generation for different type of encoding will not be discussed as such information is irrelevant to decision making process, their performance criteria (data rate and error probability) will instead be thoroughly described. Highest data rate is obtained from FM0 encoding, followed by MMS with M = 2, 4, and then 8. FM0 has a data rate equal to the Back Link Frequency(BLF) of the tag – BLF will be explained in the following section. While for MMS encoding, its data rate scale down as the number of M increases, with data rate equal to 𝐵𝐿𝐹 𝑀⁄ .The error performance on the other hand, follow the inverse sequence of data rate ranking. Lowest probability of error is found in MMS with M = 8, followed by M =4, M=2, and then FM0. To understand the reason behind this encoding performances, we will first look at the time domain symbol of each encoding scheme pictured in fig-61, which shows the four bit symbols of each encoding scheme for BLF of 240 kHz. It is clearly observable from the diagram how different encoding has different symbol period hence bit rate. FM0 with the shortest symbol period occupy 4.2μs per symbol, and this duration keeps doubling as the encoding changes from MMS with M = 2, 4, and 8. With the increase in symbol rate, the data rate then decreases at the inverse relation, corresponding to decrease in bit rate by half, from FM0, MMS – M = 2,4, and 8.
  • 78. 66 | P a g e Figure 61- Time domain signal of different encoding schemes with BLF of 240kHz [11] But the relationship between error performance and time domain symbol is not very direct. Frequency spectrum analysis of the different encoding schemes gives a better intuition. Fig-62 compares the frequency spectrum of received signals using FM0 and MMS with M=8 with BLF of 125 kHz. The graph clearly illustrates distinction in power concentration between the two, where FM0 signal spectrum are spread across much wider bandwidth, while MMS – 8 has much narrower signal spectrum. When the received signal is passed through the receiver band pass filter, the filtered signal for MMS-8 will be mostly the tag signal component, hence resulting in high Signal to Noise Ratio (SNR) and low error probability. The FM0 filtered signal on the other hand, due to the scattered tag signal and larger noise component, the SNR will be lower and hence result in higher probability of error.