Ein Webinterface für das TTGO LoRa APRS iGate

Die meisten LoRa APRS iGates laufen derzeit mit einem TTGO Board. Diese sind recht preiswert zu bekommen. Die bekannteste Software dafür kommt von Peter Buchegger OE5BPA. Diese funktioniert auch recht gut, hat aber wie fast alle anderen Lösungen auch einen entscheidenden Nachteil: Man hat keine große Kontrolle oder Übersicht über die Empfangslage des iGates. Weiterlesen

LoRa APRS iGate mit dxlAPRS und RA02 auf einem RaspberryPi

Mit dem neuen Tool ra02 von Chris OE5DXL ist es auf einfache Weise möglich ein LoRa APRS iGate mit der Software dxlAPRS auf einem RaspberryPi zu betreiben. Der Vorteil ist, man kann es problemlos auch mit anderen Chains (z.B. SDR RX auf 2m/70cm oder einen RX/TX mit einem TNC) kombinieren und gemeinsam in einem iGate betreiben. In der Vergangenheit habe ich so etwas schon unter dem Namen „Multi-APRS iGate“ beschrieben. Weiterlesen

LoRa APRS Gateway mit einem RaspberryPi – diese Methoden gibt es

Wenn man LoRa APRS als iGate oder Digi betreiben möchte, kann man verschiedene Hardware verwenden. Es gibt z.B. die TTGO Boards auf ESP32 Basis, den APRSCUBE von DL3DCW und diverse andere Projekte von findigen Bastlern. Diese kann man man gut Standalone betreiben und sind sicherlich auch sehr stromsparsam. Dennoch besteht oft der Wille für LoRa APRS einen RaspberryPi Computer zu verwenden. Zum Beispiel weil einem bekannte Software wie Direwolf, APRX oder dxlAPRS besser gefällt und man damit das APRS iGate betreiben möchte. Weiterlesen

LoRa APRS Gateway mit dxlAPRS und TTGO LoRa Board

Auf dem Elektronikmarkt gibt es inzwischen jede Menge ESP32 Boards mit LoRa Funkmodul welche man für LoRa APRS einsetzen kann. Die meisten sind nur mit einer WLAN Schnittstelle ausgestattet. An manchen Standorten ist aber nur eine Einbindung per LAN-Kabel möglich. Hier gibt es eine Möglichkeit den TTGO oder andere ESP32 LoRa Boards per USB mit einem PC (z.B. Raspberry Pi) zu verbinden. Auf dem PC läuft dann z.B. dxlAPRS als APRS-Software, der TTGO dient quasi nur noch als Modem. Vielleicht interessiert man sich aber auch nur für die vielen Möglichkeiten, die einem dxlAPRS bietet und wählt diesen Weg.

Heutzutage ist es relativ einfach geworden einen TTGO an einem Raspberry Pi oder anderen PC als Modem zu nutzen. Möglich macht es die gut entwickelte Software von Ricardo CA2RXU, welche inzwischen auch über einen Webflasher installierbar ist. Das „Martyrium“ mit einer Installation von diversen Tools und Aufspielvorgängen ist damit nicht mehr notwendig. Die „alte“ Anleitung habe ich aus Archivgründen am Ende dieses Beitrags gelassen.

In der folgenden Anleitung wird beschrieben, wie man einen TTGO bzw. ein anderes ESP32 LoRa Board (die Software unterstützt bereits viele Boards) mit dem Webflasher bespielt und passend für die Funktion als LoRa Modem einstellt. Anschließend wird die beispielhafte Anbindung an dxlAPRS beschrieben. Weil die meisten einen RaspberryPi (RasPi) und ein TTGO Board verwenden, werden diese Begriffe für die Anleitung verwendet.

Schritt 1 – Software auf TTGO flashen und einrichten

Zum flashen des TTGO benötigt ihr nur ein USB-Datenkabel und einen Chromebasierten Webbrowser (z.B. Chrome, Edge etc.). Der Firefox unterstützt diese Funktion derzeit leider noch nicht. Zunächst öffnet man die Seite vom Webflasher, wählt dort das passende Board aus (standardmäßig ist ein TTGO LoRa Board ausgewählt) und klickt auf „FLASH FIRMWARE“.

