Bluetooth Attendance System

advertisement
CSP-315
Bluetooth Attendance System
Presentation
Under Guidance1of:
Prof. M. Balakrishnan
1
CSP315Bluetooth Attendance System
Pallav Agrawal
Ankush Jindal
Harsh Gupta
Deeksha Gautam
– 2009CS50250
– 2009CS50234
– 2009CS10191
– 2009CS50240
Outline
Motivation
Objectives
System Requirements
Design Details
Interesting Decisions
Milestones
Status So Far
2
CSP315- Bluetooth Attendance System
Motivation
 Taking attendance in large classes is
 cumbersome
 repetitive
 Consumes valuable class time
 Universality of mobile phones motivates to make better use
of this technology.
3
CSP315- Bluetooth Attendance System
Objectives
 Automating user identification via Bluetooth protocol.
 Develop and Implement attendance system .
 Create an android mobile application to provide a consistent UI
to interact with the system.
4
CSP315- Bluetooth Attendance System
System Requirements
Hardware
Android
Phone
Server
Students
phones
Software
 Eclipse IDE
 Android SDK
 Apache web server
Bluetooth
Application
5
CSP315- Bluetooth Attendance System
 Drupal CMS
Design Details
6
CSP315- Bluetooth Attendance System
High Level Architecture Diagram
7
CSP315- Bluetooth Attendance System
Concept Diagram
8
CSP315- Bluetooth Attendance System
Mobile Application Higher Level Details
9
CSP315- Bluetooth Attendance System
Web Service Design
10
CSP315- Bluetooth Attendance System
High Level Architecture Of Web Server
11
CSP315- Bluetooth Attendance System
Web Site Design
12
CSP315- Bluetooth Attendance System
Professor/Host
• by human cmd
• by automated
scheduling
Initialisation
13
CSP315- Bluetooth Attendance System
Ping
• Search in range
• proxy check
• push to db
Store
Bluetooth Activity
14
Detection of visible
Devices
Receipt and Storage
Of Data
Extract mac
addresses
Comparison of
received addresses
with registered
addresses
User intervention to
override presence of
student
Proxy Attendance
Checking
Saving attendance for
the session
Sync with server on
internet connection
CSP315- Bluetooth Attendance System
Interesting Decisions
15
CSP315- Bluetooth Attendance System
Points of Discussion
 Proxy Attendance
 Persistent problem that needs to be addressed
 Need a robust solution
 Present Ideas:
 Random checks by professor.
 Manual verification of headcount.
16
CSP315- Bluetooth Attendance System
Points of Discussion
 Creation of simple app to authenticate student
 E.g. Entering a password for verification
 Does not solve proxy problem
 Can cause distraction during class
17
CSP315- Bluetooth Attendance System
Ease of Use on Mobile Application
 Mobile app to have features for enabling plugins.
 Some examples of plugins are:
 Automatically take attendance as per schedule.
 Proxy attendance based (discussed earlier).
18
CSP315- Bluetooth Attendance System
Database Features
 Integration with Kerberos Authentication.
 Providing secure and encrypted access to the database.
 Automated Initialization of the database for courses.
 Permission Centric model with different privileges to each kind
of user.
 Provision of administrative users to police entire setup.
