Graphical User Interface

The control station runs a Java-based GUI. The GUI performs several functions, such as:

  • Initialization of the network.
  • Providing a visual display of the network to the user.
  • Allowing the user to issue real-time commands to the network.
  • Providing tools for analysis of algorithm results and performance

The GUI is basically divided into three main parts, based on their functions:

1. Initialization of the Network

This part of the GUI allows the user to choose the IP address of the host computer and a port number (client). A socket is opened with these parameters and the communication between the base node and the computer is performed as a server-client interaction. (The base node acts as the server and its parameters can be initialized through an initialization file in the source code). This part also allows the user to declare the size of the network and to initialize some of the nodes as anchors/beacons which would then be used by other nodes to estimate their own locations. This information can be keyed in manually or loaded from a file. The user can also specify the maximum co-ordinate in the field of interest so that the visual display is scaled accordingly.

2. Visual Display of Network Information

This part of the GUI consists of a topology map which shows the true as well as the estimated locations (blue circles and red squares, respectively) of all the nodes of the network. All the nodes in the routing table of the base node (active nodes) are colored blue while the inactive/dead nodes turn grey. The user can also click on a particular node and find more information such as estimation error, average error, etc. (Note that the true and estimated locations of anchors/beacons coincide since they know their true locations.)

3. Command Center - Issuing Commands to the Network

The command center of the GUI enables the user to issue commands to individual nodes or to the network as a whole. These can be issued using the node address or simply clicking on the node on the network topology map. There is also an option to broadcast commands. The commands issued include localization commands such as ‘Activate anchors’, ‘Start locationing’ and ‘Stop locationing’ as well as node-specific commands such as ‘Spoof location’, ‘Turn OFF’, ‘Turn ON’, etc.