UniPager

UniPager

Einleitung und Motivation

Bisher wurden von der Amateurfunkgruppe an der RWTH Aachen verschiedene Software-Varianten entwickelt, die jeweils einen Raspager, einen SDRPager oder einen RasPagerC9000 ansprechen konnten. Nachteil war, dass die Software ein lauffähiges X11 brauchte, um die GUI anzuzeigen. Ebenfalls war die Aufsplittung in drei Varianten im Hinblick auf die Software-Pflege unschön. Thomas Gatzweiler DL2IC hat daher in der Programmiersprache rust eine Software geschrieben, die alle diese Hardware-Varianten vereint und auch ein Web-Interface hat, mit dem sich das Programm steuern lässt.

 

Installation

Es gibt zwei Wege. Der erst ist eine Run&Forget-Lösung, benutzt aber ein Skript von uns. Der 2. geht über die Paketvewaltung von Hand.

1. Weg

# Via HAMNET
curl http://db0sda.ampr.org/debian/install.sh -sSf | sh -s -- hamnet
# Via Internet
curl http://www.afu.rwth-aachen.de/debian/install.sh -sSf | sh -s -- internet

 

2. Weg

Über das HAMNET

/etc/apt/sources.list.d/unipager.list mit folgendem Inhalt erstellen:

deb http://db0sda.ampr.org/debian unipager main
deb-src http://db0sda.ampr.org/debian unipager main

Dann folgende Befehle ausführen:

wget -O - http://db0sda.ampr.org/debian/rwth-afu.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install unipager

Über das Internet

/etc/apt/sources.list.d/unipager mit folgendem Inhalt erstellen:

deb http://www.afu.rwth-aachen.de/debian unipager main
deb-src http://www.afu.rwth-aachen.de/debian unipager main

Dann folgende Befehle ausführen:

wget -O - http://www.afu.rwth-aachen.de/debian/rwth-afu.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install unipager

Quellcode selbst kompilieren

Die Software ist unter https://github.com/rwth-afu/RustPager gehostet.

Die Installation geschieht wie folgt (Bitte auch die README beachten)

  1. git clone https://github.com/rwth-afu/RustPager.git
  2. cd RustPager
  3. curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly (Dies installiert den rust-Kompiler)
  4. cargo build --release (Dies kompiliert den UniPager)
  5. sudo ./install.sh (Dies installiert den UniPager)

 

Konfiguration und Web-Interface

 Auf dem Port 8073 wartet ein HTTP-Server auf Anfragen. Es öffnet sich eine Seite, aber der sowohl das Log sichbar ist als auch die Art des Senders und seine individuellen Einstellungen vorgenommen werden können.

uni webinterface

 

Adresse zur Anbindung von Sendern

Um Sender anzubinden, kann man als Default-Knoten db0sda nehmen. Der Sender muss dort zunächst eingetragen werden. Dies können zur Zeit nur Benutzer mit Admin-Rechten tun.

Typ Hostname IP  Port
Internet dapnet.afu.rwth-aachen.de 137.226.79.100 43434
Hamnet dapnet.db0sda.ampr.org 44.225.164.27 43434

Update

Wenn UniPager über die Debian-Paketverwaltung installiert ist, kann man UniPager wie jedes andere Paket updaten.

sudo apt-get update

sudo apt-get upgrade

 

Wenn man die Software selbst kompiliert hat, kann man mit git pull sich die neueste Version besorgen und dann erneut kompilieren. Wer seine Software und den Rust-Kompiler updaten möchte, der kann ./update.sh im UniPager-Verzeichnis ausführen. Diese aktualisiert sowohl den Rust-Kompiler als auch den UniPager selbst.

Zugriffsbeschränkung

Die Zugriffsbeschränkung ist schon implementiert, wird aber noch verbessert. https://github.com/rwth-afu/UniPager/issues/12

Status-LEDs für Frontplatten

Für die Anzeige der Stati

  • Programm läuft
  • Programm ist mit DAPNET-Core verbunden
  • Programm sendet

wird unter https://github.com/rwth-afu/UniPagerLED ein Zusatzprgramm geschrieben, welches sich mit der Websocket-Schnittstelle verbindet und entsprechend GPIO-Pins setzt.

 

Nextion Display für UniPager

Zu jedem schönen Projekt gehört mittlerweile auch ein Display. Die Varianten der Firma Nextion sind sehr beliebt auf Grund ihrer Fähigkeiten und ihres Preises. Der Anschluss geschieht über einen USB- TTL 3,3 Volt Wandler, da der interne UART-Port auf dem RasPi bereits belegt ist beim RasPagerC9000. Die Software ist in Entwicklung. https://github.com/rwth-afu/UniPagerNextion

UniPager Nextion Example klein

Nagios Plugin zur Überwachung der Verbindung zum DAPNET-Core

Ein entsprechendes Plugin für die Websocket-Schnittstelle kann unter https://github.com/rwth-afu/UniPagerNagios heruntergeladen werden.

Zur Installation die gebaute Datei build/unipagernagios mittels sudo cp ./build/unipagernagios /usr/lib/nagios/plugins/check_unipager ins Zielverzeichnis kopieren. Dann noch dem Benutzer root zuweisen sudo chmod root:root /usr/lib/nagios/plugins/check_unipager .

In der Datei /etc/nagios3/command.cfg fügt man ein

# 'check_rustpager' command definition
define command{
        command_name    check_unipager
        command_line    /usr/lib/nagios/plugins/check_unipager -H '$HOSTNAME$' --port $ARG1$
}

Dann erstellt man eine Datei in /etc/nagios3/conf.d mit z.B. dem Hostnamen c9000.db0sda.ampr.org.cfg und dem Inhalt

define host{
        use                     generic-host-rwthafu            ; Name of host template to use
        host_name               c9000.db0sda.ampr.org
        alias                   c9000.db0sda
        address                 44.225.164.26
        hostgroups              db0sda, ssh-servers, raspberrypi
        }


# Define a service to check if rustpager is connected to a Core
define service{
        use                             generic-service-rwthafu
        host_name                       c9000.db0sda.ampr.org
        service_description             UniPager Connection to DAPNET Core
        check_command                   check_unipager!8055
        }

Die hostgroup, host_name, alias und IP müssen natürlich angepasst werden. Einmal nagios neustarten und schon wird der Status überwacht.

 unipagernagios

 

 

Aktuelle Seite: Home Projekte Funkruf Pager POCSAG UniPager