Difference between revisions of "SatNOGS Monitor"

From SatNOGS
(Terminal UI monitor for your SatNOGS ground station)
(No difference)

Revision as of 18:22, 8 November 2019

Description

Satnogs-monitor.png

SatNOGS Monitor is a terminal ui to monitor your and/or other ground stations of the SatNOGS network. It is written in Rust and runs on Linux and has been reported to run on MacOS[1]. Windows is currently not supported by the underlying terminal library, but might be added at some point in the future.

Installation

Dependencies

SatNOGS Monitor uses bindings to libgpredict[2]. This library is not available as installable package and you'll have to build it yourself.

Install libgpredict dependencies

sudo apt-get install libglib2.0-dev cmake build-essential git

Build and install libgpredict

git clone https://github.com/cubehub/libgpredict.git
cd libgpredict
mkdir build
cd build
cmake ../
make
make install
sudo ldconfig # for linux

Raspberry Pi (armhf)

You can run the SatNOGS Monitor on the same Raspberry Pi as your ground station. You'll need to build and install libgpredict as shown above and can build the monitor from source (see [#Hacking]) or use the prebuild Raspbian package.

wget https://github.com/wose/satnogs-monitor/releases/download/0.2.0/satnogs-monitor_0.2.0_armhf.deb
sudo dpkg -i satnogs-monitor_0.2.0_armhf.deb

You can then run the monitor over any ssh connection to your ground station or view it directly on a display attached to your RPi. See this thread for some inspiration.

Linux (x86_64)

If you're running an Debian like distribution you can install the prebuild package after building and installing libgpredict.

wget https://github.com/wose/satnogs-monitor/releases/download/0.2.0/satnogs-monitor_0.2.0_amd64.deb
sudo dpkg -i satnogs-monitor_0.2.0_amd64.deb

See [#Hacking] if you're running another distribution.

Running it

The monitor makes heavy usage of braille unicode characters so make sure your terminal emulator uses a font which includes those glyphs. The screenshot at the top shows alacritty[3] with the tewi-font[4].

Monitor single station:

satnogs-monitor -s 175

Multiple stations:

satnogs-monitor -s 175 -s 227

Monitor a station on the same machine as the monitor runs (gets you more system infos):

satnogs-monitor -l 175

Monitor a local station and multiple remote stations:

satnogs-monitor -l 175 -s 227 -s 2

You can also create a config file with all those informations:

mkdir ~/config/satnogs-monitor
cd ~/config/satnogs-monitor
wget https://raw.githubusercontent.com/wose/satnogs-monitor/master/monitor/examples/config.toml
edit config.toml

Check the help for more command line arguments:

$ satnogs-monitor -h
satnogs-monitor 0.2.0
Monitors the current and future jobs of SatNOGS ground stations.

USAGE:
    satnogs-monitor [FLAGS] [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information
    -v               Sets the level of log verbosity

OPTIONS:
    -a, --api <URL>          Sets the SatNOGS network api endpoint url
    -c, --config <FILE>      Sets custom config file
    -l, --local <ID>...      Adds a station running on the same machine as this monitor with this
                             SatNOGS network id to to the list of monitored stations
    -o, --orbits <NUM>       Sets the number of orbits plotted on the map
    -s, --station <ID>...    Adds a station with this SatNOGS network id to the list of monitored
                             stations

Hacking

To build the monitor from source you'll need to install the Rust. Use your package manager or follow this site.

git clone https://github.com/wose/satnogs-monitor.git
cd satnogs-monitor/monitor
mkdir ~/.config/satnogs-monitor
cp examples/config.toml ~/.config/satnogs-monitor/
edit ~/.config/satnogs-monitor/config.toml
cargo run --release -- -s 175