LoRa im Amateurfunk
In Bearbeitung
Status: 14. März 2020

Inzwischen sind etwa 5 Jahre vergangen, seit ich mich erstmals mit dem LoRa-Kommunikationssystem beschäftigt hatte. Da ich seinerzeit aber auch schon einiges Grundsätzliches zum System und seinen besonderen Einsatzmöglichkeiten geschrieben hatte [1], [2],  möchte ich das hier nicht noch einmal wiederholen. Interessenten finden in genannten Textstellen oder auch im Internet aber eine Unmenge entsprechender Informationen.

Mein Interesse gilt inzwischen vorzugsweise den LoRa-Anwendungen im Amateurfunkbereich. Besonders auch im Raume Wien [14] hatte man sich schon sehr früh mit der Übertragung von GPS-Navigationsdaten im Rahmen von Amateurfunkanwendungen beschäftigt. Herausgekommen war dabei etwas, das man als eine Art APRS-LIGHT bezeichnen könnte. Im Clubmagazin QSP des östereichischen Versuchssenderverbandes ÖVSV war darüber bereits im Frühjahr 2017 etwas zu lesen [3]. Inzwischen hat sich die Angelegenheit dort weiter entwickelt. So wurden sehr erfolgreich z.B. Baugruppen für den mobilen Einsatz als Tracker zur Übermittlung von GPS-Standortdaten oder auch Gateways zur Weiterleitung empfangener Daten in das weltweite Internet entwickelt [4] und auch erfolgreich eingesetzt. Die topografischen Gegebenheiten im Großraum der alpenländischen Hauptstadt begünstigten dabei auch den schnellen und weitgehend flächendeckenden Ausbau des gewünschten  Versorgungsbereiches. Bei diesem Erfolg konnte es nicht ausbleiben, dass Interesse an diesem Projekt auch auf andere Regionen übersprang. Unter Verwendung aus Wien stammender Baugruppen entstand so auch ein entsprechendes Funknetz im Raume Mainz/Wiesbaden. Hauptinitiator ist Wolfgang, DF7PN, der im Mitteilungsblatt des DARC-Ortsverbandes K07 auch schon ausführlich darüber berichtet hat [5]. Derzeit sind bereits 4 Gateways in Betrieb, so dass der vorerst angestrebte Funkversorgungsbereich auch jetzt schon weitgehend abgedeckt ist. Aber auch weiterer Ausbau ist bereits in der Realisierungsphase. So soll in Kürze z.B. die Rheinstrecke im Bereich von Oppenheim/Nierstein noch mit einbezogen werden. An einem exponierten Standort wird dabei ein LoRa-Repeater gem. Abb.3 zum Einsatz kommen. Die Viruskrise bringt es allerdings leider mit sich, dass es bei der Bauteilebeschaffung aus Fernost derzeit einige Verzögerungen gibt.  

Systembedingt werden LoRa-Protokolle mit einer relativ geringen Datenrate übertragen. Um die zeitliche Belegung von Funkkanälen dennoch möglichst kurz zu halten, ist eine wirkungsvolle Komprimierung der zu übertragenden Daten anzustreben. Aus ähnlichen Gründen wird z.B. auch bei APRS schon seit vielen Jahren u.a. das Komprimierungsverfahren MIC-E [6] verwendet. Warum man sich in Wien bei den Übertragungen via LoRa für ein anderes, eigenes Protokollformat entschieden hat, vermag ich nicht zu sagen. Herausgekommen ist dabei auf jeden Fall etwas, das sich in seinem Header zwar durchaus an dem von APRS bekannten Format orientiert, bei der Datenkompression aber ansonsten eigene Wege geht. Daten von Längengrad, Breitengrad und Höhe werden dabei in komprimierter Form zu einem aus etwa einem Dutzend ASCII-Zeichen bestehenden String zusammengefasst.

Um hier einen unkontrollierten Wildwuchs zu vermeiden, habe ich mich zur Übernahme genannten Formates auch für eigene Projekte entschieden und taufte es fortan "OE-Format". Die Übernahme betrifft übrigens auch die im Wiener Raum benutzte
Betriebsfrequenz 433.775 MHz. Zu ihr ist anzumerken, dass sie innerhalb des auch durch Allgemeingenehmigungen abgedeckten Frequenzsegmentes ( ISM-Band ) angesiedelt ist. Übernommen wurden darüber hinaus auch sonstige LoRa-Parameter wie Bw 125 KHz, CR 4/5 und SF12. Eine Kompatibilität zwischen den meisten derzeit für Amateurfunkanwendungen verfügbaren Hard- und Softwarekomponeten dürfte damit  erreicht sein.