Anschließend folgt man den weiteren Anweisungen (ggf. muss der Zugriff auf die serielle Schnittstelle noch erlaubt werden).

Der Flashvorgang dauert ca. 1-2 Minuten. Die Software auf dem TTGO startet von alleine neu. Es ist ratsam nach dem ersten Start das USB Kabel noch einmal abzuziehen und neu zu stecken. Nach dem Starten der Software sieht man folgendes auf dem Display:

Das Gerät erstellt einen eigenen WLAN AccesPoint, mit dem man sich für die Erstkonfiguration verbinden muss. Das kann man schnell mit Smartphone oder Tablet machen. Der AccessPoint nennt sich „NOCALL-10-AP“ und man kann sich mit dem Passwort „1234567890“ verbinden. Ist die Verbindung hergestellt, öffnet man am Smartphone einen Webbrowser und gibt in der Adresszeile folgende IP-Adresse ein:  192.168.4.1  . Es erscheint die Weboberfläche der Software, an der alle Einstellungen vorgenommen werden können.

Die wichtigste Einstellung ist die Aktivierung des Serial KISS Protokolls für die USB Schnittstelle.

Alle weiteren Einstellungen sind für die weitere Nutzung irrelevant. Trotzdem macht es ggf. Sinn noch folgendes zu konfigurieren:

  • LORA: Bei Bedarf alternative Frequenzen oder Übertragungsmodi (Standardeinstellungen passen für die meisten europäischen Länder)
  • DISPLAY: Bildschirm dauerhaft ausschalten, falls es später unbemannt betrieben wird.
  • WiFi Auto AP: Passwort für den automatischen AccessPoint ändern (aktuell ist das Deaktivieren des AP nicht möglich. Falls jemand in der Nähe ist und das Passwort kennt, könnte er sich verbinden und Einstellungen ändern!)
  • Admin Passwort einrichten (zusätzliche Sicherheit, damit bei Zugriff nichts ohne Adminpasswort geändert werden kann).

Schritt 2 – Modem an dxlAPRS anbinden

Wenn man bereits eine dxlAPRS Grundinstallation auf dem RasPi hat, hat man bereits alles drauf, was man benötigt. Zunächst benötigt man den Namen der Schnittstelle im System, mit dem das TTGO Board angesprochen werden kann. Dieses findet man unter /dev/ und beginnt mit „tty“. In den meisten Fällen wird die Bezeichnung /dev/ttyACM0 oder /dev/ttyUSB0 lauten.

Um das Modem mit dxlAPRS nutzen zu können, ist eine Anbindung mit udpflex notwendig. Die Zeile dazu lautet:

udpflex -t PORTNAME:PORTSPEED -U 127.0.0.1:DESTINATIONPORT:0 -V

Beispielhaft wäre das (auf Groß-/Kleinschreibung achten!):

udpflex -t /dev/ttyACM0:115200 -U 127.0.0.1:9702:0 -V

  • Der Parameter -t baut die serielle Verbindung über die USB Schnittstelle auf. Standardmäßig sind die TTGO Boards mit 115200 Baud ansprechbar. Bei anderen Boards kann es abweichen.
  • Der Parameter -U ist die UDP Verbindung zu dxlAPRS. Es handelt sich hierbei um eine Zweiwegeverbindung.
    • 127.0.0.1 ist die lokale Adresse des Rechners und braucht i.d.R. nicht geändert zu werden
    • :9702 ist hier der „Destination Port“. Alle über KISS eingehenden Daten (was der TTGO empfängt) werden per UDP an diesen lokalen Port gesendet.
    • :0 ist der „Listen Port“. Alle APRS Daten die an diesen Port gesendet werden, werden an das TTGO zum Aussenden weitergereicht. Wenn wie hier der Port 0 steht, wird nichts gesendet und das TTGO arbeitet rein im Empfangsbetrieb. Wichtig: Mit dem iGate auf LoRa APRS senden lassen erfordert sehr viel Wissen darüber was man tut! Sehr schnell kann damit die QRG zugemüllt werden. Es ist daher grundsätzlich nicht zu empfehlen!
  • Der Parameter -V lässt den udpflex alle ein- und ausgehenden Pakete an der Konsole anzeigen – dann sieht man auch was alles passiert.