19
CSP315- Bluetooth Attendance System
Milestones (completed)
Design [1st June]
Procure Hardware [14th July]
Sanity Check [19th July]
Database @Android [26th July]
Navigation GUI @Android [5th August]
20
CSP315- Bluetooth Attendance System
Milestones
Hardware Calibration [12th August]
Bare Bones Web Service [30th August]
Security Enhancements [22nd Sep]
Proxy Plugins Development [12th Oct]
Scheduling Plugins Development [20th Oct]
21
CSP315- Bluetooth Attendance System
Milestones
Polish GUI [27th Oct]
Creation of Project Poster
Final Demo
22
CSP315- Bluetooth Attendance System
Present Status
23
Design
Sanity
Check
Database
@Android
Website
CSP315- Bluetooth Attendance System
Present Status
Navigation
GUI
Bare bones Web
Service
24
CSP315- Bluetooth Attendance System
Immediate Steps
Calibration
Sync with
webserver
25
CSP315- Bluetooth Attendance System
Tasks and Scheduling
26
CSP315- Bluetooth Attendance System
Task Distribution
27
Harsh
Ankush
Design of
database on
mobile app.
Design of the
Bluetooth
Activity
Sending and
receiving data@
android end
Communication
of the web
server and app
CSP315- Bluetooth Attendance System
Task Distribution
Pallav
28
Deeksha
Design of the
Mobile User
Interface
Design of the
web server
database
Security in
connections
Implementation
of the website
CSP315- Bluetooth Attendance System
Hiccups
 Delay in procuring android phone.
 Procured two weeks before semester started.
 Rescheduled plan accordingly.
 Unable to access database from entire campus network
 Solved by setting up database on poorvi.cse.iitd.ac.in
29
CSP315- Bluetooth Attendance System
Hiccups
 Windows Phone 7
 Bluetooth API not exposed in Mango ( ver. 7.5)
 Bluetooth API expected to be out in Next Update -2012.
30
CSP315- Bluetooth Attendance System
Project Weblink
http://sites.google.com/site/csp315attend/
31
CSP315- Bluetooth Attendance System
Thank You
32
CSP315- Bluetooth Attendance System
CSP-315
Bluetooth Attendance System
Presentation 2
Under Guidance of:
Prof. M. Balakrishnan
33
CSP315- Bluetooth Attendance System
Pallav Agrawal
Ankush Jindal
Harsh Gupta
Deeksha Gautam
– 2009CS50250
– 2009CS50234
– 2009CS10191
– 2009CS50240
Design Details
34
CSP315- Bluetooth Attendance System
Recap
35
CSP315- Bluetooth Attendance System
Android App Re-imagined
Initial
Design
Course 1
Details Of
Attendees
36
CSP315- Bluetooth Attendance System
Course 2
Attendance
Log
…
Android App Re-imagined
New
Design
Contact
List
37
CSP315- Bluetooth Attendance System
Courses
Meetings
Android App Re-imagined
Contact List
38
Professors
of same dept
All Course
Attendees
CSP315- Bluetooth Attendance System
Other Profs
Students of
same dept
Other
students
Android App Re-imagined
Courses
Ids of
attendees
39
CSP315- Bluetooth Attendance System
Course1
…..
Attendance
Log
Schedule
etc
Android App Re-imagined
Meetings
Group 1
Ids of
attendees
40
CSP315- Bluetooth Attendance System
….
Meeting1
…
Invitation
response status
Log of Present
People
Permission Model - Choices
41
Person Centric
Course Centric
 Create list of people who
 Create list of privileged
can edit the attendance
logs of one person. [ta’s ,
profs, course coordinator]
 Very Rigorous.
 Pretty Cumbersome.
people for each course.
 Each of these people can
edit attendance of any
attendee.
 Less rigorous.
 More Flexible and very
practical
CSP315- Bluetooth Attendance System
Project Status
42
CSP315- Bluetooth Attendance System
LDAP & Kerberos Integration
 Automated initialization from LDAP
 List of courses
 List of attendees
 Course Coordinators
 Identification of user groups
 Integrated with the Kerberos authentication
43
CSP315- Bluetooth Attendance System
LDAP Integration - Leaks
 Only course coordinator in LDAP
 Other profs have to manually registered for each course with
super privileges.
 TA’s are not available in LDAP.
 Any super of the course can manually add TA’s
44
CSP315- Bluetooth Attendance System
Initialization Of Database On App
 Relevant Data is sent over to the app on initialization.
 Codes:
 CA: Course Add
 CD: Course Delete
 SA : Student Add
 SM : Student Modify
 SD : Student Delete
 SP: Student Proxy
