Repository navigation
pluto-tx 0.9.0 RC2 – Debian-Paket (Ubuntu 26.04, amd64)
Pre-releaseZweiter Release-Kandidat von pluto-tx als Debian-Paket (Pre-Release, zum Testen), nur für Ubuntu 26.04 LTS auf amd64. Für Debian 13 und arm64 gibt es in diesem RC kein Paket.
Installation
sudo apt install ./pluto-tx_0.9.0.rc2.ubuntu26.04_amd64.deb
pluto-tx-doctorAuf dem Ubuntu-Desktop geht auch ein Doppelklick auf das .deb (App Center). Die Abhängigkeiten, u. a. GNU Radio, installiert apt mit.
Warning
Die Programme können senden. Senden ist nur mit passender Genehmigung und auf dafür zugelassenen Frequenzen erlaubt.
Warning
Dieser RC wurde nur im Container getestet, ohne angeschlossene Geräte. Die Installation auf einem echten Rechner mit Pluto, HackRF oder RTL-SDR steht noch aus.
Neu seit RC1
- APRS: Empfang und Senden in den Desktop-Apps,
pluto-cliund Web-TRX mit Karte und Nachrichten, ohne Igate und ohne APRS-IS. Gesendet wird nur auf Klick oder Befehl. - ADS-L und ADS-B: nur Empfang, in der RX-App,
pluto-cliund Web-TRX mit Live-Karte. - ESP32-S3 als Sendegerät für FM und M17 auf 13 cm. Zum Senden wird zusätzlich
esptoolab Version 5 gebraucht, das nicht mitinstalliert wird (pipx install esptool). - POCSAG und APRS tasten am Pluto ohne den langen Trägervorlauf von mehreren Sekunden.
- Web-TRX: Der NOTAUS bleibt in jeder Fensterbreite und über der Vollbildkarte erreichbar.
Kurzanleitung
Nach der Installation
pluto-tx-doctorausführen. Es zeigt, ob alle Komponenten gefunden werden und ob die SDRs erreichbar sind.- RTL-SDR: Ein RTL-SDR, das schon vor der Installation gesteckt war, einmal ab- und wieder anstecken, damit die Zugriffsrechte der udev-Regel greifen. Einen noch geladenen DVB-T-Treiber (
dvb_usb_rtl28xxu) löst librtlsdr beim Öffnen selbst ab; nach dem nächsten Neustart lädt er dank Sperrliste gar nicht mehr. - Eine vorhandene Git-Installation mit Startern in
~/.local/binverdeckt das Paket.pluto-tx-doctor --fix-launchersbenennt die alten Starter um; gelöscht wird nichts.
Programme
- Die Desktop-Apps findest du im Menü (Pluto TX, Pluto Advanced RX, Web-TRX) oder startest sie im Terminal mit
pluto-txbzw.pluto-advanced-rx. - Für die Kommandozeile ohne GUI gibt es
pluto-cli --help,pluto-cli tx --help,pluto-cli rx --helpundpluto-cli devices --help.
Web-TRX-Server von Hand starten und stoppen
web-trx start # startet den Server im Hintergrund und zeigt die Adressen
web-trx status # läuft er? (--json für Skripte)
web-trx log # Log live mitlesen (Strg+C beendet nur die Anzeige)
web-trx restart # nach Änderungen an den Einstellungen
web-trx stop # beenden; der Sender geht dabei in den sicheren Zustand
web-trx open # im Browser öffnen (nur auf einem Rechner mit Desktop)- Adresse:
https://<rechner>:8321. Das Zertifikat ist selbstsigniert, der Browser warnt einmal. Die Ausnahme musst du zulassen, denn das Mikrofon funktioniert im Browser nur über https. - Passwort: Es wird beim ersten Start erzeugt, angezeigt und in
~/.config/pluto-tx/web-trx.envgespeichert. Dort kannst du es ändern und dannweb-trx restartausführen. - Solange Web-TRX ein SDR geöffnet hat, können die Desktop-Apps dieses SDR nicht nutzen. Die Apps zeigen das in ihrer Web-TRX-Zeile an und können den Server dort auch starten und stoppen.
Einstellungen: ~/.config/pluto-tx/web-trx.env
WEB_TRX_PASSWORD=... # Login-Passwort
WEB_TRX_PORT=8321 # Port
WEB_TRX_HOST=0.0.0.0 # Adresse, auf der der Server lauscht (127.0.0.1 = nur lokal)
WEB_TRX_TLS=false # http statt https (dann kein Mikrofon im Browser, außer auf localhost)
WEB_TRX_STATION_CALL=N0CALL # eigenes Rufzeichen (FT8/JS8)
WEB_TRX_STATION_LOCATOR=AA00 # eigener Locator
WEB_TRX_BACKEND=sim # Simulation ohne Hardware, zum AusprobierenLaufzeitdaten wie Log, Zertifikat, Sitzungen, TX-Log und Einstellungen liegen in ~/.local/state/web-trx/.
Ohne Monitor (headless), wenn du den Server von Hand startest: GNU Radio öffnet immer einen lokalen Audio-Ausgang, auf manchen Rechnern ist ALSA-default ein HDMI-Ausgang. Ohne Monitor scheitert dann der RX mit audio_alsa_sink. Abhilfe: diese zwei Zeilen in web-trx.env eintragen, danach web-trx restart. Der Ton geht ohnehin an den Browser, und der Dienst setzt das schon selbst.
GR_CONF_AUDIO_ALSA_DEFAULT_OUTPUT_DEVICE=null
GR_CONF_AUDIO_ALSA_DEFAULT_INPUT_DEVICE=nullWeb-TRX als Dienst (headless)
Mit dem Dienst startet der Server bei jedem Boot, auch ohne Anmeldung. Die Station kann dann senden, ohne dass jemand am Rechner angemeldet ist. Deshalb ist der Dienst nach der Installation aus und muss bewusst eingeschaltet werden:
web-trx service enable # als normaler Benutzer (nicht mit sudo); fragt selbst nach dem sudo-Passwort
web-trx service status # Zustand des Dienstes
web-trx service disable # Dienst ausschalten und entfernen- Der Dienst heißt
web-trx@<benutzer>.serviceund läuft als dein Benutzer, mit denselben Einstellungen und Daten wie oben. - Stoppen und Starten, ohne ihn auszuschalten:
sudo systemctl stop|start|restart web-trx@$USER. Einweb-trx stopbeendet einen laufenden Dienst ebenfalls, danach läuft er erst nach dem nächsten Boot wieder. - Log:
web-trx logoderjournalctl -u web-trx@$USER.
Deinstallieren
sudo apt remove pluto-tx # Programm entfernen
sudo apt purge pluto-tx # zusätzlich die Dienst-Einrichtung entfernenDeine Einstellungen und Daten in ~/.config/pluto-tx/ und ~/.local/state/web-trx/ bleiben erhalten. Wenn du sie nicht mehr brauchst, löschst du sie von Hand.
Weitere Doku
- Im Paket:
/usr/share/doc/pluto-tx/(README, README.web-trx.md, README.pluto-cli.md) man web-trx,man pluto-txusw.
Inhalt
pluto-tx,pluto-advanced-rx,pluto-cli,web-trx,pluto-tx-doctor, mit Menüeinträgen- Alle optionalen Komponenten sind vorgebaut: M17 (gr-m17), LoRa/Meshtastic/MeshCore (gr-lora_sdr), RADE (rade_c), FT8 (ft8_lib), JS8 (js8ref und JSC-Wortlisten)
- Der Host-Teil des ESP32-S3 mit vorgebauter Firmware
- Web-TRX mit fertigem Frontend und den FastAPI/Uvicorn-Paketen der Distribution, ohne eigene venv
- udev-Regel: HackRF und RTL-SDR sind für den angemeldeten Benutzer ohne Gruppe und ohne Neu-Anmeldung nutzbar
web-trx@.servicewird deaktiviert ausgeliefert und ist ein bewusster Schritt:web-trx service enable
Getestet
Paket gebaut aus 01e2175; bis zum Tag kamen nur eine Testkorrektur und diese Notizen hinzu. In einem frischen Ubuntu-26.04-Container ohne Build-Werkzeuge: Installation allein aus den Distributionsquellen, --version und --help aller Programme, alle Komponenten, pluto-tx-doctor, Web-TRX im Simulator, 599 Tests gegen den installierten Code (11 übersprungen), nichts unter /usr geschrieben, Deinstallation und Purge ohne Rückstände.
Über Funk, aus dem Git-Stand und nicht aus dem Paket: APRS und POCSAG vom Pluto+ zum RTL-SDR auf 432,150 MHz bei −40 dB, APRS- und ADS-B-Empfang an echtem Verkehr.
Bekannte Grenzen
- Nicht getestet: das installierte Paket mit echten Geräten und die grafischen Apps auf einem echten Desktop.
- APRS: Auf 144,800 MHz wurde noch nie gesendet. HackRF, Soundkarte, AIOC, die Sendeknöpfe der Desktop-Apps und die automatische Bestätigung sind über Funk nicht getestet. Details:
docs/aprs/SPEC.md. - POCSAG nach dem Umbau des Tastablaufs nur mit dem Pluto+ bei 1200 Bd über Funk geprüft.
- ADS-B und ADS-L: HackRF nicht an echtem Signal getestet.
- Empfindlichkeit: Rechenlast des eigenen Rechners stört einen danebenstehenden RTL-SDR messbar, vor allem um 70 cm um bis zu 14 dB.
- Noch keine APT-Quelle und kein
get.sh; Updates vorerst durch Installieren des neuen.deb. - Eine bestehende Git-Installation mit Startern in
~/.local/binverdeckt/usr/bin.pluto-tx-doctorzeigt das an,pluto-tx-doctor --fix-launchersbenennt die alten Starter um. - Aus RC1, hier in zwei vollen Läufen nicht wieder aufgetreten: In einem von vier vollen Testläufen unter Ubuntu 26.04 stürzte der Testprozess einmal mit einem Segmentation Fault ab, in der Nähe der RADE-Tests. In den übrigen drei Läufen (zwei davon mit dem veröffentlichten Paket) trat er nicht auf. Die Ursache ist noch nicht geklärt.
- Lizenzhinweis gr-m17: Die Top-Level-
LICENSEvon gr-m17 und das Submodullibm17enthalten den GPL-2.0-Text ohne Versionsangabe; die Quellen von gr-m17 selbst sind GPL-3.0-or-later. Die Frage ist noch nicht geklärt, siehe/usr/share/doc/pluto-tx/copyright. - Lizenzhinweis ESP32-Firmware: Die vorgebauten Images in
espdr/imagessind mit derlibphy.aaus ESP-IDF v5.5 gelinkt, für die die Bedingungen von Espressif gelten.
Quellen
sources-0.9.0.rc2.tar.xz enthält pluto-tx und alle gebündelten Komponenten zu den eingebauten Commits (packaging/components.lock). Die Lizenztexte liegen im Paket unter /usr/share/doc/pluto-tx/licenses/. Prüfsummen: SHA256SUMS (noch nicht signiert).