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 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.
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.
curl http://db0sda.ampr.org/debian/install.sh -sSf | sh -s -- hamnet
curl http://www.afu.rwth-aachen.de/debian/install.sh -sSf | sh -s -- internet
/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
/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
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
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.
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
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.
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
Die Zugriffsbeschränkung ist schon implementiert, wird aber noch verbessert. https://github.com/rwth-afu/UniPager/issues/12
Ü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.
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
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.
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.
Kann via „sudo journalctl -u unipager“ aufgerufen werden
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.
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.
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 |