Professional Documents
Culture Documents
Report - Student Attendance System Using Virual Beacon
Report - Student Attendance System Using Virual Beacon
1
ACKNOWLEDGEMENT
With immense pleasure, We are presenting this project report on ”A Student At-
tendance System using Virtual Beacon” as a part of the curriculum of B.E.IT. We are truly
grateful to our project guide Prof. Sneha Tirth for her valuable guidance and encouragement.
Her encouraging words went along way in providing the patience and perseverance, which were
needed to complete this report successfully. We would like to express our sincere thanks to
Prof. Gajanan Arsalwad, H.O.D. IT department of Trinity College of Engineering and Re-
search. We would also like to thank all our project members and our parents who have directly
or indirectly guided and helped us in the preparation of this project and also for giving us an
unending support right from the stage this was conceived. We also acknowledge the research
work done by all word wide researchers in this field.
DARSHAN BHAVSAR
HUZAIB SAYYED
AHTESHAM SHAH
KAIF SHAIKH
2
ABSTRACT
3
Contents
1 INTRODUCTION 12
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 LITERATURE SURVEY 16
4
2.2 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 SPECIFICATION 22
3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 DESIGN 27
5
4.1.5 Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.2 Working . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1 Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.1.3 WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.1.5 MonthlyAttendanceSheet . . . . . . . . . . . . . . . . . . . . . 50
6.2 Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6
6.2.1 Student Registration . . . . . . . . . . . . . . . . . . . . . . . . 54
6.2.4 Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
CONCLUSION 68
FUTURE SCOPE 69
REFERENCES 70
ANNEXURE 36
7
List of Figures
4.4 Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.5 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8
6.9 Day wise log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9
List of Tables
10
A Student Attendance System using Virtual Beacon
Chapter 1: INTRODUCTION
1.1 Background
Beacon is a hardware transmitter device that broadcast their identifier to nearby portable
electronic device. The technology enables smartphones, tablets and other devices to perform
actions when in close proximity to a beacon. Bluetooth beacons use Bluetooth low energy
proximity sensing to transmit a universally unique identifier picked up by a compatible app or
operating system. The identifier and several bytes sent with it can be used to determine the
device’s physical location , track customers, or trigger a location based action on the device
such as a check in on social media or a push notification. Bluetooth beacon transmitters come
in a variety of form factors ,including small coin cell devices, USB sticks, and generic Bluetooth
4.0 capable USB dongles. Virtual beacons are also type of beacons in which the hardware is
reduced and maximum software is used. These beacons have many advantages over the stan-
dard beacon. The installation cost is minimised as no hardware is used. In this beacon all
the functionalities of the traditional beacon are mapped and it can be used easily. The virtual
beacon can be used as a software and is very handy and reduces the human efforts. On other
hand the accuracy of the virtual beacon is high as compared to the hardware beacon.
1.2 Overview
As student signature on attendance paper has been used for identifying the student for various
purposes including registration of attendance in the classroom. For example, attendance sheet
is provide to take attendance where student signature beside their respective name and roll
numbers. Using the attendance sheet the respective teacher/professor enters the information
of the present students information into database of attendance so that he/she is marked
present. The problem with this system is that it consumes much time as each student has to
do the same step over and over again till the end of semester. We can reduce the time for
attendance registration if we use multiple devices in parallel [5] to take attendance of students.
The idea to use the students own smartphones of which majority has the Android operating
system for attendance. In order to mark students attendance, we have made a software with all
the functionality of a beacon device compliant with the Bluetooth Low Energy specifications
(referred to as BLE beacon) to transmit a magic number to the Android devices within the
classroom. Requesting the magic number to be sent together with the student ID, we can
let only the present students in the classroom to send attendance and can determine cheating
students. The proposed system does the task like marking attendance more precisely and
decreasing paper work and errors like proxy, missing attendance by use of BLE (Bluetooth Low
Energy) beacon. But for avoiding the proxy of student we have added one extra functionality of
face detection [8] that is when student will get connected with beacon and give attendance the
photo of the student will be taken automatically from front camera of android device [7] and get
matched with the database. It make use of mobile devices to help with the attendance tracking
process but not specifically require the use of student owned mobile devices. The system uses
open source software to minimize development and maintenance costs and installation is fast
and simple. Our project focus on the analysis of the data and this project can reduce the
large workload of college. The output is in the form of virtualization of the data in the forms
of graphs and the future prediction from the data and is a real time in the form of sheets.
The portal sheet of database will automatically calculate the average attendance of the student
weekly , monthly as well as semester wise and if the attendance of the student is less than 75
percent the message will be send to the parent of the student or on the mail account of parent.
The software will also show the location [12] of the lecture which is currently ongoing when the
student will in the range .
1.3 Relevance
Attendance system is the integral part of any administration and cannot be ignored. Various
methods have been implied from decades in order to achieve maximum results and these meth-
ods are tend to consume a lot of time. Modern technology has resulted in advancement of
various techniques that could be used and consume less time. This project of the attendance
system while using a low energy bluetooth beacon is one of them.
Our project mainly focuses on the disadvantages of the traditional attendance method in which
calling out the names or roll numbers of students is done. It takes a fair amount of time of the
class in which something beneficial could be learnt. Our project uses the functionality of ble
beacon which is low energy bluetooth device that comes along with an application on android
device and is the most important part of the project. In this case there are two applications
which is the student application and the teacher application. The student application is the
beacon while the teacher application is the reciever. In this project the student turns on the
beacon via the application and his/her unique id is recieved by the teacher and the attendance
is marked. This project also has private server where all the records are stored. These records
can be sorted day wise, month wise ,yearly. Even a tentative defaulter list is generated and the
parents are informed of the defaulters via email.
Chapter 1: Introduction
This chapter contains the Introduction, Motivation and basic idea about the project. In Back-
ground section we talk about the existing work done in this field and what we are doing in our
system. Also, how our system may help the teachers manage the time by reducing their efforts.
Chapter 3: Specification
This chapter contains details about the Architecture, Different technologies used in the system,
algorithms we used, etc. The Hardware and Software requirements, performance requirements
and the tools used to develop the system is also discussed. We are also stating why we used
Mobile Applications as our area of development.
Chapter 4: Design
This chapter consists of the most important part of the project which is the design. The design
gives us the basic understanding of the project. It consists of the class diagram, data flow
diagram which consists of the level, use case diagram, sequence diagram, activity diagram,
deployment diagram, component diagram, package diagram.
Chapter 6: Implementation
This chapter consists of the partial implementation of the project. It has the system design
architecture which shows the architecture of the project. Working of the project is also covered.
Some of the modules of our project are mentioned in this chapter.
Our project relates to other projects in many ways. we are using mobile computing domain in
our where we can solve the proxy issue in our application by using various image processing
algorithms. Whereas in other projects also they have used cloud There exist many approaches
which does not have an solution for proxy detection and management in bit complex with each
other.
This paper introduces a Near Field Communication (NFC) supported collage attendance system
for college students. To come out from all these issues we put NFC tag into service. Each tag
has a unique ID, precluding the duplication of a tag. These NFC tag are given to students
when they registered in college[6]. When student enter in class rooms and touch or move these
tag on lecturer mobile phone, NFC readers program will read these tags, identify the students
from their respective NFC tag and embedded camera will capture the face of particular student
then application send all the data to college server and in server side validation program will
check the data for validation (compare new data with previous data) if valid data found then
program will update the database as marking attendance otherwise mark student is absent.
These all done with one system no manual working this means no class time will be wasted.[7]
This paper introduces a new automatic attendance management marking system, without any
interference with the regular teaching process. The system can be used also during exam sessions
or other teaching activities where attendance is obligatory. This system eliminates classical
student identification such as calling student names, or checking respective identification cards,
which can not only interfere with the teaching process, but also can be stressful for students
during exam sessions.[8]
In this approaches a smart attendance system using NFC that will simplify the attendance
process, by simply touching an attendance poster or the lecturer’s NFC based mobile device in
the class.NFC is a new, short range, high frequency, low bandwidth, and wireless communication
technology. NFC communication[7] is activated by touching two NFC enabled devices together,
or bringing them into close range. The range is usually few centimeters, and it operates at the
frequency of 13.56 MHz. The maximum data transfer rate is 424kbit/s. NFC is based on
Radio frequency Identification (RFID) thus its communication involves initiator and a target,
the initiator actively generates a Radio Frequency (RF) field that can be used as a signal to
power a passive target. The initiator (active) has its own internal power that can be used to
power the ICs that generate the outgoing signal; while the target (passive) has only ICs with
no internal power, which makes it to be in different forms like tags, stickers or cards.[6]
This paper automates the design and implementation of students’ attendance management
system, taken into consideration easy access and time saving. Radio Frequency Identification
(RFID) and wireless technology are two technologies which will be applied as infrastructure in
the indoor environment. University Based Services (UBS) and tag IDs of the RFID [11] are
being used in this paper, in order to determine the attendance list for academic staff.How- ever,
manual attendance process during lecture time con- sumed valuable time and hard maintenance
task. Additional and miscellaneous applications include: electronic surveil- lance, protection
of valuable equipments against theft, con- trolled access to vehicles, Electronic Road-Pricing
(ERP) sys- tems, controlled access of personnel to secure or hazardous locations, time keeping
systems, animal and automatic identification of tools, identification of product variants and
process control in flexible manufacturing systems.[5]
This approach uses a Bluetooth and RFID reader application.This RFID reader gets the student
information[11] through student matrix card.After get the student information, it will send to
the computer in that class or lab. After that the individual in charge (professor, staff, and
student) must connect to the PC using Bluetooth to make his/her see the student attendant
in that class. These systems are to avoid student cheating about their attendant. At the same
time, this system will send a student attendance details to the lecturer e-mail after the class
dismiss. Bluetooth based new wireless applications can add comfort and security by automation
of the tasks earlier controlled manually. In this paper advantages of low cost, low power and
robustness of Bluetooth have been exploited to propose and execute two new consumer systems
in the form of a garage door opening system and an electronic attendance record system.[9]
These techniques, which use physical data, are receiving attention as a personal authentication
method that is more convenient than conventional methods such as a password or ID cards.
Biometric personal authenticcation uses data taken from measurements. Such data is unique
to the individual and remains so throughout one’s life. This technology has been applied for
controlling access to high-security facilities, but it is now being widespread developed in infor-
mation systems such as network, e-commerce, and retail applications. In these technologies,
iris recognition becomes the most mature and popular biometrics technology[1] used in au-
tomatic personal identification. In the beginning, the idea of using iris patterns for personal
identification was originally proposed in 1936 by ophthalmologist Frank Burch.[10]
service for short alphanumeric (up to 160 bytes) messages. Messages are transported in a store-
and-forward fashion. For point-to-point SMS, a message can be sent to another subscriber to
the service, and an acknowledgement of receipt is provided to the sender. SMS can also be
used in a cell-broadcast mode, for sending messages such as traffic updates or news updates.
Messages can also be stored in the SIM card for later retrieval.[3]
This approach uses Wireless and mobile telecommunication module is taught. Inside the class-
room there is one antenna/reader which has an embedded TCP server listening on port 8080 and
one external antenna that will read every tag at particular time where each tag will represent a
student. Using passive RFID tags [5] the antenna/reader will scan the tags by one button click
(or automatically) of our system application and the tags will be checked automatically all the
time and each match of student-tag will be recorded in database every 15 minutes.The system
will be presented in a web based platform which will be implemented using HTML, JavaScript
and CSS as front-end whereas MySQL and PHP 5.1.x scripting language as back-end.[11]
In this approach a biometric attendance system is designed and implemented for efficient real
time monitoring as well as transparency in the management of student’s genuine attendance
using GSM based wireless fingerprint terminals[12] (WFTs). This system can be suitable to
deploy at the educational institutions. Each individual has a unique pattern of fingerprints
motivates the use of them for biometric authentication and are verified for finding the pres-
ence of the students in the institute. In this paper, two different approaches are discussed
to authenticate the captured fingerprint in the verification process. The first approach uses
data base created by the organization itself and the second approach uses the Aadhaar Central
Identification Repository (CIDR).[1]
Attendance is a main requirement of the schools and universities in most of the schools and
collages the teacher manually records the attendance of the students, this wastes valuable time
and energy. The proposed system of Student Attendance System using Virtual Beacon uses a
virtual beacon and the android device to take the attendance which saves the valuable time
as well as the energy. The designed system contains the Teacher,Student applications, Server,
Android Devices, Beacon connectivity and the relationship between each and every components
of the system through wifi of router. The attendance of student viewed and analyzed at the
server level. All the data is present at server which is sended by teacher. The Student when
login into student app then the mobile will create one unique beacon ID, and the app present in
the teacher’s mobile will locate all the beacon IDs present in the class and mark them present
then the app will send all the data towards the server to manage the database.The proposed
system of Attendance Management using Virtual Beacon has the capabilities to perform the
following functionalities.
• Calculate the attendance Week wise, Month wise and Semester wise
• To make the better use of technology and the universality of the mobile phones.
• To avoid the disturbance occured at the time of passing the attendance sheet in the
classroom.
2.3 Objective
This project is basically designed for taking attendance,which includes creating an individual
student beacon and scanned by teacher.But it also aims to achieve :-
• Analyze the drawback of existing system(manual system) and overcome in our project.
Chapter 3: SPECIFICATION
3.1 Architecture
The system design architecture shows the Teacher, Student , Server , Devices and
Beacon connectivity and their relationship between them. Attendance of student is viewed and
managed at the server and can be analysed.
3.2.1 Hardware
• Smart Phone
3.2.2 Software
• Database MySQL
• Java
• SQL
Performance requirements should to be tracked from systems inception through its whole life-
cycle including design, development, testing, operations, and maintenance. They are the back-
bone of the performance engineering process. However different groups of people are involved
in each stage and they use their own vision, terminology, metrics, and tools that makes the
subject confusing when you go into details. The paper discusses existing issues and approaches
in the irrelationship with the performance engineering process.
Oracle GlassFish Server Oracle GlassFish Server is the world’s first implementation of the Java
Platform, Enterprise Edition (Java EE) 6 specification. Built using the GlassFish Server Open
Source Edition, Oracle GlassFish Server delivers a flexible, lightweight, and production-ready
Java EE 6 application server.
NetBeans IDE is a free, open source, integrated development environment (IDE) that en-
ables you to develop desktop, mobile and web applications. The IDE supports application
development in various languages, including Java, HTML5, PHP and C++. The IDE pro-
vides integrated support for the complete development cycle, from project creation through
debugging, proling and deployment. The IDE runs on Windows, Linux, Mac OS X, and
other UNIX-based systems. The IDE provides comprehensive support for JDK 8 technolo-
gies and the most recent Java enhancements. It is the rst IDE that provides support for
JDK 8, Java EE 7,andJavaFX2.The IDEfully supports JavaEE using the latest standards for
Java,XML,Webservices,and SQL and fully supports the GlassFish Server,the reference imple-
mentation of Java EE.
NetBeans IDE is a free, open source, integrated development environment (IDE) that enables
you to develop desktop, mobile and web applications. The IDE supports application devel-
opment in various languages, including Java, HTML5, PHP and C++. The IDE provides
integrated support for the complete development cycle, from project creation through debug-
ging, proling and deployment. The IDE runs on Windows, Linux, Mac OS X, and other
UNIX-based systems. The IDE provides comprehensive support for JDK 8 technologies and
the most recent Java enhancements. It is the rst IDE that provides support for JDK 8, Java EE
7,and JavaFX2.The IDE fully supports JavaEE using the latest standards for Java,XML,Web
services,and SQL and fully supports the GlassFish Server,the reference implementation of Java
EE.
Feature:
• Built-in support for Google Cloud Platform, enabling integration with Google Cloud
Messaging and App Engine
• Instant Run to push changes to your running app without building a new APK
Smartening up the attendance system is going mainstream. And this hi-tech area is supposed
to simplify and improve our management[18]te in a matter of minutes. We, potential users,
expect all these devices to think and x the new level of comfort, integrity and entertainment
quality for us.For a majority of student ,the Virtual Beacon concept looks a bit complicated to
understand but gadgets tend to be too smart and much time consuming. This project is going
to outline current situation and trends in Attendance Management market, spell out challenges
for Attendance Management face when offering technology to potential colleges or university
and nally, will demonstrate benets of a decision to develop a Student Attendance Management
app.
• Reduces cost.
• User Friendly.
Chapter 4: DESIGN
A use case diagram is used to show the interaction with systems and it is a graphical
representation of the actors who will interact with our system and also depict the overall
functionality.In this use case the actors are Student and Teacher indirectly interacting with
use cases.The cases which Student are the interacting are the registration ,login, on bluetooth,
select the subject name with its code , take the live photo whereas the Teacher actor interacts
with registration,login, on the virtual beacon app.
The Class diagram shows the conceptual view of the overall system.[14] The diagram
having classes like Student, Virtual Beacon,StudentSystem ,Registration,Database, Teacher.
Class diagrams can also be used for data modeling. All the members of all the classes and
methods are public.All these classes have their respectively functionalities.According to classes
one or many student as well as teachers can have relation with only one Student App.Teacher
class have association with virtual beacon class for the purpose of transmission of UID.
DFD Level 0
DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole
system or process being analyzed or modeled. It’s designed to be an at-a-glance view, showing
the system as a single high-level process, with its relationship to external entities. The Unique
Student ID is taken as in input and Student Attendance as an output. Bluetooth Beacon is
an function used in this model.The flow goes from Student Id to beacon initializating session
to scanning of Id to Student Attendance. Every student has his own unique ID which will be
given as input to the beacon function which is transmitting the session id will be scanned by
student and then combine them and produces an output of marking attendance.
DFD Level 1
DFD Level 1 provides a more detailed breakout of pieces of the Context Level Dia-
gram.It highlight the main functions carried out by the system, as you break down the high-level
process of the Context Diagram into its subprocesses. In DFD level 0 we had two sides one
was Student and another was Teacher. In teacher domain the teacher is assigned according to
session name and ID. The flow goes now to application where the teacher domain starts trans-
mitting the session id where the student can scan for it.The application process the ID and
then the flow goes to the web sheet or port where the student UID and session ID is combined
and stored in it. Analyzing of records can be done here.
DFD Level 2
DFD Level 2 then goes one step deeper into parts of Level 1. It may require more
text to reach the necessary level of detail about the system’s functioning.The Teacher,Student
are the input as well output and the Application and Beacon is a kind of function where all
processing is done. All these processed data flows to Sheet or Portal.The teacher initiate the
session and passing these values to the application function. The Student having its own UID
and the session ID which is transmitted by the Beacon function where it is scanned by Student
and these flows to the Application giving all these values. All these values are the combination
of user UID and the session ID which are encapsulated which states that that user is present
in that session.These encapsulated packet now flows to Sheet or portal where all these record
are stored to maintain or update the attendance.Analyzing the records as per the requirement
can be done in this sheet or portal.
Package diagram is UML structure diagram which shows packages and dependencies
between the packages. Model diagrams allow to show different views of a system, for example,
as multi-layered application model.A package is rendered as a tabbed folder - a rectangle with
a small tab attached to the left side of the top of the rectangle. If the members of the package
are not shown inside the package rectangle, then the name of the package should be placed
inside.This is the package diagram of student attendance system with beacon.In our diagram
there are seven packages of names Student,Android application,UID,Android API,Beacon ap-
plication,Bluetooth and SQLite.Members of the package may be shown outside of the package
by branching lines from the package to the members. A plus sign (+) within a circle is drawn
at the end attached to the namespace (package). This notation for packages is semantically
equivalent to composition.In above diagram Android application,Android API and Bluetooth
are the members of the Beacon application.
Components are wired together by using an assembly connector to connect the re-
quired interface of one component with the provided interface of another component[16]. An
assembly connector is a connector that is de ned from a required interface or port to a pro-
vided interface or port. When using a component diagram to show the internal structure of
a component, the provided and required interfaces of the encompassing component can dele-
gate to the corresponding interfaces of the contained components. Above given diagram is a
component diagram of smart student attendance system using beacon.In this diagram there
are six components of names Bluetooth,Student,Android API,Beacon Application,SQLite and
Android Application.Dotted arrow represents the dependancy between two components.
A sequence diagram is an interaction diagram that shows how processes operate with
one another and in what order[15]. It is a construct of a Message Sequence Chart. A sequence
diagram shows object interactions arranged in time sequence. It depicts the objects and classes
involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are sometimes called event
diagrams or event scenarios.The sequence have objects and classes such as Student, Teacher
,UID,Application . These object interact with each other using message sequnece and giving
acknowledgement.Also showing the lifeline of the component till where they interact with each
other.In application has its own task which is shown by self message.
SET THEORY
2. S=Start State
3. E=End State
4. I=Set of Input
(b) i1=BeaconID
(c) i2=UserID
5. O= Set of Output
8. F=Set of function
4.2.2 Working
3. Administrator Add Teacher and gives UserID and Password to each Teacher.
5. Student initiate with Server IP address with Teacher grants permission to register.
6. During Lecture , Teacher login to Teacher-App and navigate to its respective lecture and
start Lecture(session).
8. Teacher-App will collect all the Student ID and after end lecture send all record to Server.
9. Respective Teacher or Administrator on Admin-App can view all the attendance month
wise,day wise.
10. Admin-App auto generate defaulter and provide facility to notify their Parent.
11. Admin-App creates Excel Sheet of all Student data for further procedure.
.
q1=New Beacon Registration.
q2=Reading new Beacons.
q3=Verification of Beacons.
q4=Attendance Marking.
q5=Attendance Report Generation.
Ef f ort = a ∗ KLOC b
Duration = c ∗ Ef f ortd
6.1 Coding
23 . s e t I d 3 ( ” 0 x” +”AABB” )
24 . s e t M a n u f a c t u r e r ( 0 x0118 )
25 . setTxPower ( −59)
26 . s e t D a t a F i e l d s ( Arrays . a s L i s t ( new Long [ ] { 0 l } ) )
27 . build () ;
28 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” S u c e s s f u l l y IBeacon Created ” ,
Toast .LENGTH SHORT) . show ( ) ;
29 R e g i s t e r T a s k t a s k=new R e g i s t e r T a s k ( ) ;
30 task . execute () ;
31 }
2 p r o t e c t e d v o i d onCreate ( Bundle s a v e d I n s t a n c e S t a t e ) {
3
4 s u p e r . onCreate ( s a v e d I n s t a n c e S t a t e ) ;
5
6 setContentView (R. l a y o u t . a c t i v i t y s t a r t ) ;
7 Log . e (TAG, ” A p p l i c a t i o n S t a r t e d ” ) ;
8 d i s t = ( TextView ) findViewById (R. i d . d i s t ) ;
9 // l v =( L i s t V i e w ) findViewById (R. i d . l i s t V i e w ) ;
10 manager = BeaconManager . g e t I n s t a n c e F o r A p p l i c a t i o n ( t h i s ) ;
11
19 @Override
20 p r o t e c t e d v o i d onDestroy ( ) {
21 s u p e r . onDestroy ( ) ;
22 manager . unbind ( t h i s ) ;
23 }
24
25 @Override
26 p u b l i c v o i d on Be ac o nSe r vic e Co nne ct ( ) {
29 {
30 manager . s e t M o n i t o r N o t i f i e r ( new M o n i t o r N o t i f i e r ( ) {
31
32
33 @Override
34 p u b l i c v o i d d i d E n t e r R e g i o n ( Region r e g i o n ) {
35 try {
36 Log . d (TAG, ” d i d E n t e r R e g i o n ” ) ;
37 manager . s t a r t R a n g i n g B e a c o n s I n R e g i o n ( r e g i o n ) ;
38
39
40 } c a t c h ( RemoteException e ) {
41 e . printStackTrace () ;
42 }
43
44 }
45
46 @Override
47 p u b l i c v o i d d i d E x i t R e g i o n ( Region r e g i o n ) {
48 try {
49 Log . d (TAG, ” d i d E x i t R e g i o n ” ) ;
50 manager . stopRangingBeaconsInRegion ( r e g i o n ) ;
51
52
53 } c a t c h ( RemoteException e ) {
54 e . printStackTrace () ;
55 }
56
57 }
58
59 @Override
60 p u b l i c v o i d d i d D e t e r m i n e S t a t e F o r R e g i o n ( i n t i , Region r e g i o n ) {
61
62 }
63 }) ;
64
65 manager . s e t R a n g e N o t i f i e r ( new R a n g e N o t i f i e r ( ) {
66 S t r i n g Id , Major , Minor ;
67
68 @Override
69 p u b l i c v o i d didRangeBeaconsInRegion ( f i n a l C o l l e c t i o n <Beacon>
beacons , Region r e g i o n ) {
70 // s t u d e n t s=new Vector<Student >() ;
71
72
73 try {
74 Thread . s l e e p ( 1 0 0 0 0 ) ;
75
76 } catch ( InterruptedException e ) {
77 e . printStackTrace () ;
78 }
79
80 i d =””;
81
82 f o r ( Beacon onebeacon : b e a co n s )
83 {
84
85
86 s t u d e n t=new Student ( ) ;
87 // i d+=””+onebeacon . g e t I d 1 ( ) +”\n\n ” ;
88 S t r i n g beaconID=””+onebeacon . g e t I d 1 ( ) ;
89 S t r i n g r e s u l t = beaconID . r e p l a c e A l l
(”[\\ −\\+\\.\\ˆ: ,]” ,””) ;
90 s t u d e n t . ID =r e s u l t ;
91
92 b o o l e a n found=f a l s e ;
93 f o r ( Student s : s t u d e n t s )
94 {
95
96 i f ( s . ID . e q u a l s ( s t u d e n t . ID ) )
97 {
98 found=t r u e ;
99 break ;
100
101 }
102 }
103 i f ( ! found )
104 { i d+=s t u d e n t . ID+”\n\n ” ;
105 s t u d e n t s . add ( s t u d e n t ) ;
106 }
107
108 }
109
114 d i s t . setText ( id ) ;
115 }
116 }) ;
117
118 }
119 }) ;
120
121
122
123 try {
124 manager . s t a r t M o n i t o r i n g B e a c o n s I n R e g i o n ( r e g i o n ) ;
125
126 } c a t c h ( RemoteException e ) {
127 e . printStackTrace () ;
128 }
129
130 }
131
132 }
133
137 @Override
138 p r o t e c t e d S t r i n g doInBackground ( S t r i n g . . . a r g 0 ) {
139 // TODO Auto−g e n e r a t e d method s t u b
140
141 r e s p =( S t r i n g ) S e r v e r . c a l l S e r v i c e ( a t t e n d a n c e ,
142 ” Attendanceupdate ” , ” o b j ” , f a l s e ) ;
143 System . out . p r i n t l n ( ” Responce”+r e s p ) ;
144
148 }
149 }
6.1.3 WebService
3 S t r i n g c o n n e c t i o n = ” j d b c : mysql : / / l o c a l h o s t / db14576 ” ;
4 String user = ” root ”;
5 S t r i n g password = ” r o o t ” ;
6 try {
7 C l a s s . forName ( ” com . mysql . j d b c . D r i v e r ” ) . n e w I n s t a n c e ( ) ;
8 con = DriverManager . g e t C o n n e c t i o n ( c o n n e c t i o n , u s e r , password ) ;
9 System . out . p r i n t l n ( ” Database Connectiomn Ok” ) ;
10 } catch ( Exception e ) {
11 System . out . p r i n t l n ( ” E r r o r o p e n i n g d a t a b a s e : ” + e ) ;
12 }
13 }
14
15 Object s t r i n g T o O b j e c t ( S t r i n g i n p ) {
16 byte b [ ] = Base64 . decode ( i n p ) ;
17 Object r e t = n u l l ;
18 try {
19 ByteArrayInputStream b i s = new ByteArrayInputStream ( b ) ;
20 O b j e c t I n p u t i n = new ObjectInputStream ( b i s ) ;
21 r e t = ( Object ) i n . r e a d O b j e c t ( ) ;
22 bis . close () ;
23 in . close () ;
24 } catch ( Exception e ) {
25 System . out . p r i n t l n ( ”NOT DE−SERIALIZABLE : ” + e ) ;
26 }
27 return ret ;
28 }
29
30 S t r i n g o b j e c t T o S t r i n g ( Object o b j ) {
31 byte [ ] b = n u l l ;
32 try {
43 @WebMethod( operationName = ” h e l l o ” )
44 p u b l i c S t r i n g h e l l o (@WebParam( name = ”name ” ) S t r i n g t x t ) {
45 return ” Hello ” + txt + ” ! ” ;
46 }
47
60 return ” s u c c e s s f u l l y Registered ”;
61
62
63 } catch ( Exception e ) {
64 System . out . p r i n t l n ( ” E r r o r i n i n s e r t i n g Data . . ” + e ) ;
65 e . printStackTrace () ;
66 }
67 return null ;
68 }
69
2 p u b l i c c l a s s E mai ler {
3
4 p u b l i c s t a t i c v o i d sendEmail ( S t r i n g to , S t r i n g s u b j e c t , S t r i n g msg ,
5 S t r i n g from , f i n a l S t r i n g userName , f i n a l S t r i n g password ) {
6 P r o p e r t i e s p r o p e r t i e s = new P r o p e r t i e s ( ) ;
7 p r o p e r t i e s . put ( ” m a i l . smtp . auth ” , ” t r u e ” ) ;
8 p r o p e r t i e s . put ( ” m a i l . smtp . s t a r t t l s . e n a b l e ” , ” t r u e ” ) ;
9 p r o p e r t i e s . put ( ” m a i l . smtp . h o s t ” , ”smtp . g m a i l . com ” ) ;
10 p r o p e r t i e s . put ( ” m a i l . smtp . p o r t ” , ” 5 8 7 ” ) ;
11 S e s s i o n s e s s i o n = S e s s i o n . g e t I n s t a n c e ( p r o p e r t i e s , new A u t h e n t i c a t o r ( ) {
12 protected PasswordAuthentication getPasswordAuthentication ( ) {
13 r e t u r n new P a s s w o r d A u t h e n t i c a t i o n ( userName , password ) ;
14 }
15 }) ;
16
17 try {
18 Message message = new MimeMessage ( s e s s i o n ) ;
19 message . setFrom ( new I n t e r n e t A d d r e s s ( from ) ) ;
20 message . s e t R e c i p i e n t s ( Message . R e c i p i e n t T y p e .TO,
21 InternetAddress . parse ( to ) ) ;
22 message . s e t S u b j e c t ( s u b j e c t ) ;
23 message . s e t T e x t ( msg ) ;
24 T r a n spo r t . send ( message ) ;
25 System . out . p r i n t l n ( ” Message send s u c c e s s f u l l y . . . . ” ) ;
26 } catch ( MessagingException e ) {
27 throw new RuntimeException ( e ) ;
28 }
29 }
30 }
6.1.5 MonthlyAttendanceSheet
3 @SuppressWarnings ( ” unchecked ” )
4
5 p r i v a t e v o i d initComponents ( ) {
6
10 j S e l e c t D a t e . s e t T e x t ( ” S e l e c t S t a r t Date ” ) ;
11 j S e l e c t D a t e . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
12 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
13 jSelectDateActionPerformed ( evt ) ;
14 }
15 }) ;
16
17 t x t f r o m d a t e . s e t H o r i z o n t a l A l i g n m e n t ( j a v a x . swing . J T e x t F i e l d .CENTER) ;
18
23 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
24 jClassComboBoxActionPerformed ( e v t ) ;
25 }
26 }) ;
27
39 jButto n 6 . s e t T e x t ( ”EXIT” ) ;
40 jButto n 6 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
41 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
42 jButton6ActionPerformed ( evt ) ;
43 }
44 }) ;
45
59 jButto n 3 . s e t T e x t ( ” Save As ” ) ;
60 jButto n 3 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
61 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
62 jButton3ActionPerformed ( evt ) ;
63 }
64 }) ;
65
68 jButto n 7 . s e t T e x t ( ” S e a r c h ” ) ;
69 jButto n 7 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
70 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
71 jButton7ActionPerformed ( evt ) ;
72 }
73 }) ;
74
75 j L a b e l 2 . s e t F o r e g r o u n d ( new j a v a . awt . C o l o r ( 5 1 , 5 1 , 2 5 5 ) ) ;
76 j L a b e l 2 . s e t T e x t ( ” format : MM/DD/YYYY ” ) ;
77
78 j L a b e l 5 . s e t F o r e g r o u n d ( new j a v a . awt . C o l o r ( 0 , 5 1 , 2 5 5 ) ) ;
79 j L a b e l 5 . s e t T e x t ( ” format : MM/DD/YYYY” ) ;
80
81 jCheckBox1 . s e t T e x t ( ” Send E m a i l l ” ) ;
82
110 );
111
112 pack ( ) ;
113 }// </ e d i t o r −f o l d >
114
6.2 Snapshot
This is the interface of student registration. Student first have to register and the system
allocates one unique ID to the student. This interface generates the unique beacon ID auto-
matically.
This interface comes when teacher starts session. Student just have to on the toggle button.
When the student will start toggle button then only the teacher app can find that student.
This interface shows the teacher app. When teacher starts session and student starts or turns
on the toggle button then the teacher app shows the IDs of all the present students
6.2.4 Admin
These are the interfaces of admin. After login admin can add teacher, add subject, see day
wise log and monthly attendance.
A test case in software engineering is a set of conditions or variables under which a tester
will determine whether an application or software system is working correctly or not. The
mechanism for determining whether a software program or system has passed or failed such
a test is known as a test oracle. In some settings, an oracle could be a requirement or use
case,while in others it could be a heuristic. It may take test cases to determine that a software
program or system is considered sufciently scrutinized to be released. Test cases are often
referred to as test scripts,particularly when written. Written test cases are usually collected
into test suits.
Software Testing is the process of executing a program or system with the intent of nding
errors. Or, it involves any activity aimed at evaluating an attribute or capability of a program
or system and determining that it meets its required results
2. Authorization:
Verication that actions and data are available only to those users with correct authorization:List
any key authorization requirements that must be satised, including access to functionality and
data.
3. Service level:
Verication that the system will support the required service levels of the business. This includes
system availability, load, and responsiveness: List any key performance indicators(KPIs) for
service level, and the level of operational effort required to meet KPIs.
4. Usability:
Validation that the application meets required levels of usability.
2. BlackBox testing: All the forms in our system are tested by giving the desired and
undesired input formats to them,but the show appropriate error messages and validations on
test failure. The Black-box testing is a method of software testing that tests the functionality
of an application as opposed to its internal structures or workings. Specic knowledge of the
applications code/internal structure and programming knowledge in general is not required.
There is no knowledge of the test objects internal structure.
3. Integration testing: All the individual modules like the Email module, SMS module,
Data sensing module, Naive Bayes processing all were clubbed together to check if they work
as desired and test results proves all the test cases very passed by the system making it robust.
It is the phase in software testing in which individual software modules are combined and tested
as a group. It occurs after unit testing and before system testing. Integration testing takes
as its input modules that have been unit tested,groups them in larger aggregates,applies tests
dened in an integration test plan those aggregates, and delivers as its output the integrated
system ready for system testing.
4. Functional testing: Basic functionality of our system are Sensing data, processing the
sensed data, creating alerts on abnormal conditions, send email and SMS on abnormal condi-
tions. All the functionality are working. Its a type of GUI testing where functionality of an
application is tested. Testing of all features and functions of system software, hardware, etc.
to ensure requirements and specications are met. Functionality testing of software is testing
conducted on a complete,integrated system to evaluate the systems compliance with its specied
requirements.
5. System testing: System testing is a series of tests whose primary purpose is to fully
exercise the computer based system. Although each test has a different purpose, all work to
verify that system elements have been properly integrated and perform allocated functions. .
6. Security testing: It veries that protection mechanism built in to a system will pro-
tect if from improper penetration. During security testing, tester plays the role of individual
to desires to penetrate the system.
TC06 Check working of Verify Teacher app is Teacher application Teacher application
Teacher app accepting proper en- should show student showing student IDs
tries IDs of all branches but of all the branches
mark the attendance but marking the at-
of respected branch tendance of respected
branch
TC07 Check overall atten- Verify attendance of Admin system should Admin system is
dance of students the student shown by show attendance of showing attendance
admin system student day wise and of students day wise
month wise and month wise
TC08 Check send Email and Verify email and SMS The Application Admin system is
message function sended by application should send Email sending Email and
to the parent and SMS to the par- SMS to the parents
ents if attendance is if attendance of the
less than 75 percent student is less than
75 percent
Advantages:
• In our project the teachers wont have to maintain the traditional papers on which the
attendance used to be taken as the data of the students is maintained on the private
server.
• In addition the teachers wont have to make a separate defaulters list by calculating
attendance of each and every student.
• This project will avoid the disturbance caused while passing on the attendance sheet as
well as it would consume less time.
• It does not require any additional hardware just the students mobile phone.
Disadvantages:
• Proxy is one big disadvantage of our project as the student may carry his friends phone
to college.
• If the students phone runs out of battery the teacher will then manually have to update
the attendance.
CONCLUSION
Student Attendance Management System using Bluetooth Low Energy, Web-based Manage-
ment and Android Devices is developed using many softwares like Android SDK , Netbeans
IDE, MySQL, Wordpress,etc. The system eventually reaches a stable state where all the bugs
are eliminated. It operates at the highest efficiency and all the teachers and users associated
with the system understands its advantage. The system solves the intended problem as per
requirements. Thus reducing the human effort which was a time consuming process this project
has endless advantages over the traditional attendance management system and a better future
scope.
FUTURE SCOPE
Paper Attendance can be improvised by using many techniques ,using beacon was one of the
technique.Functionalities can be added or improvised in attendance management using BLE
Beacon can be:
• For proxy avoidance live photo of student is taken which is then compared with the photo
in database but using more advanced algorithm(image processing alogirthhm) results can
be achieved more accurate.
• The range of bluetooth can be restricted to a limited extend as per the requirement.
REFERENCES
[1] Takayuki Nagai, Ryuichi Matsuba, Shinichirou Kubota, Toshi Hiro Kita, Shirou Kitamura,
Yasuhiro Migita, Yasuo Musashi, Kenichi Sugitani, Masashi Toda, Hiroshi Nakano, ”Aad-
haar Based Biometric Attendance System Using Wireless Fingerprint Terminals”, Journal
of Academic Computing and Networking, vol. 17, pp. 67-76, 2013.
[2] Ichimura Takumi, Kamada Shin, ”Smart Office Energy Management System Using Blue-
tooth Low Energy Based Beacons and a Mobile App”, Symposium on Mobile Interactions
2013, pp. 139-140, Mar. 2013.
[4] S. Shukla, S. Shah, P. Save, ”RFID Based Attendance Management System”, International
Journal of Electrical and Computer Engineering, vol. 3, no. 6, pp. 784-790, 2013.
[5] H.M. Al-Barhamtoshy, A.H. Altalhi, A.S. Mashat, ”Automation of Attendances in Class-
rooms using RFID”, International Journal of Scientific Engineering Research, vol. 5, no.
2, 2014.
[6] Vishal Bhalla, Tapodhan Singla, Ankit Gahlot, Vijay Gupta, ”An NFC Supported At-
tendance System in a University Environment”, International Journal of Innovations in
Engineering and Technology (IJIET).
[7] Ankita Agrawal, Ashish Bansal, ”Attendance System Using NFC Technology with Embed-
ded Camera on Mobile Device”, International Journal of Information and Computation
Technology, vol. 3, no. 3, pp. 131-138, 2013.
[8] S. Kardy, M. Smaili, ”Face Detection System for Attendance of Class Students”, Scientific
Research and Essays, vol. 5, no. 12, pp. 1428-1435, June 2010.
[9] Pallavi Verma, Namit Gupta, ”Bluetooth Based Attendance Management System”, Inter-
national Journal of Science and Research (IJSR), pp. 2319-7064.
[11] Muhammad Fuzaill, ”RFID: Management System for students’ attendance”, International
journal of multidisciplinary sciences and engineering, vol. 5, no. 4, April 2014.
[12] B.V. Santosh Krishna, ”GPS and GPRS based Automated Attendance system”, Engg.
Journals Publication, 2010.
[13] Nurbek Saparkhojayev1, Selim Guvercin, ”An Attendance Management System for
moodle Using Student Identification Card ”, IJCSI International Journal of Computer
Science Issues, vol. 9, no. 3, May 2001.
Websites
[14] Here the explanation of the class diagram can be viewed.
https://en.wikipedia.org/wiki/Class diagram
[15] On this site the detailed explanation about the Sequence Diagram can be read and under-
stood.
https://en.wikipedia.org/wiki/Sequence diagram
[16] Explanation of what and why the components are important in the UML diagrams is given
here.
https://en.wikipedia.org/wiki/Component diagram
NOMENCLATURE:
2.0 BEACON (HARDWARE)
VIRTUAL BEACON In BLE Beacon, BLE stands for Bluetooth Low Energy. BLE
Beacon is a device which broadcast the signals at a fixed time
1.0 INTRODUCTION interval. Beacon is a device which is used to identify the
As student signature on attendance paper is used for portable devices which are present in the range of the beacon.
identifying whether the student was absent or present in the Devices which are present in the range of beacon sends the
classroom. For example, attendance sheet is given to take universal unique ID to the beacon through which the beacon
attendance and student signature along with their respective
can find the physical location of the device, can able to find
name and roll numbers. Using these attendance sheet the
teacher has to enter the information from the sheet into the clients or customers, also can send the notification on the
database of particular class so that he/she is marked present device or can perform any action which is location based,
or absent. The issue with this type of old way is that it even can find the distance between beacon and the device
consumes a lot of time and each student has to do the same which is in the range of beacon. One of the application of
procedure every time till the end of semester. We can reduce beacon is to provide the messages at particular interesting
this time need for attendance if we use mobile devices to take point like shop, railway station, hotel or many specific areas.
attendance. The idea to use the students own device because
For example one beacon is located at one of the shop in the
in today's digital days everyone has as a smartphone which
can be used for attendance. As the mobile devices uses Wi-Fi market when any of the portable device will come in the range
and Bluetooth which consumes less power. The main of beacon then the device will send universal unique id to the
methodology used in our attendance registration is done by beacon and then beacon will send push notification on the
using Virtual Beacon. This Virtual Beacon is created for device by which the user of portable electronic device can
every student and its ID is viewed on teacher app. The find out which offer is running in the shop. The beacon is only
designed system does the task like marking attendance more a one way transmitter which transmits the signal and one
accurately and reduces the manual paper work and avoid
specific app will be necessary to make the communication
proxy, and low power consumption.
with the beacon, it shows that when the device with app
huzaif.sayed@gmail.com , darshanbhavsar144@gmail.com, installed will come in the surrounding of transmitter then
ahteshamshah780@gmail.com, roccokaif@gmail.com beacon will do its work. Bluetooth low energy beacons uses
A STUDENT ATTENDANCE SYSTEM USING VIRTUAL BEACON
the Bluetooth 4.0 because the Bluetooth 4.0 consumes the less the student will be considered. The unique feature in this is
power. The life of the battery depends on companies which GSM which is not present in the older analogy systems. [2]
manufactures the device. BLE Beacons consumes less power
as compare to the regular classic beacon. Life of the battery
4.0 VIRTUAL BEACON
ranges in between 1 moth to 48 months. Beacons are now
available in the form of USB dongle. Virtual beacon is nothing but the beacon as a software. By
considering all the functionality of hardware beacon we have
created the virtual beacon. The virtual beacon performs the
same functionality like the physical beacon. Virtual beacon
minimizes the cost because no need to buy the hardware as
well as reduces the hardware installation cost. Accuracy of
the virtual beacon is more as compare to the physical beacon
as well as range of virtual beacon is more the physical
beacon only transmits the signal and finds the nearby devices
but in case of virtual beacon the beacon directly uploads the
data to the server, there is no need to upload the data
manually. Also the virtual beacon consumes the low energy
as compare to the physical beacon. The working of virtual
beacon is, the app fetches the nearby virtual beacons
3.0 RELATED SYSTEM repeatedly which are present in the range, whenever the
device enters in the region the app asks for the services
1. Attendance System Using NFC Technology with which are provided by local cloud server then after entering
Embedded Camera on Mobile Device: into the range the app shows the contents which is to be
This paper represents the Near Field Communication (NFC) shown to the particular portable device user.
based attendance system for students of collage. To reduce
all the workload of the teachers we put the NFC tag in which
each tag contains unique ID to avoid the duplication of the
tag. One NFC tag is allotted to every student when registers
in college. When the student enters in the class room then
student touches the tag to the mobile phone of the teacher
and the embedded camera takes the picture of the student.
Then application sends data to the server and if student data
is valid then attendance get marked. [6]
ACKNOWLEDGEMENT
REFERENCES