Ohne in Konkurrenz zu den von den östereichischen Freunden durchgeführten Entwicklungen treten zu wollen, habe ich basierend auf ARDUINO-Hard- und Software auch eigene Projekte unter Verwendung besagten OE-Formates realisiert. Mit einem in der Größenordnung von nur wenigen Zehn Euros liegendem materiellen Aufwand sind dabei u.a. die im Folgenden kurz beschriebenen Baugruppen entstanden:


Sendebake


Abb.1  LoRa-Sendebake  ( mehr zur Hardware via Link [2] )

An erster Stelle sei hier ein kleiner Baustein zur LoRa-Aussendung fixer Positionsdaten genannt. Nach einmaliger Quellcodeeingabe der eigenen Werte von Absenderrufzeichen, Längen- und Breitengrad, sowie Höhenwerten und ggf. weiterer kurzer Zusatzinformationen werden dabei Sendeprotokolle im oben erwähnten OE-Format erzeugt. Mit einer Sendeleistung von maximal +17dBm können Aussendungen auf zwei möglichen Frequenzen und in vier wählbaren Pausenintervallen ( z.B. 10 Sec, 60 Sec, 5 Min, 15 Min ) erfolgen.    
Geeignet ist dieser Baustein sowohl als Simulator zur Überprüfung eigener LoRa-Systeme, als auch als kleine eigenständige Bake zur Aussendung von Festpositionsdaten. Vom meinem Standort liess sich mit nur einem kurzen Stück Antennendraht ( Länge ca. 17cm ) mühelos ein in etwa 10Km Entfernung befindliches Gateway erreichen.
Mit einem zusätzlich angeschlossenem GPS-Baustein und entsprechend angepasster  Software kann die gleiche Einheit auch im mobilen Einsatz als einfacher LoRa-GPS-Tracker verwendet werden.

Kontrollmonitor

   
Abb.2a  LoRa-Empfangsmonitor mit OLED-Display ( Board gem. Link (2) )      
Abb.2b  ANDROID-APP zur Anzeige via Bluetooth übertragener Empfängerdaten

Bei diesem zweiten Projekt geht es um den Empfang und die Auswertung von LoRa-GPS-Daten. Zu ihrer Anzeige kann dabei z.B ein einfaches 0.96"-OLED-Display benutzt werden. Parallel hierzu erfolgt die Bereitstellung empfangener Daten im Format eines seriellen Protokolles, wobei es sich um eine etwas erweiterte Version der bekannten NMEA-0183-Datensätze des Typs "$GPGGA" handelt. Zusätzlich zu den dabei bereits standardmäßig bereitgestellten Daten von geogr. Länge, Breite und Höhe wurden hierbei auch noch die vom LoRa-Empfängerbaustein verfügbaren Werte von RSSI ( Eingangsfeldstärke ) und SNR ( Signal to Noise Ratio ) hinzugefügt.


Zur Auswertung verfügbarer Daten kann an den seriellen Ausgang des Processors z.B. ein Bluetoothbaustein HC-06 angeschlossen werden. Mit seiner Hilfe lässt sich auf einfache Weise eine kurze Funkverbindung in Richtung eines PC's oder Smartphones aufbauen. Im einfachsten Fall kann die Auswertung dann mithilfe eines  Standard-Terminalprogrammes erfolgen.

Eine weitere Auswertmöglichkeit ergibt sich durch Verwendung einer kleinen selbsterstellten ANDROID-APP ( Abb.2b ). Über eine Bluetoothverbindung zu einem Smartphone/Tablet übertragene Daten von Absender-Call,  Navigationsparametern usw. lassen sich damit nicht nur via Display komfortabel darstellen, sondern können auch gemeinsam mit den vom smartphoneinternen GPS-Baustein verfügbaren lokalen Positionsdaten herangezogen werden, um daraus Distanz und Richtung zur Gegenstelle berechnen und anzeigen zu können.
Ein besonderes Schmankerl besteht darin, diese Werte auf Wunsch auch im Sprachformat ausgeben zu können.

Manche Terminal-APP's bieten auch eine Möglichkeit zur dauerhaften Ablage empfangener Daten im Speicherbereich des Smartphones, was u.U. für spätere Übertragungsanalysen sehr nützlich sein kann. Eine andere Lösung ergibt sich durch Anschluss z.B. eines OpenLog-Bausteins der Firma Sparkfun [7] an den seriellen Datenausgang des Prozessors. Auf einfachste Weise erlaubt er die Ablage aller seriell eintreffenden Daten auf einer handelsüblichen Micro-SD-Speicherkarte.

LoRa-Repeater


Abb.3  LoRa-Repeaterbaustein in der 1W-Version ( LoRa-Baustein ist HOPE-RF "RFM98PW" ) 
( Low-Power-Versionen können Hardware analog zu Abb.1 verwenden )

