Software

Wie du APRS-Pakete unter Linux über die Kommandozeile versenden kannst

Ich finde APRS sehr spannend. Leider sind die APRS-Programme, die für Endbenutzer gedacht sind, alle so charmant wie Windows 95. Mal ehrlich, UiView? Naja, kann man benutzen. Xastir? Muss man wohl benutzen, weil es fast keine Alternativen für Linux gibt. Vom Hocker reißen mich beide Programme nicht. Ich bin eher auf der Suche nach einer einfachen Lösung, die ich über die Linux-Kommandozeile bedienen kann.

Ich habe eine Weile gesucht und dann erstmal wieder verworfen. Heute habe ich dann beiläufig eine interessante Entdeckung gemacht, die einen Teil meiner Bedürfnisse erfüllt oder zumindest eine Grundlage für eine Weiterentwicklung ist.

Ich habe die kleine Programmbibliothek afsk für die Programmiersprache Python entdeckt. Die Beschreibung las sich vielversprechend.

Bell 202 Audio Frequency Shift Keying encoder and APRS packet audio tools

Library to generate Bell 202 AFSK audio samples and AFSK encoded APRS/AX.25 packets.

The aprs command line program encodes APRS packets as AFSK audio data.

Das klang irgendwie interessant und schien genau das zu sein, was ich suche. Die Bibliothek enthält ein kleines Programm, das sich aprs nennt und in der Kommandozeile bedient wird. Wenn das Programm mit den entsprechenden Parametern startet, wird die Nachricht in APRS/AX.25 Pakete umgewandelt und als AFSK Audiodaten über die Standardausgabe ausgegeben.

Die Ausgabe kann man unter Linux natürlich beliebig umleiten. Also habe ich die Audioausgabe kurzerhand über mein USB-Soundinterface gesendet, an das mein Handfunkgerät angeschlossen war. Das Ergebnis war, dass der nächste Digipeater mein Signal gehört und an das APRS-IS weitergeleitet hat. Mein kurzer Test war also erfolgreich.

Die Installation der Bibliothek ist einfach. Du brauchst ein Linux mit Python 2.6 oder 2.7. Unter Ubuntu installierst du dann die Pakete python-pyaudio und pip. Unter Debian ist pip in python-pip enthalten.

$ sudo aptitude install pip python-pyaudio

Dann installierst du die Bibliothek selbst mit pip.

$ pip install afsk

Die Installation ist damit erledigt. Du kannst jetzt das Programm aprs benutzen. Die Hilfe erreichst du indem du aprs -h in der Kommandozeile eingibst. Das Programm selbst rufst du am besten wie folgt auf. Es versteht sich von selbst, dass du dein eigenes Rufzeichen eintragen musst und deine Mail-Adresse zum Testen verwenden solltest.

$ aprs -c CALL ":EMAIL    :test@example.com Test E-Mail"

Jetzt solltest du eben den klassischen Klang eines APRS-Signals aus deinem Lautspecher gehört haben. Mit dem nachfolgenden Befehl kannst du die Audio-Ausgabe in einer Datei speichern.

$ aprs -c CALL --output aprs.wav ":EMAIL    :test@example.com Test E-Mail"

Nun musst du nur noch die Soundkarte finden an die dein Funkgerät angeklemmt ist. Eine Übersicht welche Soundkarten installiert sind, kannst du mit aplay -l anzeigen lassen. Du musst vielleicht ein wenig rumexperimentieren, wenn du viele Soundkarten hast. Bei mir klappt es mit dieser Einstellung.

aplay -D hw:1 aprs.wav

Wenn die Ausgabe über dein Fungerät gesendet wurde, kannst du auf aprs.fi prüfen, ob dein Paket gehört wurde.

Bei mir hat das gestern geklappt. Wie man im nachfolgenden Screenshot sieht, wurden die ersten beiden Pakete von meinem eigenen iGate empfangen. Nachdem ich es ausgeschaltet habe, konnte mein Paket vom Digipeater auf DB0LOS gehört werden.

aprsCLI

Mit dieser Lösung kannst auch du APRS-Pakete in der Konsole versenden. Das ganze ist ausbaufähig und noch kein vollwertiger APRS-Messenger, aber es ist ein Anfang.

1 Kommentar

  1. Pingback: Wochenrückblick KW 9 › HAMSPIRIT.DE

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

banner