Project Proposal Report
Project Proposal Report
Project Proposal
Development of a prototype school class attendance
tracking management system, assisted by a
Radio Frequency Identification Hardware and Software System
23 January 2013
Spinasas Dimitris Perikleous 6, Kaimakli, Lefkosia, Cyprus, PostCode: 1022 Mobile Phone: 0030 6972449388 Email: [email protected]
School of Engineering and Applied Sciences
Department of Computer Science and Engineering
Table of Contents
1. Objectives
...................................................................................................1
Project Objectives
.......................................................................................................................................1
2. RFID Technology
4
Definition
4
Some Historical Knowledge
4
How Does RFID Really Work?
....................................................................................................................5
Project Proposal
Applications
.................................................................................................................................................9
Libraries ..................................................................................................................................................14
Project’s Timeline
18
Implementation Tasks
..............................................................................................................................18
References 20
Project Proposal
1. Objectives
Project Objectives
This is an attempt to develop a prototype system for tracking the attendance of students in a school class.
It will be an automated system, which, when fully developed, will be able to operate without any human
intervention. The system will run continuously and will provide the class’s teacher with real time information
regarding the presence (or absence) of each student belonging into the class. The system will also provide
the teacher with other complementary data, like overall class statistics, the average delay time of the
student’s arrival in the class, etc.
The primary purpose of the project is to explore the possibility of creating a usable system like the one
described above. Sadly, due to budget and time restrictions, the system will be a miniature implementation
and not a full scale system. However, the hardware and software tools along with the design and
implementation techniques that will be used, will be selected with the prospect of a future re-use in a future
work of bigger scale.
b. The design of the accompanying software including both the parts of the code that will
interact with the hardware system and the user interface design.
3. The testing and the demonstration of the system in a miniature real life class situation.
4. The evaluation of the system and the identification of any shortcomings both in its hardware and
software parts.
5. The proposal of future enhancements and upgrades that will make the system more usable and
capable of a broader use in an everyday operation of a real school class.
Project Proposal
1
Additional Project Details
At this point in time, much of the hardware and software tools, required for the development of the system
have been already chosen. The miniature nature of the system and the restricted budget, have been taken
into consideration. However, due to an unknown degree of uncertainty, some of the tools may be subjected
to change in the following months. Especially during the time period when, the real development will take
place, when the needs of the emerging system will determine the future choices. As for now, we are in
position to announce some of the early choices.
Hardware specifications
1. The system will certainly be a wireless RFID system. No human intervention, nor any physical
contact will be necessary for it, to work.
2. It will be connected to a portable personal computer (or to a tablet computer), via a USB
connection.
3. It will certainly consist of one (1) two - way radio transmitter - receiver, which from now on we will
call the RFID Reader and at least five (5) to six (6) RFID Tags, most probably in the size of a credit
card. The RFID Reader will not be movable, but placed in a specific place. The RFID Tags, will be
in the possession of the students and will be portable. The RFID Tags will also be two - way
transmitters - receivers interrogated by the RFID Reader. Each RFID Tag will store some (small)
user information in its non - volatile memory.
5. RFID Tags in different sizes, perhaps with the ability to store more user information.
The options (4) and (5) listed above, will be examined, if the system is unable to work properly in the first
place, or if we want to increase the flexibility of the project.
Project Proposal
2
Software concerns
A first view of the software part of the system and some early key decisions include the following:
1. The software supporting the operation of the system will be created using the JAVA Development
Environment. JAVA is indeed a very popular choice in the programming community, and there is
already a vast amount of example code and API’s to communicate with RFID Readers and RFID
Tags.
2. JAVA is also a choice that offers great compatibility at almost no extra cost, and the code could
later be transferred to many different platforms and operating systems, thus giving the opportunity
to be tested from many different individuals in the future.
3. The development will be based in Oracle’s NetBeans Development Environment, which is the
primary option for JAVA programming and is optimized for this kind of development.
4. Making the project’s source code open and available to everyone interested. If no oppositions are
raised from the project coordinator, this decision, could influence many future projects, which
could be based on this project’s code and specifications. Τhis decision will give future students
the opportunity to learn from our project and probably evolve it to something bigger and better.
A more detailed analysis of the hardware and software specifications, will follow in a later chapter, giving
more details, images of the hardware parts, an early cost analysis and example code.
Project Proposal
3
2. RFID Technology
Definition
Radio-frequency identification (RFID) is the use of a wireless non-contact system that uses radio-frequency
electromagnetic fields to transfer data from a tag attached to an object, for the purposes of automatic
identification and tracking. Some tags require no battery and are powered and read at short ranges via
magnetic fields (electromagnetic induction). Others use a local power source and emit radio waves
(electromagnetic radiation). The tag contains electronically stored information which may be read from up to
several meters away. Unlike a bar code, the tag does not need to be within line of sight of the reader and
may be embedded in the tracked object.
RFID technology was first invented in 1948, but it was not widely used for commercial applications until the
1980s. One of its first known applications was during World War II, when it was used by the British radar
system to differentiate between German aircraft and their own aircraft with attached radio transponders.
But, it was during the 60s that RFID was first considered as a solution for the commercial world with the
first commercial applications involving RFID appearing during the 70s and 80s. These commercial
applications were mainly used to identify some asset inside a single location.
Further enhancements in RFID technology started in 1998, when researchers at the Massachusetts Institute
of Technology (MIT) began to research new ways to track and identify objects as they moved between
physical locations. This research, centered on radio frequency technology and how information that is held
on tags can be effectively scanned and used in real time. The work of the MIT researchers, focused on three
(3) objectives:
2. Optimizing the networks to enable them to store and deliver larger amounts of data, and
Project Proposal
4
By 2003, these objectives had been achieved, thus making RFID economically viable and more affordable
for commercial use. More recently, due to more technology advances the price of RFID equipment has
dropped to where it is now feasible for individuals to use it for educational purposes and personal
experimentation.
As already said, RFID is the reading of physical tags on single objects, that emit radio signals to be picked
up by a reader device. These devices (RFID Reader and RFID Tag) must be accompanied by a
sophisticated software architecture that enables the collection and processing of location - based
information in real time. The complete RFID picture combines the technology of the RFID Tags and RFID
Readers with access to a database, ensuring storing of the information about the relevant objects and their
physical location.
RFID Tags contain a unique identification number called an Electronic Product Code (EPC), and potentially
additional information specific to the application. All information stored on RFID tags accompanies items as
they travel and can be scanned wirelessly by the RFID Reader at high speed and from a distance of several
meters.
An RFID tag is a tiny radio device that is also referred to as a transponder, smart tag, smart label, or radio
barcode. The tag comprises a simple silicon microchip, typically less than half a millimeter in size. The
whole device can be encapsulated in different materials (such as plastic) dependent upon its intended
usage. The finished tag can be attached to an object, typically an item, box, pallet or even a person and
read remotely to query its identity, position, or state. There are currently two types of tags:
1. Passive, and
2. Active
Project Proposal
5
Passive tags have no directly associated power source, while active tags do. Passive and active tags can
be either read only or read / write tags.
In the case of a passive tag the reader initiates communication via a radio signal strong enough to enable
the tag to "answer" the reader with a return radio signal carrying information regarding the item to which it
is attached.
In the case of an active tag either the tag or the reader can initiate communication. Further, active tags allow
for a greater distance between the reader and the tag. It should be noted that with the recent improvements
in passive tag technology the distance limitation is decreasing. Some passive tags are closing the distance
range gap over active tags.
The RFID Reader—sometimes called an interrogator or scanner—sends and receives RF data to and from
the tag via antennas. A reader may have multiple antennas that are responsible for sending and receiving
radio waves.
The ThingMagic Astra RFID Reader and the ThingMagic Mercury5e embedded version of an RFID Reader
In some cases, especially when operating in external environments, the RFID Reader’s embedded
antenna’s range may not be satisfactory enough to meet the requirements of it’s proposed use. In such a
case, an external antenna may be used to increase the operating distance range between the RFID Reader
and the Tag. The external antennas usually provide additional advantages, like the ability to withstand the
extreme heat, cold and moisture of outdoor environments, as well as high humidity, dust and vibrations
encountered in industrial use.
Project Proposal
6
4. Host Computer
The data acquired by the RFID Readers are almost always passed to a host computer, which may run
customized RFID software to filter the data, route it to the correct application, store it to a database, or to
be processed into useful information and presented to the end user.
Project Proposal
7
3. RFID Uses
Easy to be attached
The RFID tag can be easily attached to an object and used to track and manage inventory, assets, people,
etc. For example, it can be affixed to cars, computer equipment, books, mobile phones, etc.
RFID offers advantages over manual systems or use of bar codes. The tag can be read if passed near the
RFID reader antenna, even if it is not visible. The tag can be read inside a case, box or other container, and
unlike barcodes, RFID tags can be read hundreds at a time. Bar codes can only be read one at a time using
current devices.
Low cost
Today, the cost of passive tags starts at 0.05 USD each. Special tags, intended to be mounted on metal or
used underwater, can go up to 5 USD. Active tags for tracking containers, medical assets, or monitoring
environmental conditions in data centers start at 50 USD and can go up over 100 USD each. Battery
assisted passive tags cost around 3 – 10 USD and also have sensor capability like temperature and
humidity.
Project Proposal
8
Applications
1. Access management
2. Tracking of goods
RFID’s future
Technological advancements are expected to bring a significant increase in RFID usage. The cost of RFID
equipment and tags is constantly decreasing while its performance and reliability is increasing. Thus, RFID
technology is more and more widely adopted and is becoming a standard in many everyday applications.
Project Proposal
9
4. Project’s RFID Equipment
As already it has been declared in chapter 2 (Objectives), the restricted budget and the miniature nature of
the system have proven to be the two (2) main factors taken into consideration when choosing the
hardware components of the system. Thus, at least, at this point in time, the RFID hardware components
are coming from the site: www.phidgets.com.
Phidgets, which is the name of all the hardware components sold in this site, are described in the site as:
Phidgets are a set of "plug and play" building blocks for low cost USB sensing and
control from a PC. All the USB complexity is taken care of by a robust API.
1. The price is affordable, thus allowing the restricted budget to provide at least one (1) RFID Reader
and many RFID Tags to experiment with.
2. At the same time, the API is indeed very robust, giving the ability, both, to program in Java (the
programming environment of choice) and, for any future additions or extensions, the ability to be
implemented in almost any programming language or operating system.
Project Proposal
10
RFID Reader
The RFID Reader of our choice is the one with the product code: 1023_1 - PhidgetRFID
The PhidgetRFID reads RFID tags that are brought in close proximity to the reader and
returns the tag identification number.
.............
.............
The PhidgetRFID (as well as the RFID tags sold by Phidgets) uses the EM4102 protocol. Any
other tags that also use the EM4102 protocol can be used with the PhidgetRFID reader.
Because passive tags require a strong RF field to operate, their effective range is
limited to an area in close proximity to the RFID reader. The distance over which the
RFID tag is usable is affected by such things as the tag shape and size, materials being
used in the area near the reader, and the orientation of the reader and tag in respect to
each other and in their operating environment. The smaller a tag, the closer it must be
to the reader to operate.
This choice, inevitably, leads us to the following choice for the RFID Tags
Project Proposal
11
RFID Tags
The RFID Tags of our choice, are the ones provided in a set by the seller. The set comprises of 3 kinds of
Tags:
The RFID Tags: a plastic black disc, a key fob and a credit card
All the Tags shown above, have a typical read distance of ten (10) to eleven (11) cm.
By this time, there is no evidence that we should use an external antenna to increase the read distance of
the Tags and the sensitivity of system. The RFID Reader of choice has an embedded antenna and as shown
in its product description, it has not the ability to connect to an external antenna.
When the time for the initial testing of the system comes, we will examine any available options to increase
the read distance if needed.
Project Proposal
12
NetBeans Programming Environment
All the programming in this project will be implemented in Oracle’s NetBeans IDE.
The main reason behind this choice is that NetBeans is the defacto choice for Java programming, very
popular among the Java community and it has the support of a huge IT company like Oracle.
Project Proposal
13
Phidgets Java Application Programming Interface (API)
Libraries
To be able to program the Phidgets RFID Reader in windows, we primarily need two (2) Library Files:
1. phidget21.dll, which contains the actual Phidget library, which is used at run-time. By default, it
is placed in C:\Windows\System32.
2. phidget21.jar, which is the Phidget Java library for JDK 1.4.2 or higher. By default, it is placed
into C:\Program Files\Phidgets.
The RFID Reader can be programmed with Java in the NetBeans IDE.
Our project will be created from scratch. Thus, to add a Phidget function call to an the project, we'll need to
configure our development environment to properly link the Phidget Java library. In our code, we will need
to include the Phidget Java library as follows:
import com.phidgets.*;
import com.phidgets.event.*;
After these two (2) instructions, the project will have access to the Phidget function calls and we are ready
to begin coding.
Functions
Returns the number of digital outputs available on this PhidgetRFID. These are the outputs provided by the
terminal block.
Sets/Returns the state of an output. True indicates activated, False deactivated. False is the default state.
Project Proposal
14
bool AntennaOn() [get,set]
Sets/Returns the state of the antenna. True turns the antenna on, False turns it off. The antenna if by default
turned off, and needs to be explicitely activated before tags can be read.
Sets/Returns the state of the onboard LED. True turns the LED on, False turns it off. The LED is by default
turned off.
Returns the last tag read. This method will only return a valid tag after a tag has been seen. This method
can be used even after a tag has been removed from range of the reader.
Returns the state of whether or not a tag is being read by the reader. True indicates that a tag is on (or near)
the reader.
Events
OnTag(string) [event]
An event issued when a new tag is seen by the reader. The event is only fired one time for a new tag, so the
tag has to be removed and then replaced before another OnTag event will fire.
It is very important not to block in this event, or you will receive extra attach / detach events.
OnTagLost(string) [event]
Project Proposal
15
Example Application
The screenshot below, is taken from a sample application that is provided by the Phidget RFID Reader and
Tag’s manufacturer.
1. Populate the fields with details from the RFID Reader and its current status.
2. Enable the user to change the values of the attributes of the RFID reader such as enable or
disable the antenna and onboard led.
3. Show the Tag’s Data, i.e. the data attached into the Tag’s memory.
Project Proposal
16
Example Code
Project Proposal
17
Project’s Timeline
Implementation Tasks
1. Ordering the RFID Readers and Tags from www.phidgets.com (expected delivery in 2 weeks)
2. Studying the Java API for interacting with the RFID Reader and Tags.
a. RFID Reader
b. RFID Tags
c. USB cable
d. Laptop
5. Testing the correctness of the hardware components, using the sample applications.
6. Writing the Java code to interact with the RFID Reader and Tags. This task includes:
7. Completing the User Interface and integrating the code from task 6 in the application.
Project Proposal
18
Proposed timeline
Assembly of
4
RFID hardware
Testing of
5
RFID hardware
8 Testing
Project Proposal
19
References
2. Roberti. Mark, 2007. The History of RFID Technology? [online]. Available from: http://
www.rfidjournal.com/article/articleview/1338/1/129/. [Accessed 12 January 2013]
3. An Overview Of RFID Technology, 2011. DataFlows Dimensions Inc. [online] Available at: <http://
www.dataflows.com/RFID_Overview.shtml> [Accessed 14 January 2013 ].
5. Phidgets: Products for USB Sensing and Control, 2012. Phidgets. [online] Available at: <http://
www.phidgets.com/products.php?category=14> [Accessed 15 January 2013 ].
6. Phidgets: RFID Reader 1023 User Guide, 2012. Phidgets. [online] Available at: <http://
www.phidgets.com/docs/1023_User_Guide> [Accessed 15 January 2013 ].
7. ThingMagic: Embedded RFID Readers, 2012. ThnigMagic. [online] Available at: <http://
www.thingmagic.com/embedded-rfid-readers > [Accessed 18 January 2013 ].
Project Proposal 20