Bei dem dritten Projekt handelt es sich um einen Repeater für LoRa-Daten. Das ursprüngliche Konzept stammte dabei von Stuart Robinson, GW7HPW. Hierbei wurden seinerzeit lediglich empfangene LoRa-Daten in einen FiFo-Speicher geschrieben und nach Auslesung wieder ausgesandt. Wunsch war stattdessen jedoch die Schaffung einer Version mit Möglichkeit zur Bearbeitung und ggf. Erweiterung der auszugebenden Daten. Zusätzlich sollten für Kennungszwecke auch noch cyclische Bakensignale generiert werden.
Die jetzt realisierte Variante erwartet an ihrem Empfängereingang Aussendungen mit Navigationsdateninhalt im OE-Format. Danach werden diese erst nach Erweiterung um ein Repeater-Call und ggf. auch kurze Zusatzinformationen wieder in Richtung möglicher APRS-LoRa-Gateways ausgesandt. Das gewählte Format ermöglicht dabei ihre Weiterleitung in das weltweite APRS-IS mit Auswertbarkeit via z.B. "APRS.FI", "APRSDirect" usw.    


Unabhängig von dieser Repeaterfunktion werden zudem noch in größeren Zeitabständen ( z.B. alle 10 Minuten ) formatgerechte Bakensignale generiert und für Identifikationszwecke ausgesandt.

Besonders interessant ist der Einsatz solcher Repeater an exponierten Standorten ohne Möglichkeit zur Internetanbindung. Realisiert wurden 1W, 50mW und 10mW-Versionen, wobei sich Letztere auch im Rahmen von Allgemeingenehmigungen betreiben lassen sollten.


Abb.4  Beispiele für im OE-Format codierte LoRa-APRS-Empfangs-, Sende- und Baken-Strings
 ( Mitschnitt vom seriellen Processorausgang via Monitor-Mode von ARDUINO-IDE )


WAS ES SONST NOCH GIBT:

LoRa mit Feather-Bausteinen


             
Abb.4a Feather-Board mit ARDUINO-Processor und LoRa-Baustein

Abb.4b Board mit aufgestecktem Prototypenboard und HC-06-Bluetoothmodul
Abb.4c Board mit aufgestecktem OLED-Board

Wer den Aufbau elektronischer Baugruppen mit Bestückung, sowie viel Lötarbeit scheut und darüberhinaus vielleicht auch noch an miniaturisierter Bauweise interessiert ist, für den sind ggf. die von der Fa. Adafruit angebotenen Feather-Bausteine interessant. Darunter gibt es Versionen, bei denen z.B. ein ARDUINO-Prozessor des Typs ATMEL 32U4 gemeinsam mit einem der üblichen LoRa-Bausteine aus der Serie RFM9x auf einer kleinen Platinen mit den Abmessungen von nur 23x51mm untergebracht ist. Ggf. zusätzlich erforderliche Funktionsgruppen, wie z.B. Displayanzeigen, lassen sich dabei über aufsteckbare Zusatzbausteine realisieren. Somit sind die Meisten der oben beschriebenen Projekte auch unter Verwendung dieser Feather-Bausteine umsetzbar. Als Produkte eines Fremdherstellers müssen sie bei der ARDUINO-IDE allerdings erst noch in die Auswahlliste der nutzbaren ARDUINO-Typen eingebunden werden. Im Vergleich zu Projekten mit Prozessoren des Typs ATMEL 328p sind zudem in der Regel auch noch kleinere Softwaremodifikationen erforderlich.


LoRa über FossaSat-Satelliten

Das LoRa-Übertragungsverfahren bietet sich auch für den Einsatz über Satelliten an. So wurden federführend vom spanischen Funkamateur Julian Fernandez, EA4HCD z.B. Mikro-Kommunikationssatelliten mit Abmessungen von nur 5x5x5cm entwickelt und auch LoRa gehört dabei zu den benutzten Übertragungsverfahren. Für die Satelliten sind Umlaufbahnen in einer Höhe von etwa 300 Km vorgesehen. Ihre Lebensdauer liegt allerdings bei nur wenigen Monaten !
Fossasat-1 wurde im Dezember 2019 gestartet, bereitet aber Probleme durch 1.) nicht wie vorgesehen entfaltete Antennen und 2.) durch Unstimmigkeiten hinsichtlich der zu benutzenden LoRa-Zugangscodes.
Für den ( sicherlich auch in Hinblick auf die LoRa-Nutzbarkeit verbesserten ) Nachfolger FossaSat-2 ist derzeit ein Starttermin ( von Vandenburg/USA ) im Spätsommer 2020 vorgesehen.
Mehr hierzu findet man auf den zugehörigen offiziellen Projektseiten und auch sehr aufschlussreich in einem YouTube-Beitrag von Andreas Spiess aus der Schweiz [8]. 

