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