1   Habitat Monitor Software User and Maintenance Manual

Author:Ambar Mehrotra

1.1   Introduction

1.1.1   Purpose

This document describes the installation, use and maintenance of the Health Monitor.

1.1.3   Glossary

Application Programming Interface
Aouda Device Server
European Mars Analog Station
Graphic User Interface
Habitat Monitor Device Server
Italian Mars Society
To Be Confirmed
To Be Defined

1.2   Installation Guide

The first step is to download the component to install (Health Monitor Daemon, Aouda Daemon or Health Monitor GUI) in the machine that is going to run it. The components can be installed all in the same computer, all in different computers or any combination thereof.

1.2.1   Installing the Central Tango Daemon on the Central Tango Server

You can install this component following the Tango Setup guide. Tango’s libraries must be installed in all computers.

1.2.2   Installing the Health Monitor Daemon   Prerequisites

  • Python 2.7

  • Python modules:
    • python-qt4
    • numpy >= 1.8.1
    • pandas >= 0.14.0
    • pip >= 1.5.4
    • pyqtgraph
    • PyTango >= 8.1.5
    • pymongo >= 3.0.3
  • libboost-python-dev >= 1.54

  • MongoDB   Python 2.7, numpy, pip and scipy

Python 2.7 comes pre-installed, but just in case you can install it, together with numpy, pip and scipy, with:

sudo apt-get install -y libboost-python-dev python2.7 python-pip python-numpy python-scipy   PyTango
sudo pip install PyTango –egg   MongoDB

1. Import the public key used by the package management system. The Ubuntu package management tools (i.e. dpkg and apt) ensure package consistency and authenticity by requiring that distributors sign packages with GPG keys. Issue the following command to import the MongoDB public GPG Key:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

2. Create a list file for MongoDB. Create the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the following command:

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

3. Reload local package database.

sudo apt-get update

4. Install the latest stable version of MongoDB.

   sudo apt-get install -y mongodb-org

Directly from binaries:
Follow the following tutorial - http://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/   pymongo
sudo pip install pymongo   pyqtgraph:
Download the appropriate installer for your Operating System and install from the following link:

1.3   Walkthrough

1.3.1   Start the GUI

1. Navigate to the mongodb directory and start the mongodb daemon

sudo ./mongod

You can also start it by issuing the following command if you have exported it to system path

sudo mongod

2. Start the servers that you want to monitor through the GUI. For example:

sudo aouda 1 simulate_data

If you want to add an aouda server to the GUI to monitor.

3. Navigate to the Habitat Monitor directory and start the application by issuing the following command:

python app.py
  • Once the GUI has successfully started you will be shown a screen similar to the following image:

1.3.2   Adding Devices

  1. Click on ‘File’ menu.

  2. Click on ‘Add Device’ option.
  3. Enter the device address.
  4. Select and attribute from the device and a summary function. Also enter the summary period.
    The summary period should be in the format ‘hh:mm:ss.ms’.
  5. Click on ‘Add Summary’ button.

  6. Enter the ‘Total values to be shown in the graph’.
  7. Enter the graph updation time in microseconds.
  8. Raw Data Tab - It shows the data coming in directly from the device server in case of leaves, i.e., device servers.
  9. Summary Tab - It shows the summary as calculated by the summary function in the provided time period
  10. Graph Tab - It shows the real-time graph of the raw data according to the total number of values mentioned while adding a device and the graph updation frequency. User can edit these values via the ‘graph_config’ file inside the application directory. The hours and minutes are shown below of the graph panel while seconds and milliseconds are shown inside the graph panel in order to avoid large x-values and avoid cluttering.


1.3.3   Creating Branches

  1. Click on ‘File’ menu.

  2. Click on ‘Create Branch’ option.

  3. Enter the branch name and click ok button.
  4. Select the devices you want to add to the branch.
  5. Summary Creation - Enter summary name and select a summary function.

    Unlike the leaf summary, there in no option to provide the summary time in case of branches as branch summary is calculated instantaneously.

  6. Raw Data Tab - Shows the raw data for each child of the branch.
  7. Summary Tab - Shows the summary as defined by the summary function and summary name in the drop down box.
  8. Graph Tab - Shows the graph of the raw data. I avoided showing all graphs in the same pannel so as to avoid cluttering.

    You can select the child from the dropdown menu and view its graph. .. image:: images/tutorial/15.PNG

1.3.4   Modifications   Summary Modification

  • Summary modification is only for leaves, i.e., the data sources

  • Click on the ‘Edit’ menu.
  • Click on the ‘Modify Summary’ option.

  • Select the summary function and enter the summary time.
  • Click on ‘Modify Summary’ button.   Summary Addition

  • Summary addition works only for branches.

  • Click on the ‘Edit’ menu.

  • Click on the ‘Add Summary’ option.
  • Enter the summary name, select the nodes you want to be added to the summary

from amongst the branch children, select the summary summary function.
  • Click on ‘Add Summary’ button.   Summary Deletion

  • Summary addition works only for branches.

  • Click on the branch in the left pane.

  • Navigate to the ‘Summary’ tab.

  • Select a summary from the dropdown box.
  • Click on the ‘Edit’ menu.

  • Click on the ‘Delete Summary’ option.

  • Click on ‘Yes’ option in the popup to delete the summary.

1.3.5   Node Deletion

If you delete a node from the data source, then it will be deleted from everywhere, i.e., from under all branches. But if you delete it from under a specific branch, it will only be deleted from there.

  • Click on the node you want to delete.

  • Click on the ‘Edit’ menu.
  • Select ‘Delete Node’ option.
  • Click on ‘Yes’ option to delete the node.