LoRa über Satellit QO-100

Nicht unerhebliches Aufsehen erregte Andreas, OE3DMB mit seinen Versuchen zur LoRa-GPS-Datenübertragung über den geostationären Amateurfunksatelliten QO-100. Obwohl in technischer Hinsicht auf jeden Fall sehr interessant und eine beachtenswerte Leistung, gab es im nachhinein doch auch einige Kritik hinsichtlich der nichtkoordinierten Satellitennutzung ( LoRa-Signale belegen in der Regel 125 KHz-Bandbreite ). Auch gab es generelle rechtliche Bedenken speziell betreffend LoRa-Nutzung über Amateurfunk-Satelliten. Wer mehr hierzu lesen möchte, dem seien die folgenden Textstellen [9], [10] empfohlen.

LoRa-Bausteine für verschiedene Frequenzbänder

Zur Übertragung von z.B. GPS-Daten via LoRa wird im Amateurfunkbereich bisher fast ausschliesslich das 70cm-Band von 430-440 MHz benutzt. Dabei gilt es natürlich, die Regularien der zuständigen Fernmeldeverwaltungen und Bandpläne der Amateurfunkorganisationen einzuhalten. Für Nutzungen in diesem Frequenzbereich geeignete Transceiverbausteine sind längere Zeit schon für wenige Euro erhältlich. Ein Teil des oben genannten Bereiches ist dabei übrigens auch für Anwendungen auf der Basis von Allgemeinzulassungen verfügbar. Für den gleichen Nutzerkreis gibt es in Europa zudem ein Segment um 868 MHz [11], für das es ebenfalls ein Angebot an geeigneten Funkbausteinen gibt.    
Relativ neu sind LoRa-Bausteinversionen  für den Frequenzbereich von 2400-2500 MHz, womit sich diese zumindest teilweise auch den für WLAN und Bluetooth benutzten Bereich teilen. Er ist weltweit koordiniert und somit ist immer auch von einer entsprechend starken Belegung auszugehen. Zumindest Teile genannten Frequenzbereiches stehen in vielen Ländern auch uns Funkamateuren zur Verfügung. Damit bietet sich eine Verwendung erwähnter Bausteine auch für eigene Übertragungsversuche an. Hilfreich kann dabei die Nutzung von Komponenten wie Verstärkern, Richtantennen usw. sein, so wie sie preiswert für den WLAN-Markt angeboten werden.
In genanntem Frequenzbereich wurden in England übertragen aus einem Ballon schon Distanzen bis zu etwa 90Km überbrückt [12].   


LoRa-Bausteine mit UART-Schnittstelle

Die Steuerung der LoRa-Funkbausteine erfolgt in den meisten Fällen mithilfe von Mikrocontrollern unter Verwendung einer SPI-Schnittstelle. Daneben gibt es aber auch Bausteine, die stattdessen via UART adaptierbar sind. Hierdurch ergeben sich z.B. sehr einfache Möglichkeiten im Falle gewünschter Übertragung von Textdaten. Zu diesem Thema hatte ich vor längerer Zeit schon einmal eine entsprechende Seite [13] erstellt.

Nachbau/ Platinen/ Software usw.

For obengenannte Projekte geeignete Platinen sollten grundsätzlich via DH4YM verfügbar sein ( siehe auch Link zu ihm in [2] ).
In der Regel enthalten die verwendeten ARDUINO-Sketches neben Eigenanteilen auch noch z.B. aus dem Internet verfügbare Subroutinen,
weshalb ich sie hier auch nicht so einfach einstellen möchte. Bei Interesse an bestimmten Projekten versuche ich aber gern weiterzuhelfen.
Interessenten sollten mir eine E-Mail senden.

Linkliste

[1] http://www.kh-gps.de/lora.htm
[2] http://www.kh-gps.de/lora_bt.htm
[3] http://www.kh-gps.de/LoRa_QSP417.pdf
[4] https://www.lora-aprs.at/

[5] http://www.kh-gps.de/LoRa_HB1a.pdf
[6] http://www.aprs.org/doc/APRS101.PDF

[7] https://www.sparkfun.com/products/13712

[8] https://www.youtube.com/watch?v=5k0aM-PJzo8
[9] http://aprs.org/LoRa_Documentation.pdf
[10] https://forum.amsat-dl.org/index.php?thread/3215-lora-via-qo-100/
[11] https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/
Frequenzen/Allgemeinzuteilungen/2018_05_SRD_pdf.pdf?__blob=publicationFile&v=2

[12] https://www.loratracker.uk/library-for-sx12xx-lora-devices/
[13] http://www.kh-gps.de/loratext.htm
[14] https://aprs.at/


E-Mail contact via dj7oo@t-online.de