Als Zielport kann man entweder direkt einen Eingangsport am iGate udpgate4 angeben. Oder man nutzt udpbox um vorher noch ggf. die Daten zu duplizieren (z.B. für APRSMAP oder andere Zwecke).

Beispieloutput bei Empfang:

Beispiel ohne udpbox:
udpflex -t /dev/ttyACM0:115200 -U 127.0.0.1:10702:0 -V
udpgate4 -s MYCALL -R 127.0.0.1:0:10702#LoRa -n 30:/home/pi/dxlAPRS/aprs/netbeacon.txt -g rotate.aprs2.net:14580 -p PASSCODE -t 14580 -w 14501 -D /home/pi/dxlAPRS/aprs/www/ -v

Beispiel mit udpbox:
udpflex -t /dev/ttyACM0:115200 -U 127.0.0.1:9702:0 -V
udpbox -R 127.0.0.1:9702 -l 127.0.0.1:10702 -r 127.0.0.1:9999 -v
udpgate4 -s MYCALL -R 127.0.0.1:0:10702#LoRa -n 30:/home/pi/dxlAPRS/aprs/netbeacon.txt -g rotate.aprs2.net:14580 -p PASSCODE -t 14580 -w 14501 -D /home/pi/dxlAPRS/aprs/www/ -v

Bitte die dargestellten Zeilenumbrüche nicht mit einbauen! Die Darstellung der Webseite lässt es nicht anders zu.

Beispielskripte (start-lora-rx-esp32.sh) findet man auch in meinem Github repository.


Alte Anleitung vom 01.09.2021 mit DL9RDZ Software

Hier habe ich schonmal beschrieben wie man LoRa APRS mit einem LoRa HAT für den RaspberryPi mit dxlAPRS verbinden kann. Kompatible LoRa HATs für den RaspberryPi sind aber inzwischen sehr schwierig zu bekommen. Wenn man keinen Selbstbau nach Andreas OE1ROT macht, bleibt einem nur das OE1ACM Board (Gateway V) übrig. Das ist aber derzeit schwer zu bekommen.
Es lag also Nahe mit den beliebten TTGO Boards etwas anzufangen. Doch wie bringt man die TTGO Boards und dxlAPRS zusammen?

Weiterlesen

APRS RX only iGate mit dxlAPRS unter Linux

Im folgenden Beitrag erfahrt ihr, wie ihr unter Linux mit den dxlAPRS Tools und einem einfachen SDR Stick ein APRS RX (=nur Empfang) iGate auf zwei Frequenzen (144,800 und 145,825 MHz) betreibt und die empfangenen Daten via Internet oder Hamnet zu den APRS-IS Servern und/oder zum Kartenprogramm APRSMAP übertragt. Das iGate kann sowohl in einem System mit grafischer Oberfläche als auch ohne benutzt werden, z.B. für abgesetzten Betrieb. Es kann auch auf einem bestehenden System bzw. Server mit dazu installiert werden. Auch auf Einplatinenrechnern wie dem RaspberryPi, BananaPi oder OrangePi mit ARMv7 Architektur ist dxlAPRS lauffähig. Die folgende Beschreibung bezieht sich auf die Installation auf einem RaspberryPi mit RaspberryPi OS.

Weiterlesen

LoRa APRS iGate mit dxlAPRS auf einem OrangePi

Neben dem sehr beliebten RaspberryPi der RasperryPi Foundation gibt es auch Einplatinenrechner von anderen Herstellern. Ich selbst besitze deswegen einen „OrangePi PC Plus“ und einen „BananaPi Pro“. Da der „OrangePi PC Plus“ einen fest installieren EMMC Speicher hat, wäre dieser ideal für Dauerbetrieb geeignet, da SD-Karten leider sehr anfällig sind und regelmäßig getauscht werden müssen. In Anlehnung an das Multi-APRS iGate für den RaspberryPi hatte ich nun die Idee, ein weiteres mit dem OrangePi zu bauen. Ich habe dieses Board gewählt, da der GPIO Anschluss des OrangePi mit dem des RaspberryPi voll kompatibel ist. Beste Voraussetzungen also für den „schnellen Erfolg“ mit den bestehenden LoRa APRS Gatewayplatinen von OE1ROT oder OE1ACM für den RaspberryPi.
Weiterlesen