Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Alok Mandloi
Akhil Makana
Rutayan Patro
The Idea
Crowd sourced real time bus tracking system using smartphones. How is it different???
The source of information will be smartphones of bus riders. Dearth of funds for installing expensive dedicated hardware in buses of many cities.
System Design
Smartphone Client
An Android phone application. User checks-in into a bus The application sends real-time bus location to the server. Other users receive bus location.
Server
Collects locations of various buses reported by smartphone clients. Organize data according to the bus numbers . On a mobile clients request, locations of particular buses are provided.
Server
Bus route
Check in
Yipeee You have started tracking Bus # __ . You get 1000 karma points You can lock the screen or minimize it.
Check In
Check In
Track bus
Check In
Track bus
5
Tools
Smartphone client Android application for mobile client consisting of activities and background service Google Maps API for displaying maps. Server Go programming language Redis based database
Development Phases
Phase 1: Simple application to transmit current location to server. Phase 2: Develop routes, handling user requests, real-time tracking and display at Smartphone client.
6
Work
@Smartphone Client - UI Development - Communicate with server using API - Guoguo Integration for automation and authentication (Check feasibility )
Backend coding
We intend to develop the following APIs for communication between smartphone client and server.
(All data sent and received in HTTP body would be in JSON format)
Phase 1 :
start_session()
This would be called at the first time when a user opens the application. It would return a session key/id which would be used by the client for any other futher interactions with the server.
stop_tracking ( )
Used to indicate the client has deboarded the bus.
get_bus_locaiton (route_id [ ])
Used to get bus locations for specified route id Returns the bus locations for the selected route_id
get_stop_arrivals(bus_stop_id)
Returns the arrival times of requested buses for a particular bus stop.
Challenges Consolidation of data from multiple users for single bus. Storage of routes in database. Algorithm for real-time tracking. Power optimization for GPS usage.
Improvements Support for additional information from user, like BUS FULL, SEATS AVAILABLE, etc. User feed authentication by calculating user speed and comparison of user location with selected bus route. Automate user check-in through a Guoguo based system in the bus.
10
Timeline
Week 1 2 3 4 5 6 7 8 9 10 11 12 13-14 Duration Till 4th Feb 4 Feb - 10 Feb 11 Feb - 17 Feb 18 Feb - 24 Feb 25 Feb - 3 Mar 4 Mar - 10 Mar Work to be completed Create wireframe for the mobile application. Division of work and mastering of tools. Establish start_session() between the server and android app. Midway Goal: Create application which would report location to server. Trial of app in field and bug fixing.
11 Mar - 17 Mar Implement get_bus_location(). 18 Mar - 24 Mar Final Goal: Add bus routes and stops along with estimation of time; Report 25 Mar - 1 Apr 1 Apr - 8 Apr 9 Apr - 15 Apr 16 Apr - 22 Apr 23 Apr - 2 May Ready system for presentation Final Presentation and Demo
11