Sondemod: Unterschied zwischen den Versionen

Aus DXL-Wiki
Zur Navigation springen Zur Suche springen
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= !!! Artikel ist in Arbeit !!! =
== Über sondemod ==
== Über sondemod ==


Zeile 10: Zeile 8:
sondemod -h
sondemod -h


sondemod 1.36 multichannel decoder RS92, RS41, SRS-C34/50, DFM, M10 Radiosondes
sondemod 1.37 multichannel decoder RS92, RS41, SRS-C34/50, DFM, M10, iMET Radiosondes
  -A <meter>     at lower altitude use -B beacon time (meter) -A 1000
  -A <meter>[:<meter>]  at lower altitude use -b beacon time (meter) -A 3000:1000:200
                   if SRTM/EGM-data avaliable, Overground will be used
                   if SRTM/EGM-data available, Overground will be used
  -B <seconds>  low altitude send intervall -B 10
-a <lat> <long> <lat> <long> or <locator> <locator> send beacons from inside leftdown
  -b <seconds>  high altitude minimum send intervall or 0 for never send -b 20
                  to rightup, swap corners to send only outside the rectangle
  -B <seconds>  obsolete, use -b <seconds>:<seconds>
  -b <seconds>[:<seconds>]...   minimum send intervall or 0 for never send -b 30:20:6:2
                  first for high altitude, next below (descending) altitudes as given in -A
  -C <filename>  write decoded data in csv-format to this file
  -C <filename>  write decoded data in csv-format to this file
  -d            dao extension for 20cm APRS resolution instead of 18m
  -d            dao extension for 20cm APRS resolution instead of 18m
Zeile 23: Zeile 24:
  -h            help
  -h            help
  -I <mycall>    Sender of Object Callsign -I OE0AAA if not sent by 'sondeudp'
  -I <mycall>    Sender of Object Callsign -I OE0AAA if not sent by 'sondeudp'
-j <filename>  write decoded data in ldjson-format to this file or pipe
  -L <hex>=<typname>[,<hex>=<typname>]...
  -L <hex>=<typname>[,<hex>=<typname>]...
                 IF there is a dependency, assign DFM-Types to highest found first 4 bit
                 IF there is a dependency, assign DFM-Subtype to highest first 4 bit in
                 in frame (in hex) -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17
                 serial number frame (in hex), FF=wildcard if nothing else fits
                eg. -L 6=DFM06,7=PS-15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx
  -M            Send "MHz" in APRS (if not received in Data) from SDR-parameter +afc
  -M            Send "MHz" in APRS (if not received in Data) from SDR-parameter +afc
                   do only with calibrated SDR, accept wrong data from alias receptions
                   do only with calibrated SDR, accept wrong data from alias receptions
Zeile 50: Zeile 53:
                   %D Distance to sonde-rx, (-P -S needed too with EGM96)
                   %D Distance to sonde-rx, (-P -S needed too with EGM96)
                   %E Elevation to sonde, (-P -S needed too with EGM96)
                   %E Elevation to sonde, (-P -S needed too with EGM96)
                   %F same as "f" but send always
                   %F same as "f" but send even if MHz got from sonde data
                   %f sdr freq+AFC from sdrtst with -e and not (yet) got MHz from sonde
                   %f sdr freq+AFC from sdrtst with -e and not (yet) got MHz from sonde
                   %l label given in sondeudp -L eg. "omni" "west" "rx1"
                   %l label given in sondeudp -L eg. "omni" "west" "rx1"
                   %n frame number if avaliable
                   %n frame number if available
                   %r hdil if avaliable, gps horizontal noise in meter
                   %r hdil if available, gps horizontal noise in meter
                   %s gps sat count if avaliable
                   %s gps sat count if available
                   %u sonde uptime if avaliable
                  %t tx power dBm
                   %u sonde uptime if available
                   %v sondemod version
                   %v sondemod version
                   # or empty line(s) for comment-free beacons
                   # or empty line(s) for comment-free beacons
Zeile 67: Zeile 71:


== Ausführliche Beschreibung der Parameter ==
== Ausführliche Beschreibung der Parameter ==
Update 21.01.2021: Änderungen aus Version 1.36g sind hier noch nicht eingearbeitet. Anpassungen in -A und -b, neu dazgekommen ist -j. Im Originaltext oben steht es schon drin.


