The BusTracker is an SDDL application based on ContextNet to monitor where the buses in a city are.

The system consists in two modules. The first one are the clients who wants to see where the bus line, that they are motoring, is located. All of them are members of the same bus group, for example, the clients who wants to know where all the buses of the line 497 are.

The second module are the buses. A bus consists basically in a line and a unique identifier number. All the buses of the same line sends message to a group with an id that is the line of the bus. For example, all the buses of 497 will send a message to the group with id 497. With this, all the member of that group will receive the messages informing the locations os the buses.

Source Code

You can download the source code from: https://github.com/mobbyd1/bus-tracker



  • Download the ContextNet server. It requires an installed OpenSplice server and some environment variables. Check installation and running instructions at http://www.lac-rio.com/dokuwiki/doku.php?id=installingdds. By default choose as gateway and port 5500.
  • Change the hosts file and name the gateway host as ubuntu-1
  • Start ContextNet: $ java -jar <path to ContextNet>/contextnet-2.5.jar <gateway address> <port> OpenSplice
  • To run the client module, type $java –jar bus-client-node.jar
  • To run the bus module, type $java –jar bus-node.jar

The buses locations are in a file called gps.json, in the resources folder. This file consists in a snapshot of all the buses locations in the city, provided by data.rio. You can change into real time by change the class named GPSBusStream and point directly to the data.rio website.

In this example, the client wants to see the location of the 497’s line buses. When a bus is less than 558 meters from the user (the green point), the bus point turns red, otherwise is shown in blue.


This work is a task of Introduction to Mobile Computing course, 2016, second semester. Computer Department, PUC-Rio.


Ruhan dos Reis: rreis@inf.puc-rio.br

  • bustracker.txt
  • Last modified: 2017/07/21 06:08
  • (external edit)