Bus-Station Display


 

Introduction:

Bus-travel in a country like India has the quintessentially Indian element of unpredictability and hence is as spiritual an experience as any other: it gives you a time to experience quite vividly the ups and downs of life and the vagaries of Time... However for the more pragmatic lot who have to Get to Places in time, not knowing whether the wait for their bus will be finite or not really counts.

To make mass transport a viable alternative to going bankrupt over a car or an auto being the raison d'être of Bus Companies everywhere, it would be a great idea to implement some method of keeping the (prospective) passenger well-informed about what bus arrives when.

Hence this project.
 

The Objective:

To facilitate journeys by mass-transport vehicles like buses/trams by giving the passengers waiting at a stop/station, an estimate of the time they might have to wait for their journey to begin. This, we plan to achieve through a display board at each stop/station scrolling a list of bus/tram route-numbers and the predicted time for the next bus on that route to arrive.
 

Overview of the Design:
The idea is to have each bus communicate with a central device every time it reaches a new station. This central device may now contact all the bus-stations informing them of the status (their current location and/or the predicted time of arrival) of the buses they're expecting.
 

Overview of Specification:

The project has four main modules. Each of these is being taken up by a subgroup of students.

     
  1. Wireless Communication < Subgroup: Amol, Jasdeep & Nachi >

    It is the channel through which the Bus Device communicates with the Central Server and the server itself communicates with the Bus-stop devices. The protocol used ensures that errors like packet-loss are caught. Also since there are such large number of buses (of the order of 5000) the solution should be cost-effective in terms of bandwidth usage and cost per transmitter/receiver.

  2. Central Server < Subgroup: Dinesh, Nishant, Rohit, Varun & Rohit >

    A server with a database containing the routing information and the status of each bus on the roads. Every time a Bus Device sends a packet to the server, the server increments the position of the bus to the next stop on its route.

    If the server implements the increment location method, there needs to be a mechanism at Bus Device the to ignore an accidental pressing of the button before the bus reaches the next stop. This can be achieved by deactivating the device for a period t -- an empirical estimate of the minimum amount of time between two stops.

    Periodically, the server broadcasts the estimates of arrival time for each bus to all the Bus-stops. Or, alternatively, it can send each stop only the packets relevant to it.

  3. Bus Device < Subgroup: Mausam & Ankur > New!!

    A button on this device is pushed by the driver on reaching a new stop (later upgradeable to a sensor which activates the device every time its senses that the bus has reached a new stop). Upon activation it transmits a packet containing information about:

    • The Bus id
    • The route id (optional: integrable with the field above)
    • The id of the current stop.

    The third field above is also optional: depending on what scheme the Central Server uses to keep track of the location of the bus.

  4. Bus-stop Device < Subgroup: Gaurav, Puneet, Kaushal, Sorav & Jatin >

    This contains two main components:

    • A module for decoding packets sent from the Central Server and
    • A display.

    The decoding component is a passive interpreter of the packets which contain information about the predicted time for various buses which this device puts on a the display. In addition to fields for the id's of various buses and their estimated time of arrival, the display may have give information about the traffic conditions between stops.

  5.  


    This project is being done as part of the course (CS312P) by IVth yr. students (Group 4) of the  Department of Computer Science, IIT Delhi

    Last updated 28th November, 2000.

    For errata and suggestions,
    please contact dasari@cse.iitd.ernet.in