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.
A
bb.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