Udpgate4: Unterschied zwischen den Versionen
Dl1nux (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Dl1nux (Diskussion | Beiträge) |
||
(72 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
=== Beschreibung === | === Beschreibung === | ||
udpgate4 ist ein äußerst flexibles und leistungsfähiges APRS Gateway/iGate mit Funktionen, die sonst eigentlich kaum wo anders zu finden sind. Die Grundfunktion ist der Empfang von APRS-Paketen per AXUDP und der Weiterleitung zu einem weiterführenden APRS-Gateway im Internet oder Hamnet. Außerdem empfängt es Daten aus dem APRS-IS | udpgate4 ist ein äußerst flexibles und leistungsfähiges APRS Gateway/iGate mit Funktionen, die sonst eigentlich kaum wo anders zu finden sind. | ||
* Die Grundfunktion ist der Empfang von APRS-Paketen per AXUDP und der Weiterleitung per TCP zu einem weiterführenden APRS-Gateway im Internet oder Hamnet. | |||
* Außerdem empfängt es Daten aus dem APRS-IS Netzwerk von anderen Gateways, kann diese lokal auswerten und auch weiterreichen, z.B. zur Aussendung über einen lokalen APRS-Digipeater ([[udpbox]]). | |||
* Weiterhin dient udpgate4 ebenfalls als Gateway und kann von Usern, Programmen und anderen Gateways über TCP connected werden, Daten an diese abliefern sowie von ihnen annehmen und wieder weiterreichen. | |||
* Hervorzuheben ist auch das sehr interesante Webinterface, in welchem man viele Informationen einsehen kann. | |||
=== Features Webinterface === | === Features Webinterface === | ||
* MH-Liste der direkt und indirekt (via) gehörten APRS Stationen | * MH-Liste der direkt und indirekt (via) gehörten APRS Stationen. | ||
* Alle- ein und ausgehenden Telnetverbindungen zu und von anderen Gateways | * MH-Liste für APRS-Objekte und APRS-Items aktivierbar. | ||
* Übersicht der zuletzt über HF und APRS-IS gehörten APRS-Nachrichten | * Alle- ein und ausgehenden Telnetverbindungen zu und von anderen Gateways. | ||
* Übersicht der zuletzt über HF und APRS-IS gehörten APRS-Nachrichten. | |||
Wenn der Rechner des Gateways öffentlich erreichbar ist (z.B. über Hamnet, Internet), kann jeder User dieses Webinterface aufrufen und sich informieren. Das | Wenn der Rechner des Gateways öffentlich erreichbar ist (z.B. über Hamnet, Internet), kann jeder User dieses Webinterface aufrufen und sich informieren. Das Webinterface ist zudem durch den Sysop über eine CSS Datei nach Belieben anpassbar. | ||
=== Weitere Features === | === Weitere Features === | ||
* Beliebige Anzahl AXUDP Eingangskanäle, die im Webinterface auch unterschiedlich dargestellt werden (z.B. Kennzeichnung 2m, 70cm, LoRa etc. möglich). | * Beliebige Anzahl AXUDP Eingangskanäle, die im Webinterface auch unterschiedlich dargestellt werden können (z.B. Kennzeichnung 2m, 70cm, LoRa etc. möglich). | ||
* Eingangskanäle können alle AXUDP fähigen Geräte und Tools sein, | * Eingangskanäle können alle AXUDP fähigen Geräte und Tools sein, aber auch KISS/SMACK TNCs oder TCP-KISS fähige Programme mit [[udpflex]], Soundmodems und SDR-Empfänger mit [[afskmodem]], Wettersondenempänger ([[sondemod]]) und ADSB ([[adsb2aprs]]) Dekoder. | ||
* Redundante ausgehende Gatewayverbindung zu belibigem Tier2 oder sonstigem APRS Gateway. Falls eines ausfällt, wird automatisch zu anderen Verbunden. | * Redundante ausgehende Gatewayverbindung zu belibigem Tier2 oder sonstigem APRS Gateway. Falls eines ausfällt, wird automatisch zu anderen Verbunden. | ||
* Verbindung zu Geräten und Programmen mit KISS/SMACK Schnittstelle möglich mit [[udpflex]]. | * Verbindung zu Geräten und Programmen mit KISS/SMACK Schnittstelle möglich mit [[udpflex]]. | ||
Zeile 26: | Zeile 31: | ||
<nowiki> | <nowiki> | ||
udpgate4 -h | udpgate4 -h | ||
udpgate 0.74 | |||
-0 send no Data (only Messages and ack) to User with no Filter | -0 send no Data (only Messages and ack) to User with no Filter | ||
-A <path> srtm directory path to enable overground calculation (-A /usr/srtm/) | |||
for objects with "Clb=" file WW15MGH.DAC will be needed on this path | |||
-a <meter> Altitude of Igate for elevation calulation (overrides value from srtm) | |||
-B [+]<time> Minutes show heard Items/Objects, with "+" from AprsIs too (-B +60) | |||
-C <time> connected (tcp) remember position minutes (Min) (-C 1440) | -C <time> connected (tcp) remember position minutes (Min) (-C 1440) | ||
-c delete frames with no valid source call in APRS-IS stream | -c delete frames with no valid source call in APRS-IS stream | ||
Zeile 46: | Zeile 55: | ||
ipv6 if enabled by kernel -g [::1]:14580#m/200 | ipv6 if enabled by kernel -g [::1]:14580#m/200 | ||
-g :<filename> read gateway urls from file url:port#filter,filter,... | -g :<filename> read gateway urls from file url:port#filter,filter,... | ||
send SIGHUP to reread file & reconnect (kill -SIGHUP <tasknumber>) | |||
-H <time> direct heard keep time minutes (Min) (-H 1440) | -H <time> direct heard keep time minutes (Min) (-H 1440) | ||
-h this | -h this | ||
-I <time> indirect heard keep time minutes (Min) (-I 30) | -I <time> indirect heard keep time minutes (Min) (-I 30) | ||
- | -J <count>[:<fit%>] enable message spam filter on count % same text from or to | ||
same call (-J 10:65), messages are deleted at -U time | |||
-j <time>[:<count>] maximum time/count to (re)send messages (s) (-j 21600:12) | -j <time>[:<count>] maximum time/count to (re)send messages (s) (-j 21600:12) | ||
count=0: message passed thru to direct heard as ports tx limits allow) | count=0: message passed thru to direct heard as ports tx limits allow) | ||
-K not Gate frame rf to net if sender of frame has no call | |||
-k <time> 0 always connect to gateway else connect on demand and hold (0) | -k <time> 0 always connect to gateway else connect on demand and hold (0) | ||
(seconds) after last User gone or valid UDP Data arrived | (seconds) after last User gone or valid UDP Data arrived | ||
Zeile 57: | Zeile 69: | ||
-L 0 and -x set and net-to-rf enabled all msg to heard gatet | -L 0 and -x set and net-to-rf enabled all msg to heard gatet | ||
-l <level>:<file> logfile -l 6:/tmp/log.txt | -l <level>:<file> logfile -l 6:/tmp/log.txt | ||
level: 1 | level: 0 all, 1 dupes, >1 error, status... | ||
-M same as -R but tnc text format | -M same as -R but tnc text format | ||
-m <maxconnects> max inbound connects -m 20 (default | -m <maxconnects> max inbound connects -m 20 (default 200) | ||
-N send no stored messages to net except query answers | -N send no stored messages to net except query answers | ||
-n <min>:<file> netbeacon minutes:filename -n 10:netbeacon.txt | -n <min>:<file> netbeacon minutes:filename -n 10:netbeacon.txt | ||
Zeile 90: | Zeile 102: | ||
avoids delayed trackpoints (default 15s, off 0, max 60) | avoids delayed trackpoints (default 15s, off 0, max 60) | ||
-t <localport> local igate tcp port for in connects -t 14580 | -t <localport> local igate tcp port for in connects -t 14580 | ||
-U <time[:time]> purge unsent(:sent) unack messages after seconds (- | -U <time[:time]> purge unsent(:sent) unack messages after seconds (-U 600:60) | ||
-u <maxlines> raw frame listing by click to frame counter in Heard list (20) (0 off) | -u <maxlines> raw frame listing by click to frame counter in Heard list (20) (0 off) | ||
-V <path> Via Path for net to rf frames, "-1" for SSID on destination call | -V <path> Via Path for net to rf frames, "-1" for SSID on destination call | ||
-v show frames and analytics on stdout | -v show frames and analytics on stdout | ||
-W <filesize> limit www server file size in 1024byte, (-W | -W <filesize> limit www server file size in 1024byte, (-W 4000) | ||
-w <port> port of www server -w 14501 | -w <port> port of www server -w 14501 | ||
-x <call> via <call> send messages to rf (-x OE0AAA-10) tx off: -x - | -x <call> via <call> send messages to rf (-x OE0AAA-10) tx off: -x - | ||
default is server call | default is server call | ||
-Y | -Y get missing altitude in MH from SRTM | ||
udpgate -v -R 127.0.0.1:9200:9201 -s MYCALL-10 -l 7:aprs.log -n 10:beacon.txt -t 14580 -g www.server.org:14580#m/30 -p 12345 | |||
</nowiki> | |||
=== Webinterface === | |||
Das Webinterface kann in einem beliebigen Browser aufgerufen werden unter Angabe der URL bzw. der IP-Adresse des Rechners, auf dem udpgate4 läuft, gefolgt von dem Port, z.B. http://db0nu.ampr.org:14501 oder http://44.149.25.4:14501 . Der Port wird beim Aufruf von udpgate4 mit dem Parameter -w definiert. | |||
==== CONNECTS ==== | |||
[[Datei:Udpgate4-connects.png|600px]] | |||
# AXUDP Ein- und Ausgangskanäle mit Quell-IP und Port | |||
# Aufteilung RX oder TX Port; Portname | |||
# Ausgehende Verbindung zu einem APRS-Server | |||
# Gesetzte Filter der ausgehenden Server-Verbindung | |||
# Eingehende Telnetverbindungen, z.B. von Usern oder anderen Programmen oder Gateways | |||
# Beschreibung der eingehenden Telnetverbindung mit Filterangabe | |||
Tabellenspalten: | |||
* Dir = Übertragungsweg. UDP sind ein und ausgehende AXUDP Verbindungen. In/Out sind TCP/Telnet Verbindungen. | |||
* IPnum = IP-Adresse oder URL des Verbindungspartners | |||
* Port = Port auf dem die Verbindung läuft | |||
* Call/Port = Rufzeichen oder Kanalbezeichnung der Verbindung | |||
* V = Verbindungsart. v = Bestätigte Verbindung mit Passcode, p = Position des Teilnehmers ist bekannt | |||
* Range Filter = Gesetzte Paketfilter | |||
* TxByte = Gesendete Bytes | |||
* TxFR = Gesendete Anzahl an APRS Paketen | |||
* bit/s = Durchschnittliche Übertragungsrate | |||
* RxByte = Empfangene Bytes | |||
* RxFr = Empfangene Anzahl an APRS Paketen | |||
* Up = Laufzeit der aktuellen Verbindung | |||
==== HEARD ==== | |||
Die wichtigste Seite ist die MH-Liste der zuletzt gehörten Rufzeichen. | |||
[[Datei:Udpgate4-webinterface.png|600px]] | |||
# Rufzeichen+SSID des Gateways | |||
# Eigene Positionskoordinaten | |||
# Eigener WW-Locator (10-stellig) | |||
# udpgate Programmversion | |||
# Kumulierte Anzahl der Aufrufe des Webinterface seit letztem Start | |||
# Aktuelle Laufzeit des Gateways | |||
# Wechseln zur Ansicht CONNECTS (Ein- und ausgehende Verbindungen) | |||
# Wechseln zur Ansicht HEARD (MH-Liste) | |||
# Wechseln zur Ansicht MSGRELAY (APRS-Messages) | |||
# Wechselt zur info.html (liegt im www-Ordner und kann individuell gestaltet werden. Kann zur Stationsbeschreibung genutzt werden). | |||
# Hier kann eingestellt werden, in welchen Zeitabständen (in Minuten) die Seite sich von alleine aktualisiert | |||
# Übersicht der zuletzt direkt gehörten Stationen | |||
# Übersicht der zuletzt indirekt gehörten Stationen. Indirekt bedeutet, dass die aussendende Station nicht direkt empfangen wurde, sondern ihr Signal durch einen Digipeater wiederholt wurde. Dazu zählen auch 3rd Party Aussendungen aus dem APRS-IS Netzwerk, wenn diese durch ein iGate über HF abgestrahlt werden. | |||
Die Zeitspanne der MH-Liste lässt sich beim Aufruf von udpgate4 über die Parameter -H und -I definieren. | |||
Die Sortierung der MH-Liste lässt sich durch Klick auf eine der (gelben) Spaltenbeschreibungen ändern. | |||
Die Anzahl der Spalten kann variieren, je nach verwendeter Empfangshardware. Bei Benutzung eines Soundmodems können weiterführende Informationen wie z.B. gehörtes TX-Delay und Signalqualität bestimmt werden. Dies ist nicht möglich bei Verwendung externer Controller, wie z.B. TNCs. | |||
Spaltenbedeutung | |||
* Call = Rufzeichen der gehörten Station. Durch klicken auf das Rufzeichen wird eine externe Seite aufgerufen, welche eine Auflistung der letzten ausgesendeten Pakete dieser Station zeigt, z.B. auf findu.com oder aprs.fi (dies kann eingestellt werden in der Datei serverlink.txt im www Ordner. | |||
* Icon = Im Paket Gesendetes APRS-Symbol | |||
* Port = Portname, der beim Aufruf von udpgate4 (Parameter -R) angegeben wurde | |||
* Last Heard = Zeit seit dem letzten Hören | |||
* Txd = Gemessenes TX-Delay der Station. Orangene und rote Kennzeichnung deutet auf ein zu hoch eingestelltes TX-Delay der empfangene Station hin. Zu hohes TX-Delay führt zu verlängerer Sendezeit und dadurch in dichten Gebieten zur unnötiger Frequenzauslastung. Zudem ist es eine sinnlose Energieverschwendung, da das TX-Delay keinerlei Informationen überträgt und nur die Frequenz belegt. | |||
* Lev = NF Pegel am Modem. Bei LoRa APRS die RSSI Feldstärke. | |||
* q% = Signalqualität. Sollte im 90% Bereich liegen, ansonsten passt ggf. etwas an der Hardware der sendenden Station nicht | |||
* SNR = Nur bei LoRa APRS Stationen: Das vom LoRa Modem gemessene SNR der Aussendung. | |||
* Pack = Anzahl der korrekt empfangenen Pakete der Station in der vorgegebenen Zeitspanne. Durch klicken auf die Zahl kann eine Liste der 20 letzten Pakete abgerufen werden. | |||
* Junk = Anzahl ausgesendeter üngültiger oder "unnützer" Pakete. Diese enthalten meist keine Positionsangaben (z.B. Telemetrie, Baken usw.). Durch klicken auf die Zahl kann eine Liste der 20 letzten Pakete abgerufen werden. | |||
* QRB km = Entfernung zur gehörten Station | |||
* Data = Eine Auswahl übertragener Daten, z.B. Geschwindigkeit, Temperatur etc. | |||
* Path = To-Call und APRS-Pfad der Aussendung | |||
==== HEARD für APRS-Objekte ==== | |||
PS: Diese Funktion wurde erst mit udpgate4 Version 0.72 vom 27.03.2021 eingeführt. | |||
In erster Linie für Wettersonden iGates gedacht, aber auch für andere APRS-Objekte aktivierbar, ist die MH-Liste für APRS-Objekte. Dies ermöglicht die Anzeige von APRS-Objekten und APRS-Items aus dem UDP-Datenstrom (z.B. die einzelnen Wettersonden, welche als APRS-Objekte versendet werden). Angezeigt wird die Liste erst wenn der Parameter -B beim Start von udpgate4 angegeben wird. Er erwartet eine Zeitspanne in Minuten, für welche die Objekte angezeigt werden sollen. Durch voranstellen eines "+" vor die Zeitspanne kann man auch die aus dem APRS-IS Datenstrom ankommenden APRS-Objekte anzeigen lassen. Will man nur die Objekte des eigenen Empfängers anzeigen lassen, lässt man das "+" weg. | |||
Folgende Spalten enthält die MH-Liste, sofern die Daten verfügbar sind: | |||
* Object = Objektname, z.B. die Seriennummer der Wettersonde. Sofern die Datei [[objectlink.txt]] im Ordner www existiert, kann man durch Klick auf den Sondennamen direkt zur Sondenseite bei radiosondy.info gelangen. | |||
* Icon = Zugehöriges APRS-Symbol. | |||
* Port = Portnummer auf der das Paket empfangen wurde (sofern mehrere existieren). | |||
* Ago = Zeitspanne seit der Übertragung des letzten Datenpaketes. | |||
* Pack = Anzahl der empfangenen Pakete zu diesem Objekt in der angegebenen Zeitspanne. | |||
* QRB km = Entfernung zu dem Objekt bezogen auf das letzte empfangene Datenpaket. Die Höhe des Objektes wird mit berücksichtigt, die Entfernung kann also höher sein als bei einer Kartenmessung. | |||
* AZ = Azimuth in Grad zum Objekt (Richtung) bezogen auf das letzte empfangene Datenpaket. | |||
* Ele = Elevation in Grad zum Objekt bezogen auf das letzte empfangene Datenpaket. | |||
* Lat = Latitude. Aktueller Breitengrad bezogen auf das letzte empfangene Datenpaket. | |||
* Long = Longtitude. Aktueller Längengrad bezogen auf das letzte empfangene Datenpaket. | |||
* Alt = GPS Höhe des Objekts bezogen auf das letzte empfangene Datenpaket. | |||
* OG = Overground, Höhe über Grund bezogen auf das letzte empfangene Datenpaket. Wird nur angezeigt bei vorhandensein der passenden STRM Datendateien im durch -A angegebenen Pfad. | |||
* Clb = Vertikale Steig- oder Sinkgeschwindigkeit des Objekts bezogen auf das letzte empfangene Datenpaket. | |||
* Dir = Direction. Flugrichtung in Grad des Objekts bezogen auf das letzte empfangene Datenpaket. | |||
* MHz = Übermittelte Frequenz des Objekts (z.B. Sondensendefrequenz). | |||
* dt = | |||
* Data = Übermittelte Informationen im APRS-Objekt, z.B. horizontale Geschwindgkeit. | |||
* Path = Absendercall und Zielcall im Datenpaket | |||
Die Tabelle lässt sich beliebig sortieren durch Klick auf eine der (gelben) klickbaren Spaltenüberschriften. | |||
[[Datei:Udpgate4-sonde.PNG|600px]] | |||
==== MSGRELAY (APRS Messages) ==== | |||
[[Datei:Udpgate4-messages.png|600px]] | |||
# Direkt gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet und an APRS-IS weitergegeben wurden. | |||
# Über andere Digis gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet wurden. | |||
# Von APRS-IS kommend gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet wurden. | |||
Tabellenspalten: | |||
* From = Absender-Call | |||
* To = Empfänger-Call | |||
* hms ago = Vergangene Zeit seit dem eintreffen | |||
* hms tx = Wann die nachricht zuletzt ausgesendet wurde vom Digi. Leer = Nie, timed out = kein ACK empfangen | |||
* po = Funkport | |||
* retr = Retries / Gesendete Wiederholungen | |||
* m>r = Message > Radioport | |||
* m>n = Message > Net | |||
* a>r = ACK > Radioport | |||
* a>n = Message > Net | |||
* A = Auf welchem Weg empfangen? d = direkt empfangen, v = Via empfangen, n = Übers Netzwerk/Net (APRS-IS) empfangen | |||
* Ack = Eindeutiger Kontrollcode für das Bestätigungs-ACK | |||
* Text = Übertragene Textnachricht | |||
==== INFO ==== | |||
Ein Klick auf diesen Button zeigt die Seite info.html Datei an, sofern diese Datei im WWW Ordner existiert. Bei größeren Datenmengen muss evtl. der parameter -W erhöht werden. Wenn die Datei info.html nicht existiert, wird folgendes angezeigt: | |||
<nowiki>Put your station info here in info.html</nowiki> | |||
=== Der Ordner /www === | |||
Der Ordner enthält folgende Dateien und Ordner: | |||
* <b>style.css</b>: Damit kann das Aussehen des Webinterfaces beeinflusst werden. | |||
* <b>info.html</b>: Hier kann man Informationen über den Digi im HTML Format einfügen. Diese wird angezeigt wenn man im Webinterface auf den "INFO" Button klickt. | |||
* <b>[[calllink.txt]]</b>: Enthält den Link zum Aufruf weiterer Informationen über ein Rufzeichen, wenn man auf dieses in der MH-Liste klickt. Es wird die erste Zeile in der Datei verwendet. Weitere Beispiele sind vorhanden. * Standard ist findu.com. | |||
* <b>favicon.ico</b>: Dieses Symbol wird im Browser für die Webseite angezeigt (Webseitensymbol). | |||
* <b>[[serverlink.txt]]</b>: Wird im Webinterface auf der "CONNECTS"-Seite ein Server angeklickt, wird dessen Statusseite aufgerufen. Der Link dazu kann in dieser Datei bei Bedarf angepasst werden. | |||
* <b>[[objectlink.txt]]</b>: Wird im Webinterface in der Objektliste eine Sondennummer angeklickt, wird die zugehörige Sondenseite auf radiosondy.info aufgerufen. Der Link dazu kann in dieser Datei bei Bedarf angepasst werden. | |||
* <b>/icon</b>: Dieser Ordner enthält alle APRS Symbolgrafiken im GIF Format, welche im Webinterface angezeigt werden. | |||
=== Unterstützte APRS-IS Filter === | |||
Beim Verbinden mit einem entfernten APRS Server bzw. Gateway (-g) können Filter angewandt werden, um den Datenstrom zu begrenzen. Achtung, diese Filter wirken sich auch auf verbundene TCP User aus! Alle Filter können auch mit vorangestelltem Minus "-" invertiert werden. Beispielsweise t/t lässt nur Telemetriepakete durch, während -t/t alles außer Telemetriepakete durchlässt. | |||
Alle möglichen Filter können auf der Seite [[aprsis-filter|APRS-IS Filter]] nachgelesen werden. | |||
Per TCP mit udpgate4 verbundene User können ebenfalls diese Filter setzen, um ihren Datenstrom weiter zu filtern. Mehr als die bei udpgate4 angegebenen Filter kann aber nicht weitergereicht werden. udpgate4 selbst unterstützt nicht alle APRS-IS Filter. Zur Zeit sind es die folgenden: m r a d e u p b o t. | |||
=== Was, wenn einzelne Pakete zwar empfangen aber anscheinend nicht weiter gegeben werden ? === | |||
Mit dem Parameter -v kann man udpgate4 zum sprechen bringen und sehen was er so tut. Dies ist oft wichtig, wenn es Probleme gibt. Das kann z.B. sein, wenn ein APRS-Paket scheinbar empfangen, aber nicht weitergeleitet wird. Also quasi letztendlich nicht auf aprs.fi oder aprsdirect.com auftaucht. Dann fragt man sich, "warum kommt es nicht an?". | |||
Alle Pakete die udpgate4 von den "Einspeisenden" bekommt, können in der Bildschirmausgabe an dem vorangestellten "U:" erkannt werden. Das heißt, jede Zeile beginnt mit "U:", wenn das Paket per AXUDP angenommen wurde (von z.B. AFSKMODEM, UDPBOX usw.). Zeilen die mit "G:" beginnen, enthalten Daten, welche vom entfernten APRS-Server übermittelt wurden. | |||
Beispiel eines über HF empfangenen Paketes in udpgate4: | |||
<nowiki>U: 85>DG4NAA>TY2X20-2,DB0VOX,DB0REN,WIDE2*,qAU,DL1NUX-1:`&W,l<1F>R-/"7<}PicoAPRS by DB1NTO!.</nowiki> | |||
Man kann sehen, dass es über UDP angeliefert wird, und auch dass die Station 85km vom Standort des eigenen iGates entfernt ist. Die Zahl zwischen dem "U:" und dem ">" entspricht der Entfernung in km. | |||
Beispiel eines vom entfernten APRS-Server angelieferten Paketes: | |||
<nowiki>G: 0>DL1NUX-15>APRS,TCPIP*,qAC,DB0GW:@301950z5014.06N/01059.02E_.../000g001t050r000p001P001b10143h98.weewx-3.9.1-FineOffsetUSB</nowiki> | |||
Das "G:" sagt, das es vom Server her kommt, also nicht über HF, und das es 0km entfert ist. In dem Fall klar, da sich die Wetterstation DL1NUX-15 am selben Stadort befindet. | |||
Wenn man die Bildschirmausgabe von udpgate4 weiter beobachtet, fallen einem weitere Möglichkeiten auf. | |||
<nowiki> | |||
U:cal:DB0NU-10>APNL51:}DO8TBO-2>APNL51,TCPIP,DB0NU-10*:!5008.43N/01051.59E`APRS RX iGate 144.800 + 145.825 MHz | |||
U:dup:DB0LP>APOT21,DB0FGB,DB0REN,WIDE2*:!4908.96NL01142.02E# 17C APRS-Testdigi | |||
</nowiki> | </nowiki> | ||
Es können noch die Zusätze "cal" und "dup" auftauchen. Diese bedeuten, dass das Paket zwar empfangen wurde aber NICHT an den APRS-Server oder andere über TCP verbundene Clients weitergeleitet wird. Diese zwei Pakete werden also auch niemals auf aprs.fi & Co. auftauchen, zumindest nicht vom eigenen Gateway übermittelt. | |||
"cal" steht hierbei für "Call" und bedeutet, dass dieses Paket aufgrund eines ungültigen Rufzeichens im Paket gefiltert wird. Dies könnte beispielsweise ein ungültiges bzw. nicht APRS-konformes Rufzeichen sein (kein typisches AFu Call). Auch kann es sein, dass es das eigene Call ist und dadurch gefiltert wird. Warum sollte es sich auch selbst weiterleiten, das könnte ggf. eine Schleife ergeben. Im obigen Beispiel wurde es gefiltert, da Gatewaycall und Absendercall identisch sind - "DB0NU-10". Es wird bis auf die SSID geprüft. Ein Absendercall "DB0NU-9" würde wiederum akzeptiert und nicht gefiltert werden. | |||
"dup" steht für "Dupe" und bedeutet, dass dieses Paket bereits empfangen wurde, vermutlich auf direktem Wege oder von einem anderen Digi digipeatet. Es wurde bereits beim ersten mal weitergeleitet, eine nochmalige Weiterleitung wird innerhalb der "Dupe"-Zeit unterbunden. Die "Dupe"-Zeit beträgt standardmäßig 60 Sekunden, wenn sie nicht durch den Parameter "-d <sec>" anders bestimmt wird. Es muss auch exakt das gleiche Paket sein. Ist nur ein Byte im Informationsteil anders, zählt es nicht mehr als "Dupe" und die Information wird weitergegeben. | |||
Wie man sieht kann man durch Beobachten der Ausgabe des udpgate4 viel in Erfahrung bringen. | |||
== Beispielkonfigurationen == | == Beispielkonfigurationen == | ||
Zeile 120: | Zeile 310: | ||
* -D = Pfad zum WWW Ordner für das Webinterface. | * -D = Pfad zum WWW Ordner für das Webinterface. | ||
=== Beispielkonfiguration eines | === Beispielkonfiguration eines iGates für Wettersondenempfang === | ||
<nowiki>udpgate4 -s MYCALL- | <nowiki> | ||
udpgate4 -s MYCALL-11 -R 127.0.0.1:0:9101 -B 1440 -H 0 -I 0 -L 0 -u 50 -A /home/pi/dxlAPRS/aprs -n 30:netbeacon.txt -g radiosondy.info:14580#m/1,-t/t -p <PASSCODE> -w 14501 -v -D /home/pi/dxlAPRS/aprs/www/ | |||
</nowiki> | |||
* -s = iGate Rufzeichen MYCALL-11. | |||
* -s = Rufzeichen | * -R = Ein AXUDP Einganskanal auf Port 9101 (listen port). Da nichts über GF gesendet wird, bleibt der destination port auf 0. | ||
* -R = | * -B = Anzeige einer MH-Liste (24 Stunden) für APRS-Objekte. Es werden nur Daten aus dem UDP Datenstrom angezeigt, in diesem Fall die Sondendaten. | ||
* | * -H = Die Anzeige der MH-Liste der direkt gehörten Stationen wird unterdrückt (Wert 0 = aus). (Optional!) | ||
* - | * -I = Die Anzeige der MH-Liste der indirekt gehörten Stationen wird unterdrückt (Wert 0 = aus). (Optional!) | ||
* - | * -L = Es werden keine APRS-Nachrichten gespeichert. (Optional!) | ||
* - | * -u = Es werden pro Station/Sonde die letzten 50 Frames gespeichert und sind durck Klick auf den "Pack"-Zähler anzeigbar. (Optional!) | ||
* - | * -A = Die SRTM Datendateien für die Höhenberechnung über Grund (OG) befinden sich in /home/pi/dxlAPRS/aprs/srtm1. Ddie Angabe des Pfades erfolgt ohne die Pfadangabe /srtm1, dies wird vorausgesetzt. (Optional!) | ||
* -w = Port | * -n = Netzbake alle 30 Minuten aus netbeacon.txt. | ||
* -g = Ausgehende Verbindung zu radiosony.info auf Port 14580. Eingehender APRS-IS Filter ist aktiviert. keine Telemetrie und nur Daten aus dem Umkreis von 1km werden angenommen | |||
* -D = Pfad zum Webinterface | * -p = Eigener APRS Passcode. | ||
* -w = Port des Webinterfaces 14501. | |||
* -D = Pfad zum WWW Ordner für das Webinterface. | |||
== Detaillierte Erläuterung der Parameter == | == Detaillierte Erläuterung der Parameter == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
! Parameter !! Beschreibung | |||
|- | |||
|0 | |0 | ||
|Sende | |Sende keine Daten an User ohne Filter über Telnet außer APRS-Nachrichten, ACK und Telemetrie. | ||
|- | |||
|A <Pfad> | |||
|Pfad zum Verzeichnis (/srtm1) mit den SRTM Höhendatendateien.<br />Beispiel: -A /home/pi/dxlAPRS/aprs bedeutet, die SRTM Höhendatendateien liegen in /home/pi/dxlAPRS/aprs/srtm1 | |||
|- | |||
|a | |||
|Eigene Höhe über NN des iGates für die Elevationsberechnung. Bei Verwendung von -a werden vorhandene Daten aus den SRTM Höhendatendateien ignoriert. Bei Vorhandensein von SRTM Höhendatendateien wird ohne Verwendung von -a die iGate Höhe aus den SRTM Höhendatendateien gezogen. | |||
|- | |||
|B (+)<Minuten> | |||
|Zeitspanne in Minuten für die Anzeige von APRS-Objekten oder APRS-Items in der Objektliste. Der Vorsatz des "+" zeigt auch die Objekte aus dem eingehenden APRS-IS Datenstrom mit an, sofern das iGate mit einem entfernten Server verbunden ist.<br />Beispiel: -B 60 Zeigt APRS-Objekte und Items der letzten 60 Minuten nur von den UDP-Quellen an, also nur selbst empfangene bzw. erzeugte Pakete (z.B. [[sondemod]]).<br />Beispiel: -B +60 Zeigt APRS-Objekte und Items der letzten 60 Minuten von den UDP-Quellen und aus dem APRS-IS Netzwerk an. | |||
|- | |- | ||
|C | |C | ||
| | |Das Gateway merkt sich die Position der verbundenen User nach Disconnect oder Verbindungsabbruch für eine gewisse Zeit (-C) in Minuten. Angabe wird benötigt für den Radiusfilter m/. Sendet der User keine Position an das Gateway, ist der Standardfilter m/0 aktiv und das Gateway übermittelt ihm dadurch keine Daten. Standardwert ist 1440 Minuten = 1 Tag. | ||
|- | |- | ||
|c | |c | ||
|Lösche Pakete ohne gültiges Quellrufzeichen im eingehenden APRS-IS Datenstrom | |Lösche Pakete ohne gültiges Quellrufzeichen im eingehenden APRS-IS Datenstrom | ||
|- | |- | ||
|D < | |D <Pfad> | ||
|Dateipfad zum root des Webservers (-D /usr/www/) | |Dateipfad zum root des udpgate4 Webservers (-D /usr/www/). | ||
|- | |- | ||
|d <time> | |d <time> | ||
Zeile 155: | Zeile 360: | ||
|- | |- | ||
|E | |E | ||
| | |Lösche AXUDP Pakete welche Kontrollzeichen im Rufzeichen enthalten. Ansonsten wird ein "^" angezeigt (Standard: aus) | ||
|- | |- | ||
|e <time> | |e <time> | ||
Zeile 161: | Zeile 366: | ||
|- | |- | ||
|F <lines>:<file> | |F <lines>:<file> | ||
| | |Schreibt eine Liste der zuletzt direkt gehörten Staionen in eine Datei (Rufzeichen,Symbol,Port,Zeit seit letzer Aussendung,cnt,km,Daten,Pfad). Lines=Anzahl der Zeilen. File = Dateiname (ggf. mit Pfad). Da diese Datei laufend neu generiert wird, wird empfohlen diese Datei in eine Ramdisk zu schreiben. Schreiben auf SD-Karte oder SSD führt im Dauerbetrieb zum schnellem Verschleiß und defekt der Platte. | ||
|- | |- | ||
|f <filters> | |f <filters> | ||
| | |Standardfilter was an das ausgehende Gateway gesendet wird, wenn bei der Gateway-URL kein Filter angegeben wird, z.B. -f m/50 oder -f m/30,-d/CW. Nützlich wenn man mehrere Gateways nutzt und seine Filter nicht bei jedem Gateway erneut angeben möchte. | ||
|- | |- | ||
|g <url>:<port>[#<filters>] | |g <url>:<port>[#<filters>] | ||
|Verbinde mit einem APRS- | |Verbinde mit einem entfernten APRS-Gateway.<br />Wiederhole -g für eine Liste mit den Favoriten am Anfang und alle URLs werden versucht der Reihe nach zu connecten.<br />Wenn die aktive Verbindung nicht die erste in der Liste ist, werden die vorherigen URLs gepollt. Sobald die Verbindung zum vorhergehenden Gateway (wieder) erfolgreich aufgebaut wurde, wird der Datentransfer zu dieser Verbindung gewechselt und die alte Verbindung wird getrennt. <br />Wird kein Filter angegeben, wird der globale -f Filter des verbundenen Gateways genutzt. | ||
|- | |- | ||
|g :<filename> | |g :<filename> | ||
|Lese die Gateway URLs aus der angegebene Datei. Zeilenformat: url:port#filter,filter,....<br />Beispiel: -g :igates.txt . Siehe auch [[igates.txt]]. | |Lese die Gateway URLs aus der angegebene Datei. Zeilenformat: url:port#filter,filter,....<br />Beispiel: -g :igates.txt . Siehe auch [[igates.txt]] und [[Aprsis-filter|APRS-IS Filter]].<br />udpgate4 kann mit kill -sighup <Prozess-ID von udpgate4> zum Trennen und erneuten Verbinden mit dem entfernten Server aufgefordert werden (notwendig bei Änderungen an der [[igates.txt]]). | ||
|- | |- | ||
|H <time> | |H <time> | ||
Zeile 181: | Zeile 386: | ||
|Begrenzt die Liste der indirekt gehörten Stationen auf -I Minuten (Standard 30 Minuten) | |Begrenzt die Liste der indirekt gehörten Stationen auf -I Minuten (Standard 30 Minuten) | ||
|- | |- | ||
| | |J <count>[:<fit%>] | ||
| | | Aktiviere SPAM Filter für APRS-Nachrichten bei count:% vom oder zum selben Rufzeichen (Standard = -J 10:65). Nachrichten werden bei erreichen der Zeit -U gelöscht. | ||
|- | |- | ||
|j <time>[:<count>] | |j <time>[:<count>] | ||
| | |Maximale Zeitspanne (in Sekunden) und Anzahl um APRS Nachrichten erneut auszusenden, bis sie verfallen. Z.B. -j 21600:12 bedeutet maximal 6 Stunden und 12 Aussendungen einer nachricht<br />Bei count=0 werden eingehende APRS-Nachrichten sofort und nur einmalig ausgesendet, sofern sich der Empfänger in der MH-Liste befindet. Kommt die Nachricht jedoch mehrfach, wird sie auch mehrfach gesendet. | ||
|- | |- | ||
|k <time> | |k <time> | ||
|0 = Verbinde immer mit dem Gateway, ansonsten verbinde nur bei Bedarf und halte die Verbindung | |0 = Verbinde immer mit dem Gateway, ansonsten verbinde nur bei Bedarf und halte die Verbindung k Sekunden nachdem der letzte User gegangen ist bzw. gültige UDP Daten übermittelt wurden. | ||
|- | |||
|K | |||
|Sende auf Funk empfangene Daten nicht ins APRS-IS Netwzerk, wenn der Absender des Pakets kein Rufzeichen hat. | |||
|- | |- | ||
|L <number> | |L <number> | ||
| | |Maximale Anzahl gespeicherter APRS Nachrichten (-L 1000)<br />-L 0 and -x set and net-to-rf enabled all msg to heard gatet | ||
|- | |- | ||
|l <level>:< | |l <level>:<Datei> | ||
| | |Schreibt eine Logdatei. Beispiel: -l 6:/tmp/log.txt. Es sind verschiedene Loglevel verfügbar<br />Level=1 Logins<br />Level=2 +gesendete Pakete<br />Level=6 +gefilterte Pakete<br />Level=7 +Dubletten | ||
|- | |- | ||
|M | |M | ||
|Identisch zu -R , jedoch im | |Identisch zu -R , jedoch im TNC Text Format anstatt AXUDP. Nur relevant für TAPR TNCs. | ||
|- | |- | ||
|m <maxconnects> | |m <maxconnects> | ||
Zeile 203: | Zeile 411: | ||
|- | |- | ||
|N | |N | ||
| | |Sendet APRS-Nachrichten nur einmalig über TCP an das entfernte Gateway. Ausnahme: Antworten auf querys. | ||
|- | |- | ||
|n < | |n <minuten>:<Datei> | ||
|Netzbake Minuten:Dateiname. Sendet eine Bake ins APRS-Netzwerk (nicht über HF!). Siehe auch [[netbeacon.txt]]<br />udpgate4 verwendet die Bakendatei auch zur Bestimmung der eigenen Position. | |Netzbake Minuten:Dateiname. Sendet eine Bake ins APRS-Netzwerk (nicht über HF!). Siehe auch [[netbeacon.txt]]<br />Die Zeit zwischen den Aussendungen sollte 30 Minuten nicht unterschreiten. Auf den APRS-Karten bleiben die Symbole in der Regel mindestens eine Stunde sichtbar.<br />udpgate4 verwendet die Bakendatei auch zur Bestimmung der eigenen Position. | ||
|- | |- | ||
|O | |O | ||
| | |Zeigt ein Rufzeichen in der MH-Liste auf jedem Port an, wo es empfangen wurde. Standardmäßig wird pro Rufzeichen nur der Port gelistet, über den es zuletzt gehört wurde. | ||
|- | |- | ||
|o < | |o <Sekunden> | ||
| | |Stoppt den Datenteransfer zum entfernten Gateway wenn o Sekunden seit der letzten Ping-Antwort vergangen sind. Ist nur relevant bei entfernten Gateways die unter Windows laufen und Pings aussenden. Standard ist 30 Sekunden. | ||
|- | |- | ||
|P < | |P <Zeit1[:Zeit2]> | ||
| | |Löscht APRS Nachrichten nach soundsoviel Sekunden. Zeit1 = Nachrichten die eine Bestätigung ACK möchten. Zeit2 = Nachrichten die keine Bestätigung ACK möchten. Beispiel: -P 86400:300 | ||
|- | |- | ||
|p <password> | |p <password> | ||
Zeile 221: | Zeile 429: | ||
|- | |- | ||
|Q <n> | |Q <n> | ||
| | |Sendet die Netzbake mit qAS wenn qAI von einigen Servern nicht unterstützt wird.<br />0 = Nie (Standard), >1 = Sende alle n Netzbaken mit qAI.<br /> Mit qAI kann der Pfad eines APRS Paketes in den APRS-IS Rohdaten genauer verfolgt werden, es werden aber mehr Informationen (längerer Pfad) übertragen.<br />Beispiel:<br />OE5DXL-10>APNL51,TCPIP*,qAI,OE5DXL-10,T2NUERNBG,T2HUB2,SIXTH,FOURTH,K4HG:!4815.10N/01302.20E&Igate 433.8 10.1493MHz 154855z<br />OE5DXL-10>APNL51,TCPIP*,qAC,T2NUERNBG:!4815.10N/01302.20E&Igate 433.8 10.1493MHz 164034z<br />Siehe dazu auch: [http://www.aprs-is.net/q.aspx Das Q-Konstrukt in APRS-IS] | ||
|- | |- | ||
|q < | |q <Zeit> | ||
| | |Legt eine Sendesperre von q Sekunden nach jeder Aussendung fest, um z.B. ein zumüllen der QRG zu verhindern. Zu sendende Pakete werden in dieser Zeit verworfen und nicht nachgesendet, es sei denn sie werden vom iGate selbst zeitgesteuert ausgesendet. Beispiel: -q 10 | ||
|- | |- | ||
|R <ip>:<dport> | |R <ip>:<dport>:<lport>[+<byte/s>[:<radius>]][#<portname>] | ||
| | |UDP Kommunikationsport zu einem lokalen HF-Kanal (im Monitor frame Format).<br /> dport = Destination-Port und meint den Sendezweig (Pakete die z.B. von einem TNC ausgesendet werden sollen, APRS-IS>HF). lport = Listen-Port und meint den Port über den die auf HF dekodierten Pakete ankommen (RX-Zweig vom TNC z.B.).<br />Alternativ kann man auch "R <ip>:<dport>/<lport>" angeben, also ein / anstatt einen : nach dem dport. Dann wird der Emfang auf diesem Port ausschließlich von der angegeben IP-Adresse akzeptiert. Beim Verwendung des Doppelpunkts kann die Quelle jede beliebige IP-Adresse haben, und es muss nur der Port übereinstimmen.<br />dport = 0 bedeutet Kein TX-Zweig, nur RX (z.B. nur ein reines RX iGate).<br />+byte/s ermöglicht die aus dem Internet kommenden Daten wie WinLink, who-is, APRS-Nachrichten usw. lokal auszusenden (jedoch keine Positionspakete!). Der Wert begrenzt zudem die Datenmenge in bytes/Sekunde, damit der Sender nicht dauernd läuft.<br />:radius ermöglicht zusätzlich die Aussendung von Positionspaketen aus dem APRS-IS Netzwerk im angegebenen Radius in km um die Position des iGates. Damit würden auch APRS Pakete über HF abgestrahlt werden, die über andere Wege ins APRS-Netzwerk gelangen, z.B. Handy-Apps und CWOP Wetterstationen. Die eigene Position wird in der [[netbeacon.txt]] definiert. Der Radius sollte gering gehalten werden um die QRG nicht zuzumüllen.<br>APRS Nachrichten an direkt gehörte Stationen (direct MH) werden immer solange ausgesendet, bis ein ACK kommt oder der Timer abgelaufen ist. Nachrichten an via gehörte Stationen werden nur bei aktiviertem Radius ausgesendet und auch nur einmalig (ohne Timer).<br/>Wird keine IP-Adresse angegeben, wird automatisch 127.0.0.1 genommen.<br>#portname Ist eine max. 10 stellige Bezeichnung für diesen Port (z.B. 144800, 432500, 2m, 70cm, LoRa usw.). Der Portname erscheint entsprechend im Webinterface und man kann dadurch den Eingangskanal eines Paketes bestimmen.<br />Man kann -R bzw. -M beliebig oft wiederholen um zusätzliche Ports mit anderen Namen oder weiterem Sender einzubinden. | ||
|- | |- | ||
|r < | |r <Dateiname> | ||
| | |Schreibt jeden Tag ein neues Logile mit allen Informationen im Stil "DateinameJJJMMTT", z.B. log20201231. | ||
|- | |- | ||
|S <call> | |S <call> | ||
Zeile 239: | Zeile 447: | ||
|- | |- | ||
|T <seconds> | |T <seconds> | ||
| | |Trennt die TCP Verbindung zum entfernten Server wenn Pakete nach T Sekunden noch nicht aus der Sendewarteschlange raus sind. Dies verhindert verzögerte Trackingpunkte. Standardeinstellung ist 15s und bei 0 ist es ausgeschaltet. Das Maximum beträgt 60 Sekunden. | ||
|- | |- | ||
|t <localport> | |t <localport> | ||
Zeile 245: | Zeile 453: | ||
|- | |- | ||
|U <time[:time]> | |U <time[:time]> | ||
| | |Lösche ungesendete:gesendete APRS nachrichten ohne ACK nach soundsoviel Sekunden. Standardwert ist -P 600:60. | ||
|- | |- | ||
|u <maxlines> | |u <maxlines> | ||
| | |Anzahl der Einträge in der Liste der Rohpakete, sobald man auf einen frame counter in der MH-Liste klickt (Spalten Pack und Junk). Standardwert = 20, 0 ist Aus. | ||
|- | |- | ||
|V <path> | |V <path> | ||
|Via Pfad für APRS-IS zu HF Aussendungen, "-1" for SSID on destination call.<br />Damit sollte | |Via Pfad für APRS-IS zu HF Aussendungen, "-1" for SSID on destination call.<br />Damit sollte vorsichtig umgegangen werden. Eine falsche Konfiguration kann hier zum ungewollten Zumüllen der APRS Frequenzen führen. HF Aussendungen aus dem APRS-IS Netzwerk sollten grundsätzlich nur lokal erfolgen, ohne "via"-Pfad. Nur wenn es zwingend notwendig ist, diese Pakete über einen anderen Digi weiterverbreiten zu lassen, sollte man einen APRS-Pfad hinzufügen. Empfehlung ist KEINEN APRS-Pfad auszusenden! | ||
|- | |- | ||
|v | |v | ||
Zeile 257: | Zeile 465: | ||
|- | |- | ||
|W <filesize> | |W <filesize> | ||
| | |Begrenze die Größe der www-Serverdatei im RAM (in 1024byte). Standard ist -W 1000. | ||
|- | |- | ||
|w <port> | |w <port> | ||
|Port des Webservers, z.B. -w 14501. Auf diesem Port kann der Webserver über einen Webbrowser | |Port des Webservers, z.B. -w 14501. Auf diesem Port kann der Webserver über einen Webbrowser erreicht werden, z.B. db0nu.ampr.org:14501 | ||
|- | |- | ||
|x <call> | |x <call> | ||
|via | |Sende APRS-Nachrichten auf Funk mit einem anderen via-Rufzeichen aus als das Server-Rufzeichen. TX ist aus mit "-x -". | ||
|- | |- | ||
|Y [num][,num]... | |Y [num][,num]... | ||
| | |Diese Funktion versucht "schlechte Digis" anhand eines Fingerprints zu erkennen, welche empfangene Pakete nicht mit einem "via Digicall" digipeaten sondern das Paket 1:1 kopiert aussenden. Dadurch ist nicht mehr ersichtlich, ob man das Paket direkt gehört hat oder nicht. Wird ein Paket erkannt welches den Fingerprint enthält, wird ein künstliches "via" ("GHOST*") am iGate hinzugefügt. Achtung, diese Funktion kann zu Fehlerkennungen führen. Daher bitte nur experimentell verwenden, wenn man weiß was man tut. | ||
|- | |- | ||
|} | |} | ||
=== Beispielkonfiguration eines Digis mit einem Eingangskanal === | |||
<nowiki>udpgate4 -s MYCALL-10 -R 127.0.0.1:9002:9101+10:20#144800 -H 10080 -I 1440 -n 30:/home/pi/dxlAPRS/aprs/netbeacon.txt -g rotate.aprs2.net:14580#m/100,-t/t -p PASSCODE -t 14580 -w 14501 -v -D /home/pi/dxlAPRS/aprs/www/ -0 </nowiki> | |||
* -s = Rufzeichen des iGates lautet MYCALL-2. | |||
* -R = Input/Output iGate zu HF auf Port 9002(tx) und 9101 (rx) inkl. Begrenzung der übertragenden Byte/s auf „10“ bytes/s. Der Radius für APRS-IS Aussendungen ist 20km und die Bezeichnung des HF Ports lautet „144800“. | |||
* -H und -I = Zeitraum für die MH-Listen auf dem Webinterface des iGates (direkt gehört und via Liste) definiert auf 1 Woche bzw. 1 Tag. | |||
* -n = Sende eine Bake in das APRS-IS Netzwerk im 30-Minutentakt aus der angegebenen Datei [[netbeacon.txt]]. | |||
* -g = Ausgehende Verbindung zum APRS Gateway rotate.aprs2.net auf Port 14580 mit den Filtern "Radius=100km" und "keine Telemetrie durchlassen". Informationen zu den APRS-IS Filtern hier: [[aprsis-filter]]. | |||
* -p = APRS Passcode passend zum Rufzeichen. | |||
* -t = Das eigene Gateway kann selbst (auch per Telnet) auf diesem Port (14580) connected werden (z.B. für lokale Anwendungen wie SVXLink usw.). | |||
* -w = Port für das Webinterface des Gateways (14501). | |||
* -v = Zeige erweiterte Informationen am Bildschirm an (nicht notwendig beim standalone Betrieb). | |||
* -D = Pfad zum Webinterface-Ordner (enthält unter anderem info.html und eine beliebig anpassbare CSS Datei fürs Webinterface). | |||
* -0 = Die „Null“ sorgt unter anderem dafür, dass bei eingehenden Telnet Connects auf Port 14580 (-t ) die Angabe von weiteren Filtern notwendig ist (spart unnötigen Traffic). |
Aktuelle Version vom 29. August 2022, 17:05 Uhr
Über udpgate4
Beschreibung
udpgate4 ist ein äußerst flexibles und leistungsfähiges APRS Gateway/iGate mit Funktionen, die sonst eigentlich kaum wo anders zu finden sind.
- Die Grundfunktion ist der Empfang von APRS-Paketen per AXUDP und der Weiterleitung per TCP zu einem weiterführenden APRS-Gateway im Internet oder Hamnet.
- Außerdem empfängt es Daten aus dem APRS-IS Netzwerk von anderen Gateways, kann diese lokal auswerten und auch weiterreichen, z.B. zur Aussendung über einen lokalen APRS-Digipeater (udpbox).
- Weiterhin dient udpgate4 ebenfalls als Gateway und kann von Usern, Programmen und anderen Gateways über TCP connected werden, Daten an diese abliefern sowie von ihnen annehmen und wieder weiterreichen.
- Hervorzuheben ist auch das sehr interesante Webinterface, in welchem man viele Informationen einsehen kann.
Features Webinterface
- MH-Liste der direkt und indirekt (via) gehörten APRS Stationen.
- MH-Liste für APRS-Objekte und APRS-Items aktivierbar.
- Alle- ein und ausgehenden Telnetverbindungen zu und von anderen Gateways.
- Übersicht der zuletzt über HF und APRS-IS gehörten APRS-Nachrichten.
Wenn der Rechner des Gateways öffentlich erreichbar ist (z.B. über Hamnet, Internet), kann jeder User dieses Webinterface aufrufen und sich informieren. Das Webinterface ist zudem durch den Sysop über eine CSS Datei nach Belieben anpassbar.
Weitere Features
- Beliebige Anzahl AXUDP Eingangskanäle, die im Webinterface auch unterschiedlich dargestellt werden können (z.B. Kennzeichnung 2m, 70cm, LoRa etc. möglich).
- Eingangskanäle können alle AXUDP fähigen Geräte und Tools sein, aber auch KISS/SMACK TNCs oder TCP-KISS fähige Programme mit udpflex, Soundmodems und SDR-Empfänger mit afskmodem, Wettersondenempänger (sondemod) und ADSB (adsb2aprs) Dekoder.
- Redundante ausgehende Gatewayverbindung zu belibigem Tier2 oder sonstigem APRS Gateway. Falls eines ausfällt, wird automatisch zu anderen Verbunden.
- Verbindung zu Geräten und Programmen mit KISS/SMACK Schnittstelle möglich mit udpflex.
- Leistungsstarker Digipeater mit udpbox
Übersicht der Parameter
Eine detaillierte Erläuterung der Parameter findet man weiter unten.
udpgate4 -h udpgate 0.74 -0 send no Data (only Messages and ack) to User with no Filter -A <path> srtm directory path to enable overground calculation (-A /usr/srtm/) for objects with "Clb=" file WW15MGH.DAC will be needed on this path -a <meter> Altitude of Igate for elevation calulation (overrides value from srtm) -B [+]<time> Minutes show heard Items/Objects, with "+" from AprsIs too (-B +60) -C <time> connected (tcp) remember position minutes (Min) (-C 1440) -c delete frames with no valid source call in APRS-IS stream -D <path> www server root directory (-D /usr/www/) -d <time> dupe filter time in seconds, not below 27s! (default 60s) -E Erase axudp frames with ctrl-chars in calls else show "^" (off) -e <time> wait before (re)connect to (next) gateway in seconds, (30s) -F <lines>:<file> write direct heard file (call,sym,port,s,cnt,km,data,path) -f <filters> backstream filter text sent to out connected server -f m/50 if blanks dont pass parameter settings use , (-f m/30,-d/CW) -g <url>:<port>[#<filters>] connect to APRS-IS gateway, repeat -g for a list with favorites first and all urls will be tried to connect if the active connect is not the first in list, urls before will be polled and if gets connected, data transfer is switched to this link and the old gets disconnected if no filter setting, global -f filter is used -g www.db0anf.de:14580#m/50 -g 127.0.0.1:3000 ipv6 if enabled by kernel -g [::1]:14580#m/200 -g :<filename> read gateway urls from file url:port#filter,filter,... send SIGHUP to reread file & reconnect (kill -SIGHUP <tasknumber>) -H <time> direct heard keep time minutes (Min) (-H 1440) -h this -I <time> indirect heard keep time minutes (Min) (-I 30) -J <count>[:<fit%>] enable message spam filter on count % same text from or to same call (-J 10:65), messages are deleted at -U time -j <time>[:<count>] maximum time/count to (re)send messages (s) (-j 21600:12) count=0: message passed thru to direct heard as ports tx limits allow) -K not Gate frame rf to net if sender of frame has no call -k <time> 0 always connect to gateway else connect on demand and hold (0) (seconds) after last User gone or valid UDP Data arrived -L <number> max messages stored else delete oldest (-L 1000) -L 0 and -x set and net-to-rf enabled all msg to heard gatet -l <level>:<file> logfile -l 6:/tmp/log.txt level: 0 all, 1 dupes, >1 error, status... -M same as -R but tnc text format -m <maxconnects> max inbound connects -m 20 (default 200) -N send no stored messages to net except query answers -n <min>:<file> netbeacon minutes:filename -n 10:netbeacon.txt \\z ddhhmm, \\h hhmmss, \\:filename: insert file, \\v insert Version, \\\ insert \\ beacon file like: !8959.00N/17959.00E&igate mars beacon file used by udpgate itself to find out own position -O make MH entry for same calls but different port -o <seconds> ping-pong: time to stop data forwarding after last ping use double time of igate ping intervall -P <time[:time]> purge unacked (:acked) messages after seconds (-P 86400:300) -p <password> login passwort for aprs-is servers -p 12345 to hide password in commandline use file mode -p pass.txt -Q <n> send netbeacon with qAS if qAI dont pass some servers 0=never, 1=always else every n beacons send 1 with qAI -q <time> minimum quiet time after rf tx seconds (-q 10) -R <ip>:<dport>/<lport>[+<byte/s>[:<radius>]][#<portname>] udp rf port (monitor frame format) for local (t)rx <dport>/<lport> "/" only from this ip, dport=0 no tx +byte/s enable inet to rf for services like WLNK, WHO-IS :radius enable all inet to rf gate (from km around digi) messages to NOT direct heard users are gated at any radius >0 if no <ip> given then '127.0.0.1' is used #portname max 10 char like '144800' repeat -M for each radio port with a tx or different portname -r <filename> write a dated 1 day logfile with date+time+data lines -S <call> server call of this server -s MYCALL-10, no check if valid call -s <call> server call of this server -s MYCALL-10 -T <seconds> kill link to server if unack tcp bytes are longer in tx queue avoids delayed trackpoints (default 15s, off 0, max 60) -t <localport> local igate tcp port for in connects -t 14580 -U <time[:time]> purge unsent(:sent) unack messages after seconds (-U 600:60) -u <maxlines> raw frame listing by click to frame counter in Heard list (20) (0 off) -V <path> Via Path for net to rf frames, "-1" for SSID on destination call -v show frames and analytics on stdout -W <filesize> limit www server file size in 1024byte, (-W 4000) -w <port> port of www server -w 14501 -x <call> via <call> send messages to rf (-x OE0AAA-10) tx off: -x - default is server call -Y get missing altitude in MH from SRTM udpgate -v -R 127.0.0.1:9200:9201 -s MYCALL-10 -l 7:aprs.log -n 10:beacon.txt -t 14580 -g www.server.org:14580#m/30 -p 12345
Webinterface
Das Webinterface kann in einem beliebigen Browser aufgerufen werden unter Angabe der URL bzw. der IP-Adresse des Rechners, auf dem udpgate4 läuft, gefolgt von dem Port, z.B. http://db0nu.ampr.org:14501 oder http://44.149.25.4:14501 . Der Port wird beim Aufruf von udpgate4 mit dem Parameter -w definiert.
CONNECTS
- AXUDP Ein- und Ausgangskanäle mit Quell-IP und Port
- Aufteilung RX oder TX Port; Portname
- Ausgehende Verbindung zu einem APRS-Server
- Gesetzte Filter der ausgehenden Server-Verbindung
- Eingehende Telnetverbindungen, z.B. von Usern oder anderen Programmen oder Gateways
- Beschreibung der eingehenden Telnetverbindung mit Filterangabe
Tabellenspalten:
- Dir = Übertragungsweg. UDP sind ein und ausgehende AXUDP Verbindungen. In/Out sind TCP/Telnet Verbindungen.
- IPnum = IP-Adresse oder URL des Verbindungspartners
- Port = Port auf dem die Verbindung läuft
- Call/Port = Rufzeichen oder Kanalbezeichnung der Verbindung
- V = Verbindungsart. v = Bestätigte Verbindung mit Passcode, p = Position des Teilnehmers ist bekannt
- Range Filter = Gesetzte Paketfilter
- TxByte = Gesendete Bytes
- TxFR = Gesendete Anzahl an APRS Paketen
- bit/s = Durchschnittliche Übertragungsrate
- RxByte = Empfangene Bytes
- RxFr = Empfangene Anzahl an APRS Paketen
- Up = Laufzeit der aktuellen Verbindung
HEARD
Die wichtigste Seite ist die MH-Liste der zuletzt gehörten Rufzeichen.
- Rufzeichen+SSID des Gateways
- Eigene Positionskoordinaten
- Eigener WW-Locator (10-stellig)
- udpgate Programmversion
- Kumulierte Anzahl der Aufrufe des Webinterface seit letztem Start
- Aktuelle Laufzeit des Gateways
- Wechseln zur Ansicht CONNECTS (Ein- und ausgehende Verbindungen)
- Wechseln zur Ansicht HEARD (MH-Liste)
- Wechseln zur Ansicht MSGRELAY (APRS-Messages)
- Wechselt zur info.html (liegt im www-Ordner und kann individuell gestaltet werden. Kann zur Stationsbeschreibung genutzt werden).
- Hier kann eingestellt werden, in welchen Zeitabständen (in Minuten) die Seite sich von alleine aktualisiert
- Übersicht der zuletzt direkt gehörten Stationen
- Übersicht der zuletzt indirekt gehörten Stationen. Indirekt bedeutet, dass die aussendende Station nicht direkt empfangen wurde, sondern ihr Signal durch einen Digipeater wiederholt wurde. Dazu zählen auch 3rd Party Aussendungen aus dem APRS-IS Netzwerk, wenn diese durch ein iGate über HF abgestrahlt werden.
Die Zeitspanne der MH-Liste lässt sich beim Aufruf von udpgate4 über die Parameter -H und -I definieren. Die Sortierung der MH-Liste lässt sich durch Klick auf eine der (gelben) Spaltenbeschreibungen ändern. Die Anzahl der Spalten kann variieren, je nach verwendeter Empfangshardware. Bei Benutzung eines Soundmodems können weiterführende Informationen wie z.B. gehörtes TX-Delay und Signalqualität bestimmt werden. Dies ist nicht möglich bei Verwendung externer Controller, wie z.B. TNCs.
Spaltenbedeutung
- Call = Rufzeichen der gehörten Station. Durch klicken auf das Rufzeichen wird eine externe Seite aufgerufen, welche eine Auflistung der letzten ausgesendeten Pakete dieser Station zeigt, z.B. auf findu.com oder aprs.fi (dies kann eingestellt werden in der Datei serverlink.txt im www Ordner.
- Icon = Im Paket Gesendetes APRS-Symbol
- Port = Portname, der beim Aufruf von udpgate4 (Parameter -R) angegeben wurde
- Last Heard = Zeit seit dem letzten Hören
- Txd = Gemessenes TX-Delay der Station. Orangene und rote Kennzeichnung deutet auf ein zu hoch eingestelltes TX-Delay der empfangene Station hin. Zu hohes TX-Delay führt zu verlängerer Sendezeit und dadurch in dichten Gebieten zur unnötiger Frequenzauslastung. Zudem ist es eine sinnlose Energieverschwendung, da das TX-Delay keinerlei Informationen überträgt und nur die Frequenz belegt.
- Lev = NF Pegel am Modem. Bei LoRa APRS die RSSI Feldstärke.
- q% = Signalqualität. Sollte im 90% Bereich liegen, ansonsten passt ggf. etwas an der Hardware der sendenden Station nicht
- SNR = Nur bei LoRa APRS Stationen: Das vom LoRa Modem gemessene SNR der Aussendung.
- Pack = Anzahl der korrekt empfangenen Pakete der Station in der vorgegebenen Zeitspanne. Durch klicken auf die Zahl kann eine Liste der 20 letzten Pakete abgerufen werden.
- Junk = Anzahl ausgesendeter üngültiger oder "unnützer" Pakete. Diese enthalten meist keine Positionsangaben (z.B. Telemetrie, Baken usw.). Durch klicken auf die Zahl kann eine Liste der 20 letzten Pakete abgerufen werden.
- QRB km = Entfernung zur gehörten Station
- Data = Eine Auswahl übertragener Daten, z.B. Geschwindigkeit, Temperatur etc.
- Path = To-Call und APRS-Pfad der Aussendung
HEARD für APRS-Objekte
PS: Diese Funktion wurde erst mit udpgate4 Version 0.72 vom 27.03.2021 eingeführt.
In erster Linie für Wettersonden iGates gedacht, aber auch für andere APRS-Objekte aktivierbar, ist die MH-Liste für APRS-Objekte. Dies ermöglicht die Anzeige von APRS-Objekten und APRS-Items aus dem UDP-Datenstrom (z.B. die einzelnen Wettersonden, welche als APRS-Objekte versendet werden). Angezeigt wird die Liste erst wenn der Parameter -B beim Start von udpgate4 angegeben wird. Er erwartet eine Zeitspanne in Minuten, für welche die Objekte angezeigt werden sollen. Durch voranstellen eines "+" vor die Zeitspanne kann man auch die aus dem APRS-IS Datenstrom ankommenden APRS-Objekte anzeigen lassen. Will man nur die Objekte des eigenen Empfängers anzeigen lassen, lässt man das "+" weg.
Folgende Spalten enthält die MH-Liste, sofern die Daten verfügbar sind:
- Object = Objektname, z.B. die Seriennummer der Wettersonde. Sofern die Datei objectlink.txt im Ordner www existiert, kann man durch Klick auf den Sondennamen direkt zur Sondenseite bei radiosondy.info gelangen.
- Icon = Zugehöriges APRS-Symbol.
- Port = Portnummer auf der das Paket empfangen wurde (sofern mehrere existieren).
- Ago = Zeitspanne seit der Übertragung des letzten Datenpaketes.
- Pack = Anzahl der empfangenen Pakete zu diesem Objekt in der angegebenen Zeitspanne.
- QRB km = Entfernung zu dem Objekt bezogen auf das letzte empfangene Datenpaket. Die Höhe des Objektes wird mit berücksichtigt, die Entfernung kann also höher sein als bei einer Kartenmessung.
- AZ = Azimuth in Grad zum Objekt (Richtung) bezogen auf das letzte empfangene Datenpaket.
- Ele = Elevation in Grad zum Objekt bezogen auf das letzte empfangene Datenpaket.
- Lat = Latitude. Aktueller Breitengrad bezogen auf das letzte empfangene Datenpaket.
- Long = Longtitude. Aktueller Längengrad bezogen auf das letzte empfangene Datenpaket.
- Alt = GPS Höhe des Objekts bezogen auf das letzte empfangene Datenpaket.
- OG = Overground, Höhe über Grund bezogen auf das letzte empfangene Datenpaket. Wird nur angezeigt bei vorhandensein der passenden STRM Datendateien im durch -A angegebenen Pfad.
- Clb = Vertikale Steig- oder Sinkgeschwindigkeit des Objekts bezogen auf das letzte empfangene Datenpaket.
- Dir = Direction. Flugrichtung in Grad des Objekts bezogen auf das letzte empfangene Datenpaket.
- MHz = Übermittelte Frequenz des Objekts (z.B. Sondensendefrequenz).
- dt =
- Data = Übermittelte Informationen im APRS-Objekt, z.B. horizontale Geschwindgkeit.
- Path = Absendercall und Zielcall im Datenpaket
Die Tabelle lässt sich beliebig sortieren durch Klick auf eine der (gelben) klickbaren Spaltenüberschriften.
MSGRELAY (APRS Messages)
- Direkt gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet und an APRS-IS weitergegeben wurden.
- Über andere Digis gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet wurden.
- Von APRS-IS kommend gehörte APRS Nachrichten, welche vom eigenen Digi über HF digipeatet wurden.
Tabellenspalten:
- From = Absender-Call
- To = Empfänger-Call
- hms ago = Vergangene Zeit seit dem eintreffen
- hms tx = Wann die nachricht zuletzt ausgesendet wurde vom Digi. Leer = Nie, timed out = kein ACK empfangen
- po = Funkport
- retr = Retries / Gesendete Wiederholungen
- m>r = Message > Radioport
- m>n = Message > Net
- a>r = ACK > Radioport
- a>n = Message > Net
- A = Auf welchem Weg empfangen? d = direkt empfangen, v = Via empfangen, n = Übers Netzwerk/Net (APRS-IS) empfangen
- Ack = Eindeutiger Kontrollcode für das Bestätigungs-ACK
- Text = Übertragene Textnachricht
INFO
Ein Klick auf diesen Button zeigt die Seite info.html Datei an, sofern diese Datei im WWW Ordner existiert. Bei größeren Datenmengen muss evtl. der parameter -W erhöht werden. Wenn die Datei info.html nicht existiert, wird folgendes angezeigt:
Put your station info here in info.html
Der Ordner /www
Der Ordner enthält folgende Dateien und Ordner:
- style.css: Damit kann das Aussehen des Webinterfaces beeinflusst werden.
- info.html: Hier kann man Informationen über den Digi im HTML Format einfügen. Diese wird angezeigt wenn man im Webinterface auf den "INFO" Button klickt.
- calllink.txt: Enthält den Link zum Aufruf weiterer Informationen über ein Rufzeichen, wenn man auf dieses in der MH-Liste klickt. Es wird die erste Zeile in der Datei verwendet. Weitere Beispiele sind vorhanden. * Standard ist findu.com.
- favicon.ico: Dieses Symbol wird im Browser für die Webseite angezeigt (Webseitensymbol).
- serverlink.txt: Wird im Webinterface auf der "CONNECTS"-Seite ein Server angeklickt, wird dessen Statusseite aufgerufen. Der Link dazu kann in dieser Datei bei Bedarf angepasst werden.
- objectlink.txt: Wird im Webinterface in der Objektliste eine Sondennummer angeklickt, wird die zugehörige Sondenseite auf radiosondy.info aufgerufen. Der Link dazu kann in dieser Datei bei Bedarf angepasst werden.
- /icon: Dieser Ordner enthält alle APRS Symbolgrafiken im GIF Format, welche im Webinterface angezeigt werden.
Unterstützte APRS-IS Filter
Beim Verbinden mit einem entfernten APRS Server bzw. Gateway (-g) können Filter angewandt werden, um den Datenstrom zu begrenzen. Achtung, diese Filter wirken sich auch auf verbundene TCP User aus! Alle Filter können auch mit vorangestelltem Minus "-" invertiert werden. Beispielsweise t/t lässt nur Telemetriepakete durch, während -t/t alles außer Telemetriepakete durchlässt.
Alle möglichen Filter können auf der Seite APRS-IS Filter nachgelesen werden.
Per TCP mit udpgate4 verbundene User können ebenfalls diese Filter setzen, um ihren Datenstrom weiter zu filtern. Mehr als die bei udpgate4 angegebenen Filter kann aber nicht weitergereicht werden. udpgate4 selbst unterstützt nicht alle APRS-IS Filter. Zur Zeit sind es die folgenden: m r a d e u p b o t.
Was, wenn einzelne Pakete zwar empfangen aber anscheinend nicht weiter gegeben werden ?
Mit dem Parameter -v kann man udpgate4 zum sprechen bringen und sehen was er so tut. Dies ist oft wichtig, wenn es Probleme gibt. Das kann z.B. sein, wenn ein APRS-Paket scheinbar empfangen, aber nicht weitergeleitet wird. Also quasi letztendlich nicht auf aprs.fi oder aprsdirect.com auftaucht. Dann fragt man sich, "warum kommt es nicht an?".
Alle Pakete die udpgate4 von den "Einspeisenden" bekommt, können in der Bildschirmausgabe an dem vorangestellten "U:" erkannt werden. Das heißt, jede Zeile beginnt mit "U:", wenn das Paket per AXUDP angenommen wurde (von z.B. AFSKMODEM, UDPBOX usw.). Zeilen die mit "G:" beginnen, enthalten Daten, welche vom entfernten APRS-Server übermittelt wurden.
Beispiel eines über HF empfangenen Paketes in udpgate4:
U: 85>DG4NAA>TY2X20-2,DB0VOX,DB0REN,WIDE2*,qAU,DL1NUX-1:`&W,l<1F>R-/"7<}PicoAPRS by DB1NTO!.
Man kann sehen, dass es über UDP angeliefert wird, und auch dass die Station 85km vom Standort des eigenen iGates entfernt ist. Die Zahl zwischen dem "U:" und dem ">" entspricht der Entfernung in km.
Beispiel eines vom entfernten APRS-Server angelieferten Paketes:
G: 0>DL1NUX-15>APRS,TCPIP*,qAC,DB0GW:@301950z5014.06N/01059.02E_.../000g001t050r000p001P001b10143h98.weewx-3.9.1-FineOffsetUSB
Das "G:" sagt, das es vom Server her kommt, also nicht über HF, und das es 0km entfert ist. In dem Fall klar, da sich die Wetterstation DL1NUX-15 am selben Stadort befindet.
Wenn man die Bildschirmausgabe von udpgate4 weiter beobachtet, fallen einem weitere Möglichkeiten auf.
U:cal:DB0NU-10>APNL51:}DO8TBO-2>APNL51,TCPIP,DB0NU-10*:!5008.43N/01051.59E`APRS RX iGate 144.800 + 145.825 MHz U:dup:DB0LP>APOT21,DB0FGB,DB0REN,WIDE2*:!4908.96NL01142.02E# 17C APRS-Testdigi
Es können noch die Zusätze "cal" und "dup" auftauchen. Diese bedeuten, dass das Paket zwar empfangen wurde aber NICHT an den APRS-Server oder andere über TCP verbundene Clients weitergeleitet wird. Diese zwei Pakete werden also auch niemals auf aprs.fi & Co. auftauchen, zumindest nicht vom eigenen Gateway übermittelt.
"cal" steht hierbei für "Call" und bedeutet, dass dieses Paket aufgrund eines ungültigen Rufzeichens im Paket gefiltert wird. Dies könnte beispielsweise ein ungültiges bzw. nicht APRS-konformes Rufzeichen sein (kein typisches AFu Call). Auch kann es sein, dass es das eigene Call ist und dadurch gefiltert wird. Warum sollte es sich auch selbst weiterleiten, das könnte ggf. eine Schleife ergeben. Im obigen Beispiel wurde es gefiltert, da Gatewaycall und Absendercall identisch sind - "DB0NU-10". Es wird bis auf die SSID geprüft. Ein Absendercall "DB0NU-9" würde wiederum akzeptiert und nicht gefiltert werden.
"dup" steht für "Dupe" und bedeutet, dass dieses Paket bereits empfangen wurde, vermutlich auf direktem Wege oder von einem anderen Digi digipeatet. Es wurde bereits beim ersten mal weitergeleitet, eine nochmalige Weiterleitung wird innerhalb der "Dupe"-Zeit unterbunden. Die "Dupe"-Zeit beträgt standardmäßig 60 Sekunden, wenn sie nicht durch den Parameter "-d <sec>" anders bestimmt wird. Es muss auch exakt das gleiche Paket sein. Ist nur ein Byte im Informationsteil anders, zählt es nicht mehr als "Dupe" und die Information wird weitergegeben.
Wie man sieht kann man durch Beobachten der Ausgabe des udpgate4 viel in Erfahrung bringen.
Beispielkonfigurationen
Beispielkonfiguration eines APRS RX only iGate mit einem Eingangskanal
udpgate4 -s MYCALL-2 -R 127.0.0.1:0:9101 -n 30:/home/pi/dxlAPRS/aprs/netbeacon.txt -g rotate.aprs2.net:14580 -p 12345 -t 14580 -w 14501 -D /home/pi/dxlAPRS/aprs/www/
- -s = iGate Rufzeichen MYCALL-2.
- -R = Ein AXUDP Einganskanal auf Port 9101 (listen port). Da es nur ein RX only iGate ist, bleibt der destination port auf 0.
- -n = Netzbake alle 30 Minuten aus netbeacon.txt.
- -g = Ausgehende Verbindung mit dem Server rotate.aprs2.net auf Port 14580.
- -p = Eigener APRS Passcode 12345.
- -t = Eigener Telnet Port 14580.
- -w = Port des Webinterfaces 14501.
- -D = Pfad zum WWW Ordner für das Webinterface.
Beispielkonfiguration eines iGates für Wettersondenempfang
udpgate4 -s MYCALL-11 -R 127.0.0.1:0:9101 -B 1440 -H 0 -I 0 -L 0 -u 50 -A /home/pi/dxlAPRS/aprs -n 30:netbeacon.txt -g radiosondy.info:14580#m/1,-t/t -p <PASSCODE> -w 14501 -v -D /home/pi/dxlAPRS/aprs/www/
- -s = iGate Rufzeichen MYCALL-11.
- -R = Ein AXUDP Einganskanal auf Port 9101 (listen port). Da nichts über GF gesendet wird, bleibt der destination port auf 0.
- -B = Anzeige einer MH-Liste (24 Stunden) für APRS-Objekte. Es werden nur Daten aus dem UDP Datenstrom angezeigt, in diesem Fall die Sondendaten.
- -H = Die Anzeige der MH-Liste der direkt gehörten Stationen wird unterdrückt (Wert 0 = aus). (Optional!)
- -I = Die Anzeige der MH-Liste der indirekt gehörten Stationen wird unterdrückt (Wert 0 = aus). (Optional!)
- -L = Es werden keine APRS-Nachrichten gespeichert. (Optional!)
- -u = Es werden pro Station/Sonde die letzten 50 Frames gespeichert und sind durck Klick auf den "Pack"-Zähler anzeigbar. (Optional!)
- -A = Die SRTM Datendateien für die Höhenberechnung über Grund (OG) befinden sich in /home/pi/dxlAPRS/aprs/srtm1. Ddie Angabe des Pfades erfolgt ohne die Pfadangabe /srtm1, dies wird vorausgesetzt. (Optional!)
- -n = Netzbake alle 30 Minuten aus netbeacon.txt.
- -g = Ausgehende Verbindung zu radiosony.info auf Port 14580. Eingehender APRS-IS Filter ist aktiviert. keine Telemetrie und nur Daten aus dem Umkreis von 1km werden angenommen
- -p = Eigener APRS Passcode.
- -w = Port des Webinterfaces 14501.
- -D = Pfad zum WWW Ordner für das Webinterface.
Detaillierte Erläuterung der Parameter
Parameter | Beschreibung |
---|---|
0 | Sende keine Daten an User ohne Filter über Telnet außer APRS-Nachrichten, ACK und Telemetrie. |
A <Pfad> | Pfad zum Verzeichnis (/srtm1) mit den SRTM Höhendatendateien. Beispiel: -A /home/pi/dxlAPRS/aprs bedeutet, die SRTM Höhendatendateien liegen in /home/pi/dxlAPRS/aprs/srtm1 |
a | Eigene Höhe über NN des iGates für die Elevationsberechnung. Bei Verwendung von -a werden vorhandene Daten aus den SRTM Höhendatendateien ignoriert. Bei Vorhandensein von SRTM Höhendatendateien wird ohne Verwendung von -a die iGate Höhe aus den SRTM Höhendatendateien gezogen. |
B (+)<Minuten> | Zeitspanne in Minuten für die Anzeige von APRS-Objekten oder APRS-Items in der Objektliste. Der Vorsatz des "+" zeigt auch die Objekte aus dem eingehenden APRS-IS Datenstrom mit an, sofern das iGate mit einem entfernten Server verbunden ist. Beispiel: -B 60 Zeigt APRS-Objekte und Items der letzten 60 Minuten nur von den UDP-Quellen an, also nur selbst empfangene bzw. erzeugte Pakete (z.B. sondemod). Beispiel: -B +60 Zeigt APRS-Objekte und Items der letzten 60 Minuten von den UDP-Quellen und aus dem APRS-IS Netzwerk an. |
C | Das Gateway merkt sich die Position der verbundenen User nach Disconnect oder Verbindungsabbruch für eine gewisse Zeit (-C) in Minuten. Angabe wird benötigt für den Radiusfilter m/. Sendet der User keine Position an das Gateway, ist der Standardfilter m/0 aktiv und das Gateway übermittelt ihm dadurch keine Daten. Standardwert ist 1440 Minuten = 1 Tag. |
c | Lösche Pakete ohne gültiges Quellrufzeichen im eingehenden APRS-IS Datenstrom |
D <Pfad> | Dateipfad zum root des udpgate4 Webservers (-D /usr/www/). |
d | Dublettenfilter; Zeit in Sekunden, jedoch nicht weniger als 27 Sekunden! (Standard 60 Sekunden) |
E | Lösche AXUDP Pakete welche Kontrollzeichen im Rufzeichen enthalten. Ansonsten wird ein "^" angezeigt (Standard: aus) |
e | Wartezeit für die (Wieder)Verbindung zum (nächsten) Gateway in Sekunden (Standard 30 Sekunden) |
F <lines>:<file> | Schreibt eine Liste der zuletzt direkt gehörten Staionen in eine Datei (Rufzeichen,Symbol,Port,Zeit seit letzer Aussendung,cnt,km,Daten,Pfad). Lines=Anzahl der Zeilen. File = Dateiname (ggf. mit Pfad). Da diese Datei laufend neu generiert wird, wird empfohlen diese Datei in eine Ramdisk zu schreiben. Schreiben auf SD-Karte oder SSD führt im Dauerbetrieb zum schnellem Verschleiß und defekt der Platte. |
f <filters> | Standardfilter was an das ausgehende Gateway gesendet wird, wenn bei der Gateway-URL kein Filter angegeben wird, z.B. -f m/50 oder -f m/30,-d/CW. Nützlich wenn man mehrere Gateways nutzt und seine Filter nicht bei jedem Gateway erneut angeben möchte. |
g <url>:<port>[#<filters>] | Verbinde mit einem entfernten APRS-Gateway. Wiederhole -g für eine Liste mit den Favoriten am Anfang und alle URLs werden versucht der Reihe nach zu connecten. Wenn die aktive Verbindung nicht die erste in der Liste ist, werden die vorherigen URLs gepollt. Sobald die Verbindung zum vorhergehenden Gateway (wieder) erfolgreich aufgebaut wurde, wird der Datentransfer zu dieser Verbindung gewechselt und die alte Verbindung wird getrennt. Wird kein Filter angegeben, wird der globale -f Filter des verbundenen Gateways genutzt. |
g :<filename> | Lese die Gateway URLs aus der angegebene Datei. Zeilenformat: url:port#filter,filter,.... Beispiel: -g :igates.txt . Siehe auch igates.txt und APRS-IS Filter. udpgate4 kann mit kill -sighup <Prozess-ID von udpgate4> zum Trennen und erneuten Verbinden mit dem entfernten Server aufgefordert werden (notwendig bei Änderungen an der igates.txt). |
H | Begrenzt die Liste der direkt gehörten Stationen auf -H Minuten (Standard 1440 Minuten = 1 Tag) |
h | Anzeige der Hilfeseite |
I | Begrenzt die Liste der indirekt gehörten Stationen auf -I Minuten (Standard 30 Minuten) |
J <count>[:<fit%>] | Aktiviere SPAM Filter für APRS-Nachrichten bei count:% vom oder zum selben Rufzeichen (Standard = -J 10:65). Nachrichten werden bei erreichen der Zeit -U gelöscht. |
j | Maximale Zeitspanne (in Sekunden) und Anzahl um APRS Nachrichten erneut auszusenden, bis sie verfallen. Z.B. -j 21600:12 bedeutet maximal 6 Stunden und 12 Aussendungen einer nachricht Bei count=0 werden eingehende APRS-Nachrichten sofort und nur einmalig ausgesendet, sofern sich der Empfänger in der MH-Liste befindet. Kommt die Nachricht jedoch mehrfach, wird sie auch mehrfach gesendet. |
k | 0 = Verbinde immer mit dem Gateway, ansonsten verbinde nur bei Bedarf und halte die Verbindung k Sekunden nachdem der letzte User gegangen ist bzw. gültige UDP Daten übermittelt wurden. |
K | Sende auf Funk empfangene Daten nicht ins APRS-IS Netwzerk, wenn der Absender des Pakets kein Rufzeichen hat. |
L <number> | Maximale Anzahl gespeicherter APRS Nachrichten (-L 1000) -L 0 and -x set and net-to-rf enabled all msg to heard gatet |
l <level>:<Datei> | Schreibt eine Logdatei. Beispiel: -l 6:/tmp/log.txt. Es sind verschiedene Loglevel verfügbar Level=1 Logins Level=2 +gesendete Pakete Level=6 +gefilterte Pakete Level=7 +Dubletten |
M | Identisch zu -R , jedoch im TNC Text Format anstatt AXUDP. Nur relevant für TAPR TNCs. |
m <maxconnects> | Maximale Anzahl eingehender Telnet Verbindungen (Standard 50 Connects) |
N | Sendet APRS-Nachrichten nur einmalig über TCP an das entfernte Gateway. Ausnahme: Antworten auf querys. |
n <minuten>:<Datei> | Netzbake Minuten:Dateiname. Sendet eine Bake ins APRS-Netzwerk (nicht über HF!). Siehe auch netbeacon.txt Die Zeit zwischen den Aussendungen sollte 30 Minuten nicht unterschreiten. Auf den APRS-Karten bleiben die Symbole in der Regel mindestens eine Stunde sichtbar. udpgate4 verwendet die Bakendatei auch zur Bestimmung der eigenen Position. |
O | Zeigt ein Rufzeichen in der MH-Liste auf jedem Port an, wo es empfangen wurde. Standardmäßig wird pro Rufzeichen nur der Port gelistet, über den es zuletzt gehört wurde. |
o <Sekunden> | Stoppt den Datenteransfer zum entfernten Gateway wenn o Sekunden seit der letzten Ping-Antwort vergangen sind. Ist nur relevant bei entfernten Gateways die unter Windows laufen und Pings aussenden. Standard ist 30 Sekunden. |
P <Zeit1[:Zeit2]> | Löscht APRS Nachrichten nach soundsoviel Sekunden. Zeit1 = Nachrichten die eine Bestätigung ACK möchten. Zeit2 = Nachrichten die keine Bestätigung ACK möchten. Beispiel: -P 86400:300 |
p <password> | Login Passwort (Passcode) für APRS-IS Server, z.B. -p 12345. Zum Verstecken des Passworts in der Kommandozeile kann auch auf eine Datei verwiesen werden, welche das Passwort enthält, z.B. -p passwort.txt |
Q <n> | Sendet die Netzbake mit qAS wenn qAI von einigen Servern nicht unterstützt wird. 0 = Nie (Standard), >1 = Sende alle n Netzbaken mit qAI. Mit qAI kann der Pfad eines APRS Paketes in den APRS-IS Rohdaten genauer verfolgt werden, es werden aber mehr Informationen (längerer Pfad) übertragen. Beispiel: OE5DXL-10>APNL51,TCPIP*,qAI,OE5DXL-10,T2NUERNBG,T2HUB2,SIXTH,FOURTH,K4HG:!4815.10N/01302.20E&Igate 433.8 10.1493MHz 154855z OE5DXL-10>APNL51,TCPIP*,qAC,T2NUERNBG:!4815.10N/01302.20E&Igate 433.8 10.1493MHz 164034z Siehe dazu auch: Das Q-Konstrukt in APRS-IS |
q <Zeit> | Legt eine Sendesperre von q Sekunden nach jeder Aussendung fest, um z.B. ein zumüllen der QRG zu verhindern. Zu sendende Pakete werden in dieser Zeit verworfen und nicht nachgesendet, es sei denn sie werden vom iGate selbst zeitgesteuert ausgesendet. Beispiel: -q 10 |
R <ip>:<dport>:<lport>[+<byte/s>[:<radius>]][#<portname>] | UDP Kommunikationsport zu einem lokalen HF-Kanal (im Monitor frame Format). dport = Destination-Port und meint den Sendezweig (Pakete die z.B. von einem TNC ausgesendet werden sollen, APRS-IS>HF). lport = Listen-Port und meint den Port über den die auf HF dekodierten Pakete ankommen (RX-Zweig vom TNC z.B.). Alternativ kann man auch "R <ip>:<dport>/<lport>" angeben, also ein / anstatt einen : nach dem dport. Dann wird der Emfang auf diesem Port ausschließlich von der angegeben IP-Adresse akzeptiert. Beim Verwendung des Doppelpunkts kann die Quelle jede beliebige IP-Adresse haben, und es muss nur der Port übereinstimmen. dport = 0 bedeutet Kein TX-Zweig, nur RX (z.B. nur ein reines RX iGate). +byte/s ermöglicht die aus dem Internet kommenden Daten wie WinLink, who-is, APRS-Nachrichten usw. lokal auszusenden (jedoch keine Positionspakete!). Der Wert begrenzt zudem die Datenmenge in bytes/Sekunde, damit der Sender nicht dauernd läuft. :radius ermöglicht zusätzlich die Aussendung von Positionspaketen aus dem APRS-IS Netzwerk im angegebenen Radius in km um die Position des iGates. Damit würden auch APRS Pakete über HF abgestrahlt werden, die über andere Wege ins APRS-Netzwerk gelangen, z.B. Handy-Apps und CWOP Wetterstationen. Die eigene Position wird in der netbeacon.txt definiert. Der Radius sollte gering gehalten werden um die QRG nicht zuzumüllen. APRS Nachrichten an direkt gehörte Stationen (direct MH) werden immer solange ausgesendet, bis ein ACK kommt oder der Timer abgelaufen ist. Nachrichten an via gehörte Stationen werden nur bei aktiviertem Radius ausgesendet und auch nur einmalig (ohne Timer). Wird keine IP-Adresse angegeben, wird automatisch 127.0.0.1 genommen. #portname Ist eine max. 10 stellige Bezeichnung für diesen Port (z.B. 144800, 432500, 2m, 70cm, LoRa usw.). Der Portname erscheint entsprechend im Webinterface und man kann dadurch den Eingangskanal eines Paketes bestimmen. Man kann -R bzw. -M beliebig oft wiederholen um zusätzliche Ports mit anderen Namen oder weiterem Sender einzubinden. |
r <Dateiname> | Schreibt jeden Tag ein neues Logile mit allen Informationen im Stil "DateinameJJJMMTT", z.B. log20201231. |
S <call> | Rufzeichen des eigenen APRS-Servers, ohne Prüfung auf Gültigkeit des Rufzeichens |
s <call> | Rufzeichen des eigenen APRS-Servers, jedoch mit Prüfung auf Gültigkeit des Rufzeichens (Amateurfunkrufzeichen) |
T <seconds> | Trennt die TCP Verbindung zum entfernten Server wenn Pakete nach T Sekunden noch nicht aus der Sendewarteschlange raus sind. Dies verhindert verzögerte Trackingpunkte. Standardeinstellung ist 15s und bei 0 ist es ausgeschaltet. Das Maximum beträgt 60 Sekunden. |
t <localport> | Lokaler TCP Port für eingehende Verbindungen. Der Standard ist Port 14580 bei APRS-Servern. |
U <time[:time]> | Lösche ungesendete:gesendete APRS nachrichten ohne ACK nach soundsoviel Sekunden. Standardwert ist -P 600:60. |
u <maxlines> | Anzahl der Einträge in der Liste der Rohpakete, sobald man auf einen frame counter in der MH-Liste klickt (Spalten Pack und Junk). Standardwert = 20, 0 ist Aus. |
V <path> | Via Pfad für APRS-IS zu HF Aussendungen, "-1" for SSID on destination call. Damit sollte vorsichtig umgegangen werden. Eine falsche Konfiguration kann hier zum ungewollten Zumüllen der APRS Frequenzen führen. HF Aussendungen aus dem APRS-IS Netzwerk sollten grundsätzlich nur lokal erfolgen, ohne "via"-Pfad. Nur wenn es zwingend notwendig ist, diese Pakete über einen anderen Digi weiterverbreiten zu lassen, sollte man einen APRS-Pfad hinzufügen. Empfehlung ist KEINEN APRS-Pfad auszusenden! |
v | Zeige Pakete und weitere Informationen in der Bildschirmausgabe. |
W <filesize> | Begrenze die Größe der www-Serverdatei im RAM (in 1024byte). Standard ist -W 1000. |
w <port> | Port des Webservers, z.B. -w 14501. Auf diesem Port kann der Webserver über einen Webbrowser erreicht werden, z.B. db0nu.ampr.org:14501 |
x <call> | Sende APRS-Nachrichten auf Funk mit einem anderen via-Rufzeichen aus als das Server-Rufzeichen. TX ist aus mit "-x -". |
Y [num][,num]... | Diese Funktion versucht "schlechte Digis" anhand eines Fingerprints zu erkennen, welche empfangene Pakete nicht mit einem "via Digicall" digipeaten sondern das Paket 1:1 kopiert aussenden. Dadurch ist nicht mehr ersichtlich, ob man das Paket direkt gehört hat oder nicht. Wird ein Paket erkannt welches den Fingerprint enthält, wird ein künstliches "via" ("GHOST*") am iGate hinzugefügt. Achtung, diese Funktion kann zu Fehlerkennungen führen. Daher bitte nur experimentell verwenden, wenn man weiß was man tut. |
Beispielkonfiguration eines Digis mit einem Eingangskanal
udpgate4 -s MYCALL-10 -R 127.0.0.1:9002:9101+10:20#144800 -H 10080 -I 1440 -n 30:/home/pi/dxlAPRS/aprs/netbeacon.txt -g rotate.aprs2.net:14580#m/100,-t/t -p PASSCODE -t 14580 -w 14501 -v -D /home/pi/dxlAPRS/aprs/www/ -0
- -s = Rufzeichen des iGates lautet MYCALL-2.
- -R = Input/Output iGate zu HF auf Port 9002(tx) und 9101 (rx) inkl. Begrenzung der übertragenden Byte/s auf „10“ bytes/s. Der Radius für APRS-IS Aussendungen ist 20km und die Bezeichnung des HF Ports lautet „144800“.
- -H und -I = Zeitraum für die MH-Listen auf dem Webinterface des iGates (direkt gehört und via Liste) definiert auf 1 Woche bzw. 1 Tag.
- -n = Sende eine Bake in das APRS-IS Netzwerk im 30-Minutentakt aus der angegebenen Datei netbeacon.txt.
- -g = Ausgehende Verbindung zum APRS Gateway rotate.aprs2.net auf Port 14580 mit den Filtern "Radius=100km" und "keine Telemetrie durchlassen". Informationen zu den APRS-IS Filtern hier: aprsis-filter.
- -p = APRS Passcode passend zum Rufzeichen.
- -t = Das eigene Gateway kann selbst (auch per Telnet) auf diesem Port (14580) connected werden (z.B. für lokale Anwendungen wie SVXLink usw.).
- -w = Port für das Webinterface des Gateways (14501).
- -v = Zeige erweiterte Informationen am Bildschirm an (nicht notwendig beim standalone Betrieb).
- -D = Pfad zum Webinterface-Ordner (enthält unter anderem info.html und eine beliebig anpassbare CSS Datei fürs Webinterface).
- -0 = Die „Null“ sorgt unter anderem dafür, dass bei eingehenden Telnet Connects auf Port 14580 (-t ) die Angabe von weiteren Filtern notwendig ist (spart unnötigen Traffic).