{| class="wikitable"
{| class="wikitable"
Zeile 72: Zeile 78:
! Parameter!! Beschreibung
! Parameter!! Beschreibung
|-
|-
| A <meter>|| Höhengrenze in Metern für das Bakenintervall. Bei einer Sondenhöhe weniger als A Meter wird das alternative Bakenintervall -B benutzt. Wenn SRTM/EGM-Daten verfügbar sind, wir die Höhe über Grund berücksichtigt.<br />Diese Einstellung dient dazu in "geringen" Höhen ein schnelleres Bakenintervall zu ermöglichen um eine feinere und bessere Landevorhersage zu ermöglichen.<br />Beispiel: -A 1000
| A <meter>[:<meter>]|| Höhengrenzen in Metern für das Bakenintervall. Wenn SRTM/EGM-Daten verfügbar sind, wir die Höhe über Grund berücksichtigt.<br />Diese Einstellung dient dazu in "geringern" Höhen ein schnelleres Bakenintervall zu ermöglichen um eine feinere und bessere Landevorhersage zu ermöglichen.<br />Bei Nutzung von SRTM Daten wird hier die Höhe über Grund als Grundlage genommen.<br />Beispiel: -A 3000:2000:1000
|-
| a <lat> <long> <lat> <long> or <locator> <locator>|| Sende Baken nur für den Bereich (Rechteck) der durch die beiden Koordinatenpunkte begrenzt wird, gesehen von links unten nach rechts oben. Die Koordinatenpunkte können vertauscht werden um nur Pakete auerhalb dieses Rechtsecks zu versenden (invertiert).<br />Beispiel: -a JO50AA JO50XX  oder -a 50.0 10.5 50.5 11.5
|-
|-
| B <seconds>|| Bakenintervall in Sekunden bei einer Sondenhöhe von weniger als -A Metern.<br />Beispiel: -B 10
| B <seconds>[:<seconds>]|| Ist absolet geworden. Bitte -b nutzen.
|-
|-
| b <seconds>|| Bakenintervall in Sekunden bei einer Sondenhöhe von mehr als -A Metern.<br />Wert 0 = Keine Baken senden in großen Höhen. Macht dann Sinn wenn man nur Daten aus z.B. geringen Höhen übermitteln will um die Datensammlung bei der Landung zu unterstützen und es genug andere Stationen gibt die die Daten aus größeren Höhen übermitteln.<br />In größeren Höhen ist ein längeres Intervall möglich als bei -B, da weniger genaue Daten benötigt werden.<br />Beispiel: -b 20
| b <seconds>|| Bakenintervalle in Sekunden.<br />Erster Wert = Intervall bei Höhen über dem dem ersten Wert aus -A. Zweiter und weitere Werte werden entsprechend zwischen den weiteren Höhen. Je tiefer eine Sonde ist, umso öfter können Positionen gesendet werden.<br />Wert 0 = Keine Baken senden. Macht dann Sinn wenn man nur Daten aus z.B. geringen Höhen übermitteln will um die Datensammlung bei der Landung zu unterstützen und es genug andere Stationen gibt die die Daten aus größeren Höhen übermitteln.<br />Beispiel: -b 30:20:10:5
|-
|-
| C <filename>|| Schreibe dekodierte Daten im CSV-Format in die Datei <filename>.
| C <filename>|| Schreibe dekodierte Daten im CSV-Format in die Datei <filename>.
Zeile 82: Zeile 90:
| d|| DAO Erweiterung für auf 20cm genaue APRS Positionsgenauigkeit anstatt 18m Genauigkeit.  
| d|| DAO Erweiterung für auf 20cm genaue APRS Positionsgenauigkeit anstatt 18m Genauigkeit.  
|-
|-
| E <seconds>|| Stoppt das Senden von APRS-Baken wenn die GPS-Zeit zur Computer-Zeit mehr als E Sekunden abweicht.<br />Dies verhindert fehlerhafte Darstellung des Sondentracks auf der Karte. Wert 0 = Aus.<br />Beispiel: -E = 4
| E <seconds>|| Stoppt das Senden von APRS-Baken wenn die GPS-Zeit zur Computer-Zeit mehr als E Sekunden abweicht.<br />Dies verhindert fehlerhafte Darstellung des Sondentracks auf der Karte. Wert 0 = Aus.<br />Beispiel: -E 4
|-
|-
| F|| Trackfilter ausschalten (Niemals produktiv nutzen, nur zu Testzwecken und nur lokal!)<br>Sondemod hat einen eingebauten Trackfilter, der anhand der Sondenbewegung die zukünftige Position bestimmt. Wenn die nächste empfangene Position stark davon abweicht, wird die "falsche" Position verworfen. In der Kartendarstellung könnte nur eine fehlerhafte Position von vielen zu einer zerstörung des Tracks führen. Passieren kann dies beispielsweise bei folgenden Sondentypen: RS92, DFM oder C50.  
| F|| Trackfilter ausschalten (Niemals produktiv nutzen, nur zu Testzwecken und nur lokal!)<br>Sondemod hat einen eingebauten Trackfilter, der anhand der Sondenbewegung die zukünftige Position bestimmt. Wenn die nächste empfangene Position stark davon abweicht, wird die "falsche" Position verworfen. In der Kartendarstellung könnte nur eine fehlerhafte Position von vielen zu einer zerstörung des Tracks führen. Passieren kann dies beispielsweise bei folgenden Sondentypen: RS92, DFM oder C50.  
Zeile 92: Zeile 100:
| I <mycall>|| Absenderrufzeichen der APRS-Objekte, wenn das Rufzeichen nicht mit [[sondeudp]] mitgeschickt wird. Einsatz: Werden durch sondeudp keine Informationen zum Absendercall mitgesendet, setzt sondemod das in -I genannte Rufzeichen als Absender ein und füllt damit die "Lücke" auf.<br />Beispiel: -I OE0AAA
| I <mycall>|| Absenderrufzeichen der APRS-Objekte, wenn das Rufzeichen nicht mit [[sondeudp]] mitgeschickt wird. Einsatz: Werden durch sondeudp keine Informationen zum Absendercall mitgesendet, setzt sondemod das in -I genannte Rufzeichen als Absender ein und füllt damit die "Lücke" auf.<br />Beispiel: -I OE0AAA
|-
|-
| L <hex>=<typname>[,<hex>=<typname>]...|| Wenn es eine Abhängigkeit gibt, ordne die DFM-Typen den höchsten gefundenen 4 bit im Frame zu (im HEX-Format), assign DFM-Types to highest found first 4 bit
| j <Dateiname>|| Schreibe dekodierte Daten im LDJSON-Format in diese Datei oder Pipe.
                in frame (in hex) -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17
|-
| L <hex>=<typname>[,<hex>=<typname>]...|| Bestimmt den Typ und die Seriennummer von DFM Sonden anhand bestimmter Bits im Datenstrom (funktioniert mal mehr, mal weniger zuverlässig).<br>Beispiel: -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx
|-
|-
| M|| Übertrage die Sendefrequenz der Sonde im APRS-Paket, sofern diese nicht bereits in den Sondendaten enthalten sind, aus den SDR-Parametern plus die AFC. Ist nur empfehlenswert mit kalibrierten SDR-Empfängern. Dies kann fehlerhafte Frequenzen "durchsagen" aufgrund von auftretenden Spiegelfrequenzsignalen bei starken Sondensignalen.
| M|| Übertrage die Sendefrequenz der Sonde im APRS-Paket, sofern diese nicht bereits in den Sondendaten enthalten sind, aus den SDR-Parametern plus die AFC. Ist nur empfehlenswert mit kalibrierten SDR-Empfängern. Dies kann fehlerhafte Frequenzen "durchsagen" aufgrund von auftretenden Spiegelfrequenzsignalen bei starken Sondensignalen.
Zeile 105: Zeile 114:
| p <num>|| 0 sendet APRS-Baken sobald die Wetterdaten bereitstehen.<br />1 sendet APRS-Baken sobald die Frequenz bekannt ist.<br />if MHz known.<br />2 Sendet APRS-Baken sofort.<br />Standard = 1.
| p <num>|| 0 sendet APRS-Baken sobald die Wetterdaten bereitstehen.<br />1 sendet APRS-Baken sobald die Frequenz bekannt ist.<br />if MHz known.<br />2 Sendet APRS-Baken sofort.<br />Standard = 1.
|-
|-
| R <minutes>|| Fordert den Rinex Almanach nach x Minuten an wen GPS Koordinaten empfangen werden, z.B. -R 240. (Nur relevant für RS90 Sonden)<br />Für den Download muss das [[getalmd]]-Skript laufen.
| R <minutes>|| Fordert den Rinex Almanach nach x Minuten an, wenn GPS Koordinaten empfangen werden, z.B. -R 240. (Nur relevant für RS92 Sonden)<br />Für den Download muss das [[getalmd]]-Skript laufen.
|-
|-
| r <ip>:<port>|| Sende APRS-Pakete im AXUDP-Format an den UDP-Port <port> an die IP-Adresse <ip>. Ziele können beispielweise sein: [[udpbox]], [[udpgate4]] oder [[aprsmap]]. Mit [[udpbox]] kann der Datenstrom vervielfältigt werden für mehrfahce Nutzung. Beispiel: -r 127.0.0.1:9001
| r <ip>:<port>|| Sende APRS-Pakete im AXUDP-Format an den UDP-Port <port> an die IP-Adresse <ip>. Ziele können beispielweise sein: [[udpbox]], [[udpgate4]] oder [[aprsmap]]. Mit [[udpbox]] kann der Datenstrom vervielfältigt werden für mehrfahce Nutzung. Beispiel: -r 127.0.0.1:9001
|-
|-
| S <pathname>|| Gibt den Ordner an, in welchem sich die SRTM(1/3/30) Daten und die Datei WW15MGH.DAC (egm96-Geoid) befinden.<br>              Für die Berechnung der Höhe über Grund unterhalb der Schwelle -A <Höhe><br>Beispiele:<br>-S /home/pi<br>/home/pi/WW15MGH.DAC        (2076480Byte, deckt die ganze Welt ab)<br>/home/pi/srtm1/N48E014.hgt  (25934402Byte, nicht SRTM3!)<br>/home/pi/srtm1/N48E015.hgt
| S <pathname>|| Gibt den Ordner an, in welchem sich die SRTM(1/3/30) Daten und die Datei WW15MGH.DAC (egm96-Geoid) befinden.<br>              Für die Berechnung der Höhe über Grund unterhalb der Schwelle -A <Höhe><br>Beispiel: -S /home/pi<br>/home/pi/WW15MGH.DAC        (2076480Byte, deckt die ganze Welt ab)<br>/home/pi/srtm1/N48E014.hgt  (25934402Byte, nicht SRTM3!)<br>/home/pi/srtm1/N48E015.hgt
|-
|-
| s <filename>|| GPS Almanach im SEM Format (Nur relevant für RS90 Sonden).<br />Experimentell! Bitte nicht benutzen, da nicht exakt!
| s <filename>|| GPS Almanach im SEM Format (Nur relevant für RS92 Sonden).<br />Experimentell! Bitte nicht benutzen, da nicht exakt!
|-
|-
| T <minutes>|| Beende Aussendung von APRS-Paketen wenn der Almanach älter ist als T Minuten. (Nur relevant für RS90 Sonden)<br />Beispiel: -T 360
| T <minutes>|| Beende Aussendung von APRS-Paketen wenn der Almanach älter ist als T Minuten. (Nur relevant für RS92 Sonden)<br />Beispiel: -T 360
|-
|-
| t <filename>|| Hängt bestimmte Informationen in den Kommentartext des APRS-Paketes an (siehe auch [[sondecom.txt]]).
| t <filename>|| Hängt bestimmte Informationen in den Kommentartext des APRS-Paketes an (siehe auch [[sondecom.txt]]).
Zeile 140: Zeile 149:


== Beispiele ==
== Beispiele ==
<nowiki>
sondemod -o 18000 -I MYCALL-11 -r 127.0.0.0:9001 -b 30:20:10:5 -A 3000:2000:1000 -x /tmp/e.txt -T 360 -R 240 -d -p 2 -M -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx -t /home/pi/dxlAPRS/aprs/sondecom.txt -v</nowiki>
* sondemod hört auf Port 18000 auf Daten von [[sondeudp]] (-o 18000)
* Wenn Daten empfangen werden ohne Absenderrufzeichen, wird das eigene Call (MYCALL-11) als Absender dem Packet hinzugefügt.
* Sendet die erzeugten APRS Pakete in AXUDP an Port 9001 des gleichen Rechners -r 127.0.0.0:9001
* Bakenintervall = 30 Sekunden oberhalb 3000m, 20 Sekunden zwischen 3000m und 2000m, 10 Sekunden zwischen 2000m und 1000m und 5 Sekunden unterhalb von 1000m Sondenhöhe. Bei der Nutzung von SRTM Daten wird die Höhe über Grund zugrunde gelegt (siehe -A und -b).
* Pfad und Dateiname der Daten des GPS Almanach (-x /tmp/e.txt)
* Beende Aussendung von APRS-Paketen wenn der Almanach älter ist als 360 Minuten (-T 360)
* Fordert den Rinex Almanach nach 240 Minuten an, wenn GPS Koordinaten empfangen werden (-R 240)
* DAO Erweiterung für auf 20cm genaue APRS Positionsgenauigkeit (-d)
* Sendet APRS-Baken sofort (-p 2)
* Übertrage die Sendefrequenz der Sonde im APRS-Paket (-M)
* Bestimme DFM Typ und Seriennummer (-L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx)
* Informationen die im APRS Kommentartext mitgesendet werden sollen, befinden sich in dieser Datei (-t /home/pi/dxlAPRS/aprs/sondecom.txt)
* Zeige Informationen in der Bildschirmausgabe an (-v)

Aktuelle Version vom 11. September 2022, 18:07 Uhr

Über sondemod

sondemod ist das Gegenstück zu sondeudp. Es nimmt die dekodierten Daten von sondeudp entgegen und wertet sie aus. Mit den ausgewerteten Daten werden APRS-Datenpakete (APRS-Objekte) erzeugt und zur weiteren Verwendung im AXUDP Format weitergeleitet, z.B. an udpbox zum vervielfältigen oder an udpgate4 zur Weiterleitung an ein entferntes APRS-Gateway.

Kurzbeschreibung der Parameter

sondemod -h

sondemod 1.37 multichannel decoder RS92, RS41, SRS-C34/50, DFM, M10, iMET Radiosondes
 -A <meter>[:<meter>]   at lower altitude use -b beacon time (meter) -A 3000:1000:200
                  if SRTM/EGM-data available, Overground will be used
 -a <lat> <long> <lat> <long> or <locator> <locator> send beacons from inside leftdown
                  to rightup, swap corners to send only outside the rectangle
 -B <seconds>   obsolete, use -b <seconds>:<seconds>
 -b <seconds>[:<seconds>]...   minimum send intervall or 0 for never send -b 30:20:6:2
                  first for high altitude, next below (descending) altitudes as given in -A
 -C <filename>  write decoded data in csv-format to this file
 -d             dao extension for 20cm APRS resolution instead of 18m
 -E <seconds>   stop sending if more difference gps-time to computer-clock (0=off)
                  (-E 4) use to keep Tracks clean if system time is set to UTC
 -F             trackfilter off, DO NOT USE THIS SENDING TO THE WORLD!
 -G <km>        send only if Gound-distance to Sonde not more, 0=off (needs -P) (-G 15)
 -h             help
 -I <mycall>    Sender of Object Callsign -I OE0AAA if not sent by 'sondeudp'
 -j <filename>  write decoded data in ldjson-format to this file or pipe
 -L <hex>=<typname>[,<hex>=<typname>]...
                 IF there is a dependency, assign DFM-Subtype to highest first 4 bit in
                 serial number frame (in hex), FF=wildcard if nothing else fits
                 eg. -L 6=DFM06,7=PS-15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx
 -M             Send "MHz" in APRS (if not received in Data) from SDR-parameter +afc
                  do only with calibrated SDR, accept wrong data from alias receptions
 -N <meter>     my altitude over NN for Distance/Elevation to sonde output
 -o <UDPport>   receive demodulated data via UDP port from 'sondeudp -u ...'
 -P <lat> <long> or <locator>  my Position for Distance/Azimuth/Elevation
                 eg. -P JQ50AB12CD or -P 70.0506 10.0092
 -p <num>       0 send if weather data ready, 1 if MHz known, 2 send immediatly (1)
 -R <minutes>   request new rinex almanach after minutes if receiving gps (-R 240)
                use somewhat like 'getalmd'-script to download
 -r <ip>:<port> send AXUDP -r 127.0.0.1:9001 use udpgate4 or aprsmap as receiver
                  udp stream maybe duplicated with udpbox to more destinations
 -S <pathname>  directory with SRTM(1/3/30) Data and WW15MGH.DAC file (egm96-Geoid)
                  for Overground Calculation below -A <altitude>
                  example with: -S /home/pi
                  /home/pi/WW15MGH.DAC         (2076480Byte, covers whole World)
                  /home/pi/srtm1/N48E014.hgt  (25934402Byte, not SRTM3!)
                  /home/pi/srtm1/N48E015.hgt
 -s <filename>  gps almanach sem format (DO NOT USE, not exact)
 -T <minutes>   stop sending data after almanach age (-T 360)
 -t <filename>  append comment lines from this file at start of line eg "%f%d%v text..."
                  %A Azimuth from sonde-rx, (-P needed too)
                  %d rssi if received with sdrtst -e
                  %D Distance to sonde-rx, (-P -S needed too with EGM96)
                  %E Elevation to sonde, (-P -S needed too with EGM96)
                  %F same as "f" but send even if MHz got from sonde data
                  %f sdr freq+AFC from sdrtst with -e and not (yet) got MHz from sonde
                  %l label given in sondeudp -L eg. "omni" "west" "rx1"
                  %n frame number if available
                  %r hdil if available, gps horizontal noise in meter
                  %s gps sat count if available
                  %t tx power dBm
                  %u sonde uptime if available
                  %v sondemod version
                  # or empty line(s) for comment-free beacons
 -V             more verbous
 -v             verbous
 -x <filename>  gps almanach rinexnavigation format (prefered)
 -y <filename>  gps almanach yuma format (DO NOT USE, not exact)
example: sondemod -o 18000 -x almanach.txt -d -A 1500 -B 10 -I OE0AAA -r 127.0.0.1:9001

Ausführliche Beschreibung der Parameter

Update 21.01.2021: Änderungen aus Version 1.36g sind hier noch nicht eingearbeitet. Anpassungen in -A und -b, neu dazgekommen ist -j. Im Originaltext oben steht es schon drin.

Parameter Beschreibung
A <meter>[:<meter>] Höhengrenzen in Metern für das Bakenintervall. Wenn SRTM/EGM-Daten verfügbar sind, wir die Höhe über Grund berücksichtigt.
Diese Einstellung dient dazu in "geringern" Höhen ein schnelleres Bakenintervall zu ermöglichen um eine feinere und bessere Landevorhersage zu ermöglichen.
Bei Nutzung von SRTM Daten wird hier die Höhe über Grund als Grundlage genommen.
Beispiel: -A 3000:2000:1000
a <lat> <long> <lat> <long> or <locator> <locator> Sende Baken nur für den Bereich (Rechteck) der durch die beiden Koordinatenpunkte begrenzt wird, gesehen von links unten nach rechts oben. Die Koordinatenpunkte können vertauscht werden um nur Pakete auerhalb dieses Rechtsecks zu versenden (invertiert).
Beispiel: -a JO50AA JO50XX oder -a 50.0 10.5 50.5 11.5
B <seconds>[:<seconds>] Ist absolet geworden. Bitte -b nutzen.
b <seconds> Bakenintervalle in Sekunden.
Erster Wert = Intervall bei Höhen über dem dem ersten Wert aus -A. Zweiter und weitere Werte werden entsprechend zwischen den weiteren Höhen. Je tiefer eine Sonde ist, umso öfter können Positionen gesendet werden.
Wert 0 = Keine Baken senden. Macht dann Sinn wenn man nur Daten aus z.B. geringen Höhen übermitteln will um die Datensammlung bei der Landung zu unterstützen und es genug andere Stationen gibt die die Daten aus größeren Höhen übermitteln.
Beispiel: -b 30:20:10:5
C <filename> Schreibe dekodierte Daten im CSV-Format in die Datei <filename>.
d DAO Erweiterung für auf 20cm genaue APRS Positionsgenauigkeit anstatt 18m Genauigkeit.
E <seconds> Stoppt das Senden von APRS-Baken wenn die GPS-Zeit zur Computer-Zeit mehr als E Sekunden abweicht.
Dies verhindert fehlerhafte Darstellung des Sondentracks auf der Karte. Wert 0 = Aus.
Beispiel: -E 4
F Trackfilter ausschalten (Niemals produktiv nutzen, nur zu Testzwecken und nur lokal!)
Sondemod hat einen eingebauten Trackfilter, der anhand der Sondenbewegung die zukünftige Position bestimmt. Wenn die nächste empfangene Position stark davon abweicht, wird die "falsche" Position verworfen. In der Kartendarstellung könnte nur eine fehlerhafte Position von vielen zu einer zerstörung des Tracks führen. Passieren kann dies beispielsweise bei folgenden Sondentypen: RS92, DFM oder C50.
G <km> Sende APRS-Baken nur aus, wenn die (Boden-)Distanz zur Sonde nicht mehr als G Kilometer beträgt. 0 = AUS. Benötigt den Parameter -P zur Entfernungsberechnung. Beispiel: -G 15
h Kurze Übersicht der Parameter (help)
I <mycall> Absenderrufzeichen der APRS-Objekte, wenn das Rufzeichen nicht mit sondeudp mitgeschickt wird. Einsatz: Werden durch sondeudp keine Informationen zum Absendercall mitgesendet, setzt sondemod das in -I genannte Rufzeichen als Absender ein und füllt damit die "Lücke" auf.
Beispiel: -I OE0AAA
j <Dateiname> Schreibe dekodierte Daten im LDJSON-Format in diese Datei oder Pipe.
L <hex>=<typname>[,<hex>=<typname>]... Bestimmt den Typ und die Seriennummer von DFM Sonden anhand bestimmter Bits im Datenstrom (funktioniert mal mehr, mal weniger zuverlässig).
Beispiel: -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx
M Übertrage die Sendefrequenz der Sonde im APRS-Paket, sofern diese nicht bereits in den Sondendaten enthalten sind, aus den SDR-Parametern plus die AFC. Ist nur empfehlenswert mit kalibrierten SDR-Empfängern. Dies kann fehlerhafte Frequenzen "durchsagen" aufgrund von auftretenden Spiegelfrequenzsignalen bei starken Sondensignalen.
N <meter> Eigene Höhe über NN für die Berechnung von Entfernung und Elevation zur Sonde. Diese Informationen können im APRS-Paket mit ausgesendet werden (siehe auch sondecom.txt).
o <UDPport> Empfange demodulierte Sondendaten auf dem UDP-Port von sondeudp -u. Es können beliebig viele sondeudp-Instanzen Daten an einen sondemod übertragen.
Beispiel: -o 18000
P <lat> <long> or <locator> Eigene Position für die Berechnung von Distanz, Azimuth und Elevation zur Sonde. Diese Informationen können im APRS-Paket mit ausgesendet werden (siehe auch sondecom.txt).
Beispiel: -P JQ50AB12CD oder -P 70.0506 10.0092
p <num> 0 sendet APRS-Baken sobald die Wetterdaten bereitstehen.
1 sendet APRS-Baken sobald die Frequenz bekannt ist.
if MHz known.
2 Sendet APRS-Baken sofort.
Standard = 1.
R <minutes> Fordert den Rinex Almanach nach x Minuten an, wenn GPS Koordinaten empfangen werden, z.B. -R 240. (Nur relevant für RS92 Sonden)
Für den Download muss das getalmd-Skript laufen.
r <ip>:<port> Sende APRS-Pakete im AXUDP-Format an den UDP-Port <port> an die IP-Adresse <ip>. Ziele können beispielweise sein: udpbox, udpgate4 oder aprsmap. Mit udpbox kann der Datenstrom vervielfältigt werden für mehrfahce Nutzung. Beispiel: -r 127.0.0.1:9001
S <pathname> Gibt den Ordner an, in welchem sich die SRTM(1/3/30) Daten und die Datei WW15MGH.DAC (egm96-Geoid) befinden.
Für die Berechnung der Höhe über Grund unterhalb der Schwelle -A <Höhe>
Beispiel: -S /home/pi
/home/pi/WW15MGH.DAC (2076480Byte, deckt die ganze Welt ab)
/home/pi/srtm1/N48E014.hgt (25934402Byte, nicht SRTM3!)
/home/pi/srtm1/N48E015.hgt
s <filename> GPS Almanach im SEM Format (Nur relevant für RS92 Sonden).
Experimentell! Bitte nicht benutzen, da nicht exakt!
T <minutes> Beende Aussendung von APRS-Paketen wenn der Almanach älter ist als T Minuten. (Nur relevant für RS92 Sonden)
Beispiel: -T 360
t <filename> Hängt bestimmte Informationen in den Kommentartext des APRS-Paketes an (siehe auch sondecom.txt).


%A Azimuth from sonde-rx, (-P needed too)
%d rssi if received with sdrtst -e
%D Distance to sonde-rx, (-P -S needed too with EGM96)
%E Elevation to sonde, (-P -S needed too with EGM96)
%F same as "f" but send always
%f sdr freq+AFC from sdrtst with -e and not (yet) got MHz from sonde
%l label given in sondeudp -L eg. "omni" "west" "rx1"
%n frame number if avaliable
%r hdil if avaliable, gps horizontal noise in meter
%s gps sat count if avaliable
%u sonde uptime if avaliable
%v sondemod version
# or empty line(s) for comment-free beacons

V Zeige ausführliche Informationen am Bildschirm an.
v Zeige Informationen am Bildschirm an.
x <filename> GPS Almanach im rinexnavigation Format (bevorzugt!).
y <filename> GPS Almanach im yuma Format.
Experimentell! Bitte nicht benutzen, da nicht exakt!

Beispiele

sondemod -o 18000 -I MYCALL-11 -r 127.0.0.0:9001 -b 30:20:10:5 -A 3000:2000:1000 -x /tmp/e.txt -T 360 -R 240 -d -p 2 -M -L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx -t /home/pi/dxlAPRS/aprs/sondecom.txt -v
  • sondemod hört auf Port 18000 auf Daten von sondeudp (-o 18000)
  • Wenn Daten empfangen werden ohne Absenderrufzeichen, wird das eigene Call (MYCALL-11) als Absender dem Packet hinzugefügt.
  • Sendet die erzeugten APRS Pakete in AXUDP an Port 9001 des gleichen Rechners -r 127.0.0.0:9001
  • Bakenintervall = 30 Sekunden oberhalb 3000m, 20 Sekunden zwischen 3000m und 2000m, 10 Sekunden zwischen 2000m und 1000m und 5 Sekunden unterhalb von 1000m Sondenhöhe. Bei der Nutzung von SRTM Daten wird die Höhe über Grund zugrunde gelegt (siehe -A und -b).
  • Pfad und Dateiname der Daten des GPS Almanach (-x /tmp/e.txt)
  • Beende Aussendung von APRS-Paketen wenn der Almanach älter ist als 360 Minuten (-T 360)
  • Fordert den Rinex Almanach nach 240 Minuten an, wenn GPS Koordinaten empfangen werden (-R 240)
  • DAO Erweiterung für auf 20cm genaue APRS Positionsgenauigkeit (-d)
  • Sendet APRS-Baken sofort (-p 2)
  • Übertrage die Sendefrequenz der Sonde im APRS-Paket (-M)
  • Bestimme DFM Typ und Seriennummer (-L 6=DFM06,7=PS15,A=DFM09,B=DFM17,C=DFM09P,D=DFM17,FF=DFMx)
  • Informationen die im APRS Kommentartext mitgesendet werden sollen, befinden sich in dieser Datei (-t /home/pi/dxlAPRS/aprs/sondecom.txt)
  • Zeige Informationen in der Bildschirmausgabe an (-v)