45
CSP315- Bluetooth Attendance System
Networking : Server <-> App
 Transaction Of Attendance Logs
 Transaction Of Updated Mac Addresses
 Transaction Of Proxy Attendance
 JSON encoding is used for transaction of strings.
46
CSP315- Bluetooth Attendance System
Network Security
 Web server uses https(128 bit encryption) for all
communications
 Web site
 Android app
 Installation of website certificate is integrated with the app
installation (automatic).
47
CSP315- Bluetooth Attendance System
Next Actions
48
CSP315- Bluetooth Attendance System
How to get MAC addresses?
 Proposed Solutions:
 Direct Input from user
 User looks up bluetooth MAC address and enters into profile via webpage
 Different Procedures as per manufacturer of the phone
 Windows Program
 Design of windows program
 Display a list of Bluetooth Connections in range and corresponding MAC
addresses.
49
CSP315- Bluetooth Attendance System
Experimentation
 Run experiment in Labs
 Short circuits:
 User registration
 Course Attendees Lookup
 Data to be recorded:
 Number of people present.
 Number of people found to be present.
 Maximum distance to which a person was registered present.
 Number of people in proximity but not marked present.
50
CSP315- Bluetooth Attendance System
Open Questions
 How to find maximum number of connections that can be
identified by a mobile phone?
51
CSP315- Bluetooth Attendance System
Bluetooth Based Attendance Project
PRESENTATION 3
RECAP
OBJECTIVES
Identify people by mac
addresses
Automate attendance
process for large classes
System Design
Deliverables
Android app
Web server
Desktop app to
register users
Project status
Progress before Presentation2
58
Website
App
• Web service
• Automatic initialization(ldap)
• Web interface
• Bluetooth ping
• Encrypted Communication
• Kerberos integration
CSP315- Bluetooth Attendance System
Progress after presentation 2
Android App
• Meetings support added
Experimentation
• Diagnostic activity coded.. Results later.
Website
• SMTP email sending deployed.
59
CSP315- Bluetooth Attendance System
Meeting
 Adhoc meetings:
 Create meeting on the spot
 On the spot querying of web server may be required.
 Preplanned meetings:
 Send invitations via web interface.
 Relevant entries can be synced in advance.
60
CSP315- Bluetooth Attendance System
Desktop Application
 Need : Register student’s mac-address.
 Requirements:
 Portable and easy to run.
 Independent of bluetooth stack.
 Does not allow mac address sharing
 Kerberos Authentication
 Implementation:
 Uses Bluetooth stack provided by python-bluez
61
CSP315- Bluetooth Attendance System
Experiment
 Maximum range till which a person may be identified?
 Maximum number of people that can be identified?
 Are we missing out any people in the vicinity?
 How much battery is consumed?
 How much time is needed to find n people?
 How much time should the application run?
62
CSP315- Bluetooth Attendance System
Maximum Range
 Without any obstructions:54 m
 With one wall in the middle: 12m outside wall
63
CSP315- Bluetooth Attendance System
Battery Consumed
Battery Level
42.5
42
41.5
41
Battery Level
40.5
40
39.5
39
10
64
20
30
40
50
60
70
CSP315- Bluetooth Attendance System
80
90 100 110 120 130
Number of people found
140
150
160
170
180
190
200
Time taken to detect People
500
450
400
Tiem in seconds
350
300
250
200
150
100
50
0
10
65
20
30
40
50
60
CSP315- Bluetooth Attendance System
70
80
90
100 110 120
Number of people
130
140
150
160
170
180
190
200
Running time of app?
 Keep a count of number of people found in previous 40
seconds.
 Stop when count==0
66
CSP315- Bluetooth Attendance System
Next steps
 Store photographs of students in the android database.
 Add proxy catching heuristics to code
 Randomly display names of present people
 Add scheduling functionality to the app so that it can run on
itself as per a timetable.
 Stress testing , checking for any open loops.
67
CSP315- Bluetooth Attendance System
Thank you
68
CSP315- Bluetooth Attendance System
Download