Benutzer-Werkzeuge

Webseiten-Werkzeuge


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.

Vor der Installation

Vor der Installation ist zuerst auf dem Speichermedium von z.B. einem Raspberry Pi ein aktuelles Betriebssystem aufzuspielen. Wie das gemacht wird, ist reichlich im Internet dokumentiert. Es kann vom Betriebssystem „Raspberry OS“ z.B. die 'light' Version installiert werden. Das Betriebssystem „Raspberry OS light“ hat keine Desktopumgebung, also ohne Ballast. Um z.B. von einem anderen Rechner, über das eigene Netzwerk (LAN), auf den Raspberry Pi zugreifen zu können, muss auch der SSH-Zugang frei geschaltet werden.

Wenn das Betriebssystem installiert ist und läuft, kann Unipager installiert werden.

Installation

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

1. Weg

Über das HAMNET

curl http://db0sda.ampr.org/debian/install.sh -sSf | sh -s -- hamnet

Über das 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.list mit folgendem Inhalt erstellen:

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

Dann folgende Befehle ausführen:

wget -O - https://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/unipager gehostet.

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

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

Für die Nutzung des UARTs muss auf dem Raspberry Pi ggf. die Bluetooth Schnittstelle deaktiviert werden. Siehe: https://www.raspberrypi.org/documentation/configuration/uart.md

Konfiguration und Web-Interface

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

Um von einem anderen Rechner, über das eigene Netzwerk (LAN), auf den z.B. Raspberry Pi zugreifen zu können, muss der SSH Zugang im Betriebssystem freigeschaltet sein. Danach wird die „IP Adresse“ vom Raspberry Pi benötigt. Diese ist z.B. im eigenen Router (z.B.FritzBox) zu finden. (In der FritzBox unter Heimnetz, Heimnetzübersicht. Dann den „Raspberry Pi“ suchen und auf „Details“ klicken. Hier ist die IP Adresse / IPv4-Adresse zu finden.) Jetzt im Browser, z.B.Firefox, ein neues Fenster öffnen die IP Adresse vom Raspberry Pi eingeben, dann ein Doppelpunkt und dann 8073. Beispiel: 192.168.178.40:8073

Eventuell muss im Browser erst die automatische Suchfunktion aus geschaltet werden, da sonst in einer Suchmaschine nach der Nummer gesucht wird und man nicht auf den Raspberry Pi kommt.

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.

Testversion

Es besteht die Möglichkeit, UniPager in der aktuellen Version aus dem Github Repository zu nutzen. Hier können vorab neue Funktionen getestet werden. Bis zum nächsten 'stable Release' ist diese als Testversion anzusehen und kann unter Umständen Fehler enthalten.

Diese Funktion sollte daher mit Bedacht genutzt werden.

Hierzu muss die Datei /etc/apt/sources.list.d/unipager.list abgeändert werden.

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

Anschließend kann auf die Testversion aktualisiert werden.

sudo apt-get update
sudo apt-get upgrade

Zugriffsbeschränkung

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

Direkte Nachrichteneinspielung

Über das Websocket-Protokoll können auch mit einem Skript direkt in die Unipager-Software eingefügt werden. Der Code ist auf https://github.com/dk4pa/UniPager-SendWebsocket verfügbar.

Statistiken

Mit dem Commit 5120af3c sind auch experimentell Statistiken implementiert. Diese liefern sowohl den Status der Software als auch eine Statistik der Warteschlange und der ingesamt gesendeten Rufe.

Aufruf dieses JSON-Objects: http://unipager_ip:8073/status

Port forwarding

Für die externe Erreichbarkeit müssen die Ports 8073 und 8055 offen sein. Es empfiehlt sich dann aber den Unipager mit Passwortschutz zu versehen.

Passwortschutz für das Webinterface setzen

Um das Webinterface mit einem Passwortschutz zu versehen, legt man die Datei /var/lib/unipager/password an und trägt dort das zu verwendende Passwort ein.

Logfile Unipager auf einem Raspi

Kann via „sudo journalctl -u unipager“ aufgerufen werden

Konfiguration von USB-Soundkarten

Zunächst einmal sollte man mit dem Kommando

cat /proc/asound/cards

nachschauen, welche ID die Soundkarte hat… das kann dann z.B. so aussehen:

0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
1 [Device ]: USB-Audio - USB Audio Device
C-Media Electronics Inc. USB Audio Device at usb-3f980000.usb-1.4, full speed

Wie zu erkennen ist, hat das USB-Audio die ID 1, womit dann in der Konfiguration des Unipager

plughw:1

einzutragen wäre.

Probleme mit der internen Soundkarte

In seltenen Fällen kann es Probleme mit dem Output-Level der internen Pi-Soundkarte geben. In diesem Fall hilft eine externe USB-Soundkarte (siehe oben).

Das Problem tritt nur auf einigen Pis (Pi1 und PI2) auf und konnte noch nicht klar eingegrenzt werden, möglich wären Overclocking oder Timinig-Problem, als auch Produktionsabweichungen.

Hardwarekompatibilitätsliste

Nachfolgend eine Hardwarekompatibilitätsliste getesteter Raspberry Pi-Modelle mit den verschiedenen unipager-Versionen

Modell/Version unipager unipager-testing
Zero nicht getestet nicht getestet
Zero W / WH nicht getestet nicht getestet
Zero 2 W nicht getestet nicht getestet
1 Mod. A nicht getestet nicht getestet
1 Mod. A+ nicht getestet nicht getestet
1 Mod. B nicht getestet nicht getestet
1 Mod. B+ nicht getestet nicht getestet
2 Mod. B nicht getestet nicht getestet
2 Mod. B v1.2 nicht getestet nicht getestet
3 Mod. A+ nicht getestet nicht getestet
3 Mod. B nicht getestet nicht getestet
3 Mod. B+ nicht getestet nicht getestet
4 Mod. B nicht getestet nicht getestet
unipager.txt · Zuletzt geändert: 2022/07/15 15:04 von dh3wr