AvNav Server Konfiguration
Einführung
Linux/Raspberry/Windows
Der AvNav server liest beim Start seine Konfiguration aus einer xml Datei avnav_server.xml.
Diese Datei befindet sich normalerweise unter /home/pi/avnav/data auf dem
Raspberry, sonst unter $HOME/avnav. Unter Windows im Nutzer-Profil im Ordner avnav.
mit den Einträgen in dieser Datei kann man das Verhalten des AvNav_Servers in weiten Teilen anpassen. Im Normalfall muss man diese Datei jedoch nicht direkt bearbeiten sonder kann innerhalb von AvNav die Server Konfiguration bearbeiten. Die Details zu den einzelnen Funktionseinheiten findet man unter Konfiguration Linux/Windows
Android
Unter Android wird die Konfiguration des AvNav Servers in den Nutzerdaten der App gespeichert. Diese kann man unter Android im Normalfall nicht sehen - daher steht hier nur die Anpassung der Konfiguration innerhalb von AvNav zur Verfügung. Prinzipiell hat der Server der Android Version weitgehend die gleichen Funktionen wie die anderen Versionen. Die Namen der einzelnen Funktionseinheiten unterscheiden sich aber teilweise. Die Details zu den Funktionseinheiten findet man unter Konfiguration Android.
Konfiguration innerhalb von AvNav
In AvNav kann in verschiedenen Bereichen das zugehörige Verhalten des Servers angepasst werden.
Server Einstellungen Routen
Falls der Server Tab nicht direkt sichtbar ist, erreicht man ihn durch den Button oder durch Wischen.
Im Server Bereich werden die für die jeweilige Funktion benötigten Server-Bestandteile (Handler) aufgelistet (im Beispiel: Router). Sofern man diesen Handler bearbeiten kann, ist der entsprechende Button vorhanden.
Dieser öffnet einen Dialog für die Einstellungen.
Bearbeiten eines Handlers
Die Parameter, die hier bearbeitet werden können, stimmen (unter Linux/Windows) mit den Eigenschaften diese Knotens in der avnav_server.xml Datei überein.
Wenn die Einstellungen mit gespeichert werden, werden sie sofort wirksam. Unter Linux/Raspberry/Windows werden sie in der avnav_server.xml gespeichert, unter Android in den Nutzerdaten.
Verbindungsseite
Alle ein- und ausgehenden (NMEA)-Verbindungen lassen sich über
->
konfigurieren. Auch neue Verbindungen können dort angelegt werden.Siehe dazu auch die Details zu Verbindungen.
Serverseite
Für eine Übersicht über alle Server-Funktionen kann man die Seite
->
nutzen.
Alle Servereinstellungen
Nach Aufruf werden hier zunächst nur die Funktionseinheiten (Handler) angezeigt, die nicht auf anderen Seiten sichtbar sind. Über werden alle angezeigt.
Über können neue Handler (die das unterstützen) hinzugefügt werden. Im Allgemeinen sind das Handler für neue Verbindungen.
Beschreibung der Funktionseinheiten (Linux/Windows)
Initiale Werte und Fehlerbehandlung
Wenn die Datei avnav_server.xml beim ersten Start noch nicht existiert, wird sie aus
einem Template erzeugt - passend für den Raspberry
oder andere
Systeme.
Dieses Template ist auf dem Raspberry Pi die Datei /etc/avnav_server.xml. Wenn diese nicht existiert,
wird eine Datei aus dem Paket als Template genutzt.
Falls AvNav von der Kommandozeile über das Kommando "avnav" gestartet
wird, kann mit der Option -t ein Template angegeben werden.
Bei Updates der AvNav Software wird diese Datei im Allgemeinen nicht geändert. Es kann aber sein, dass für neue Funktionen neue Einträge nötig werden. Dann wird in den Release Notes darauf hingewiesen.
Mit jedem erfolgreichen Start schreibt AvNav eine Kopie diese Datei mit der Endung .ok. Falls beim nächsten Start das Parsen der xml Datei fehlschlägt, liest er stattdessen die .ok Datei. Diese Funktion soll verhindern, dass nach einer Änderung, die AvNav in manchen Situation selbst vornimmt, der nächste Start ggf. scheitert.
Wenn AvNav nicht mehr starten kann wegen Fehler in der Konfiguration,
kann man die avnav_server.xml komplett entfernen und danach noch einmal
starten. AvNav startet dann wieder von einem "sauberen" Template.
Spezielle Werte
In den folgenden Beschreibungen wird in der Spalte "online" angezeigt, ob die Parameter direkt innerhalb von AvNav geändert werden können.
Falls Parameter geändert werden müssen, die nicht direkt bearbeitbar sind,
sollte das avnav-update-plugin genutzt werden, um die Datei direkt im Browser zu bearbeiten.
Das Plugin kann auf der -> erreicht werden.
Wenn man Änderungen an der avnav_server.xml direkt per Editor vornimmt, muss AvNav danach neu gestartet werden.
Wenn AvNav als Systemdienst läuft, macht man das mit dem Kommando
Es empfiehlt sich jedoch, nach einer Änderung AvNav zunächst einmal nur von der Kommandozeile zu starten, um zu sehen, ob es schwerwiegende Fehler gibt. Die Kommandofolge ist dann
Die Option -e verhindert, dass im Fehlerfall die avnav_server.xml.ok geladen wird. ^C bricht das laufende
AvNav wieder ab.
NMEA Filter
An verschiedenen Stellen können Filter angegeben werden, die beeinflussen welche NMEA Daten jeweils passieren können und welche nicht.
Hier können durch Komma getrennte NMEA-Nachrichten angegeben werden. Um sie unabhängig von Talker Ids zu machen, werden die 2 Zeichen nach einem $ nicht berücksichtigt. Ein Filter für $GPRMC sieht dann so aus: $RMC. Wenn dem Filter ein ^ vorangestellt wird, wird er negiert, also ^$RMC heisst: keine RMC records. AIS Daten kann man mit dem Filter "!" oder "!AIVDM" matchen.
Beispiele:
!- nur alle AIS Nachrichten^!- keine AIS Nachrichten$RMC,$RMB- RMC und RMB Records!,$RMC- alls AIS Nachrichten und RMC Records^$APB,^$RMB- keine APB und keine RMB Records
BlackList
Eine Blackliste enthält Namen von Input-Kanälen (Handlern), deren Daten an diesem Interface nicht ausgegeben werden sollen. Mehrere Einträge werden durch , getrennt.
Funktionseinheiten (Handler)
Innerhalb der Konfiguration sind Einträge für die einzelnen Handler enthalten.
Grundsätzlich gibt es 3 Kategorien von solchen Handlern:
- Anteile, die nur genau einmal auftreten dürfen, die aber unbedingt in
der
avnav_server.xmlstehen müssen - Anteile, die im Normalfall nicht in der
avnav_config.xmlstehen müssen, nur wenn etwas Spezielles konfiguriert werden soll
Beispiele: AVNAlarmHandler, AVNChartHandler,... - Anteile, die ein- oder mehrfach in der
avnav_server.xmlstehen können. Das sind insbesondere die Eingangs- und Ausgangskanäle. Wenn kein solcher Eintrag vorhanden ist, steht die Funktion nicht zur Verfügung.
Es gibt einige Eigenschaften, die an mehreren Bestandteilen auftauchen, für diese hier eine Erklärung.
| Name | Beschreibung | Beispiel |
|---|---|---|
| enabled | Viele Handler können auf der Server/Status Seite mit diesem Parameter ein- bzw. ausgeschaltet werdem | ein |
| name | Name eines Input oder Output Kanals. Dieser wird auf der Status-Seite angezeigt und kann auch im Parameter blackList für Filterungen genutzt werden | nmea0183tosignalk |
| filter | NMEA Filter | |
| readFilter | Für kombinierte Reader/Writer ein Filter für die Eingangsseite. Siehe filter | |
| blackList | Liste von Kanal-Namen, deren Daten nicht ausgesendet werden sollen. Schreibweise beachten (grosses L) | nmea0183tosignalk |
| priority (since 20220421) | Alle NMEA Input Kanäle haben ein priority Feld. Dieses beeinflusst, welcher Wert gewinnt, wenn die gleichen Werte von mehreren Kanälen dekodiert werden. Die default priority ist 50, sie kann nach oben und unten geändert werden. Die SignalK Integration hat die default Priority 40. | 50 |
Im Folgenden sind die wichtigsten Bestandteile mit ihren Parametern aufgeführt. Falls Parameter hier nicht beschrieben sind, aber ggf. in einem Template auftauchen, sollte sie so belassen werden, wie sie dort sind.
AVNConfig
Basis Konfiguration und Systemzeit, Kategorie 2 (1x,optional)
| Name | Online | Beschreibung | default/template |
|---|---|---|---|
| settimecmd | Ein Kommando, das aufgerufen wird, um die Systemzeit zu setzen. Der Parameter ist ein Zeitstempel in UTC so wie er für date -u benötigt wird. | nur gesetzt mit dem avnav-raspi Paket | |
| settime (ab 203304xx) | X | Wen ein, setze die Systemzeit (settimecmd muss ebenfalls gesetzt sein) | ein |
| maxtimeback | X | maximale Zeit, die die Systemzeit rückwärts gesetzt wird, bevor alle internen Daten gelöscht werden (s) | 5 |
| systimediff | X | maximale Zeitabweichung der Systemzeit von der gps-Zeit bevor die Systemzeit neu gesetzt wird (s) | 5 |
| settimeperiod | X | Zeit in s bevor die Systemzeit erneut gesetzt wird | 3600 |
| ntphost (ab 20220421) | X | Ein ntp server. Dieser wird befragt, wenn keine gültige GPS Zeit vorhanden ist und settime aktiv ist | pool.ntp.org |
| switchtime (ab 20220421) | X | Zeit(in s) die nach dem Setzen der Zeit mindestens gewartet wird, bevor von gps zu ntp oder zurück gewechselt wird. Diese Zeit wird auch nach dem Start auf eine gültige GPS Zeit gewartet wird | 60 |
| expiryTime | X | Zeit (in s) die empfangene NMEA Daten gültig bleiben | 30 |
AVNAisWorker
AIS Konfiguration, Kategorie 2 (1x, optional)
| Name | Online | Beschreibung | default/template |
|---|---|---|---|
| ownMMSI | X | MMSI des eigenen Bootes, diese wird aus den AIS Daten ausgefiltert | |
| aisExpiryTime | X | Zeit (in s) die empfangene AIS Daten gültig bleiben | 1200 |
AVNDecoder
Dekoder, Kategorie 2 (1x, optional)
| Name | Online | Beschreibung | default/template |
|---|---|---|---|
| decoderFilter | X | Filter für den Decoder |
AVNQueue
Die interne NMEA Warteschlange . category 2 (einmal, optional).
| Name | online | Description | default/template |
| maxList | X | max number of NMEA records in the queue | 300 |
| naxAge | X | max age in seconds an entry is kept in the queue. Older entries are discarded. This prevents slow outputs to send out data that is already very old. | 3 |
AVNHttpServer
Der interne HTTP server. Kategorie 2 (einmal, optional).
Die Parameter können nicht innerhalb von AvNav geändert werden. Neben den Parametern für AVNHttpServer gibt es einige Unter-Einträge, die sich mehrfach wiederholen können. Im Normalfall sollten hier aber keine Änderungen nötig sein (Directory,MimeType).
Ausser dem httpPort sollten normalerweise keine Änderungen erforderlich sein.
Parameter für AVNHttpServer
| Name | Beschreibung | default/template |
| httpPort | der Port, auf dem der HTTP Server Anfragen annimmt | 8080 |
| httpHost | Die Bind Adresse, man kann hier z.B. auf ein bestimmtes Netzwerk beschränken | 0.0.0.0 |
Parameter für Directory
Diese Werte werden meist durch den Aufruf (Parameter -u bei avnav) überschrieben und sollten nicht geändert werden.
| Name | Beschreibung | default/template |
| urlpath | die URL (ohne /) | |
| path | der reale Pfad auf dem System |
Parameter für MimeType
Hier werden mime types für Dateinamensendungen konfiguriert. Falls eine eigene Anwendung hier ggf. etwas spezielles benötigt, kann man das ergänzen.
| Name | Beschreibung | default/template |
| extension | Namens-Endung (z.B. .avt) | |
| type | Mime type (z.B. text/plain) |
AVNBlueToothReader
Lesen von Bluetooth Geräten mit seriellem Profil. Kategorie 3 (einmal
möglich, optional)
Nur möglich, wenn das Gerät ein Bluetooth Device hat.
| Name | online | Beschreibung | default/template |
| maxDevices | X | Anzahl der maximal gleichzeitig verbundenen Bluetooth Geräte | 5 |
| deviceList | X | Komma-separierte Liste von Bluetooth Geräte-Ids. Wenn gesetzt, werden nur diese Geräte verbunden. | |
| filter | X | filter für NMEA Daten | |
| name | X | ||
| enabled | X | ||
| priority | X |
AVNSerialReader
Lesen von seriellen Geräten. Kategorie 3 (mehrfach, optional). Dieser Reader sollte nur für direkt per Hardware (UART) verbundene Geräte genutzt werden, für Geräte, die per USB angeschlossen sind ist der AVNUsbSerialReader zuständig.
| Name | online | Beschreibung | default/template |
| name | X | Kanal Name für die Nutzung in blackList und für die Anzeige | intern gebildeter Name |
| port | X | Gerätename, z.B. /dev/ttyAMA0 | |
| baud | X | Baudrate. Wenn minBaud auch angegeben ist, die maximale Baudrate, die für das automatische Feststellen der Baudrate genutzt wird | 4800 |
| minbaud | X | Minimale Baudrate, die für eine automatische Erkenung genutzt wird. Wenn nicht gesetzt oder 0 - automatische Erkennung aus | |
| timeout | X | Timeout in s, nach dem das Gerät ohne Daten geschlossen und wieder geöffnet wird | 2 |
| bytesize | X | serielle Byte Größe | 8 |
| parity | X | Parity | N |
| stopbits | X | Anzahl der Stopbits | 1 |
| xonxoff | X | Nutzung xon/xoff Protokoll (0: aus) | 0 |
| rtscts | X | RTS/CTS Nutzung (0: aus) | 0 |
| numerrors | X | Anzahl der Fehler, nach der das Gerät geschlossen und neu geöffnet wird. | 20 |
| autobaudtime | X | Zeit in s, die versucht wird, ein Newline in den Daten zu erkennen (während der automatischen Baudraten-Erkennung) | 5 |
| filter | X | NMEA Filter, siehe filter | |
| enabled | X | ||
| priority | X |
AVNSerialWriter
Ausgang über ein serielles Gerät. Auch kombiniert Ein- und Ausgang.
Kategorie 3 (optional)
Nur für direkte serielle Geräte, nicht für USB-Wandler (AVNUsbSerialReader
für diese)
| Name | online | Beschreibung | default/template |
| name | X | channel name | |
| combined | X | wenn "true", dann gleichzeitig Eingang und Ausgang | false |
| readFilter | X | filter für die Eingangsrichtung. Der Parameter "filter" bezieht sich auf die Ausgangsrichtung! | |
| blackList | X | blackList, Komma getrennte Liste von Kanalnamen, deren Daten nicht ausgegeben werden sollen. | |
| .... | alle Parameter von AVNSerialReader |
AVNUsbSerialReader
Behandelt über USB angeschlossene serielle Geräte. Kategorie 3(einmal,
optional).
Dieser Worker sucht alle über USB verbundenen Geräte. Solche mit einem
seriellen Profil versucht er zu öffnen, automatische die Baudrate
einzustellen und dann NMEA Daten zu lesen. Damit werden solche Geräte
normalerweise komplett automatisch von AvNav erkannt.
Man kann für einzelne Geräte Regeln definieren, um sie speziell zu
behandeln. Als Identifikation für ein Gerät wird dabei eine ID genutzt,
die die enstprechende USB Buchse identifiziert. Mann kann diese ID am
einfachsten ermitteln, indem man bei Einstecken des Gerätes die Verbindungs Seite beobachtet.
Die Parameter gliedern sich in 2 Teile:
- Attribute für den Eintrag selbst
- Darunter liegende Einträge des Types UsbDevice
Beispiel
<AVNUsbSerialReader maxDevices="5" allowUnknown="true" baud="38400" minbaud="4800">
<UsbDevice usbid="1-1.2.1:1.0" baud="38400" minbaud="4800" filter="$RMC"/>
</AVNUsbSerialReader>
Parameter für AVNUsbSerialReader
| Name | online | Beschreibung | default/template |
| maxDevices | X | maximale Zahl von gleichzeitig verbundenen USB Geräten | 5 |
| allowUnknown | X | nur wenn dieser Eintrag auf "true" steht, werden Geräte eingebunden, die nicht explizit mit UsbDevice konfiguriert sind | true |
| ... | X | alle Parameter von AVNSerialReader bis auf port. Diese werden für nicht explizit konfigurierte Geräte gesetzt. |
Parameter für UsbDevice
| Name | online | Beschreibung | default/template |
| usbid | X | USB Port identifikation z.B. "1-1.2.1:1.0", erforderlich | |
| type | X | Type des Gerätes reader, writer, combined, ignore, setze ignore, wenn das Gerät nicht genutzt werden soll | reader |
| ... | alle Parameter von AVNSerialReader wenn der type = "reader" ist (bis auf port, dieser wird intern gesetzt) | ||
| ... | alle Parameter von AVNSerialWriterwenn der type combined oder writer ist (bis auf port, dieser wird intern gesetzt) |
AVNUdpReader
Öffnet einen UPD port und verarbeitet dort hereinkommende Daten. Kategorie 3(optional, mehrfach).
| Name | online | Beschreibung | default/template |
| name | X | Kanalname für die Nutzung in blackList und in der Anzeige | intern berechnet |
| port | X | UDP port | |
| host | X | Bind Adresse für den Port. Damit kann der Empfang z.B. auf localhost begrenzt werden. | 0.0.0.0 |
| minTime | X | wenn gesetzt: Wartezeit in s bevor ein weiterer Datensatz empfangen wird. Hiermit kann u.U. die Datenrate begrenzt werden. | 0 |
| filter | X | filter für NMEA Daten | |
| enabled | X | ||
| priority | X | ||
| stripLeading | X | Entferne alle Zeichen vor $ oder ! in einer Zeile. | aus |
| joinMulticast | X | Tritt einer Multicast Gruppe bei, das ermöglich den Empfang von Multicast Nachrichten. | aus |
| multicastAddr | X | Multicast Adresse. Damit wird der Empfang von Multicast Nachrichten auf dieser Adresse ermöglicht. | 224.0.0.1 |
AVNUdpWriter
Sendet NMEA Daten per UDP. Kategorie 3 (optional, mehrfach)
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| port | X | UDP Ziel port | 2000 |
| host | X | UDP Zieladresse | localhost |
| filter | X | filter NMEA Daten, die gesendet werden | |
| broadcast | X | muss auf true gesetzt werden, wenn die Daten als broadcast geschickt werden sollen | false |
| blackList | X | blackList für Kanalnamen, deren Daten nicht gesendet werden sollen | |
| enabled | X |
AVNSocketWriter
Ein Ausgang, der auf einem Port auf Verbindungen wartet und an diese die NMEA Daten ausgibt (TCP server). Kategorie 3 (mehrfach, optional).
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| port | X | der Listener Port | |
| address | X | wenn gesetzt, binde auf diese Adresse (sonst any: 0.0.0.0) | |
| filter | X | filter für NMEA Daten | |
| read | X | wenn true, werden auch Daten vom Socket gelesen | false |
| priority | X | nur wenn read aktiv ist | |
| readFilter | X | falls auch gelesen wird, NMEA filter für die Eingangsrichtung | |
| blackList | X | blackList durch Komma getrennte Liste von Kanalnamen, für die keine Daten ausgegeben werden | |
| minTime | X | minimale Zeit in s zwischen 2 gesendeten Nachrichten. Damit kann die Datenrate begrenzt werden. | 0 |
| avahiEnabled | X | wenn eingeschaltet, wird der Service über avahi als _nmea-0183._tcp bekannt gemacht | aus |
| avahiName | X | der Name für den avahi service | avnav-server |
| enabled | X | ||
| sendOwn | X | sende empfangene Daten auf der gleichen Verbindung | aus |
AVNSocketReader
Ein Eingang, der sich mit einem TCP Server verbindet und von dort Daten liest (TCP client). Kategorie 3 (mehrfach, optional)
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| port | X | TCP Port zu dem eine Verbindung aufgebaut wird | |
| host | X | TCP Zieladresse zu der eine Verbindung aufgebaut wird | |
| timeout | X | Verbindungs-timeout in s | 10 |
| minTime | X | Minimale Zeit zwischen 2 empfangenen Nachrichten | 0 |
| filter | X | filter für NMEA Daten | leer |
| writeOut | X | sende NMEA Daten auf dieser Verbindung | aus |
| writeFilter | X | Filter für gesendete NMEA Daten | leer |
| blackList | X | , separierte Liste von Source-Namen, deren Daten nicht gesendet werden | leer |
| enabled | X | ||
| priority | X | ||
| stripLeading | X | Entferne alle Zeichen vor $ oder ! in einer Zeile. | aus |
| sendOwn | X | sende empfangene Daten auf der gleichen Verbindung | aus |
AVNNmea0183ServiceReader
Dieser handler ist dem AVNSocketReader sehr ähnlich. Aber anstelle der Konfiguration von host und port wird hier der Name des Services konfiguriert. AvNav sucht im Netz nach (MDNS/Bonjour/Avahi) Services vom Typ_nmea-0183._tcp . Wenn der Eintrag über die Web Oberfläche erfolgt, bietet AvNav die Liste der gefundenen Services zur Auswahl an. MIt diesem Handler kann eine Verbindung auch dann wieder aufgebaut werden, wenn sich z.B. die IP Adressen ändern.
| Name | online | Description | default/template |
| serviceName | X | Der Name des Services (AvNav bietet eine Liste) | -- |
| timeout | X | Verbindungstimeout in Sekunden | 10 |
| minTime | X | minimale Zeit zwischen 2 empfangenen Nachrichten. | 0 |
| filter | X | Filter für NMEA Daten | leer |
| writeOut | X | sende NMEA Daten auf dieser Verbindung | aus |
| writeFilter | X | Filter für gesendete NMEA Daten | leer |
| blackList | X | , separierte Liste von Source-Namen, deren Daten nicht gesendet werden | leer |
| sendOwn | X | sende empfangene Daten auf der gleichen Verbindung | aus |
| name | X | ||
| priority | X | ||
| enabled | X |
AVNBME280Reader
Reader für BME280 per I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
Nur sichtbar, wenn python3-smbus installiert ist.
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| addr | X | I2C Adresse des Sensors | 0x77 |
| interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
| writeXdr | X | Schreibe XDR wenn true | true |
| writeMda | X | Schreibe MDA wenn true | true |
| namePress | X | XDR Transducer Name für Luftdruck | Barometer |
| offsetPress | X | addiere diesen Wert (in hPa) zum gemessenen Druck | 0 |
| nameHumid | X | XDR Transducer Name für Feuchtigkeit | Humidity |
| nameTemp | X | XDR transducer Name für Temperatur | TempAir |
| enabled | X | ||
| priority | X |
AVNBMB180Reader
Reader für BMP180 per I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| addr | X | I2C Adresse des Sensors | 0x77 |
| interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
| writeXdr | X | Schreibe XDR wenn true | true |
| writeMda | X | Schreibe MDA wenn true | true |
| namePress | X | XDR Transducer Name für Luftdruck | Barometer |
| offsetPress | X | addiere diesen Wert (in hPa) zum gemessenen Druck | 0 |
| nameTemp | X | XDR transducer Name für Temperatur | TempAir |
| enabled | X | ||
| priority | X |
AVNSenseHatReader
Reader für SenseHat I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
Erfordert python3-sense-hat
| Name | online | Beschreibung | default/template |
| name | X | Kanalname | intern berechnet |
| interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
| writeXdr | X | Schreibe XDR wenn true | true |
| writeMda | X | Schreibe MDA wenn true | true |
| namePress | X | XDR Transducer Name für Luftdruck | Barometer |
| offsetPress | X | addiere diesen Wert (in hPa) zum gemessenen Druck | 0 |
| nameHumid | X | XDR Transducer Name für Feuchtigkeit | Humidity |
| nameTemp | X | XDR transducer Name für Temperatur | TempAir |
| nameRoll (ab 20220421) | X | XDR transducer Name für Roll | Roll |
| namePitch (ab 20220421) | X | XDR transducer Name für Pitch | Pitch |
| enabled | X | ||
| priority | X |
AVNTrackWriter
Schreiben von Tracks im gpx Format und einem simplen ASCII Format. Kategorie 2 (einmal, optional)
| Name | online | Beschreibung | default/template |
| interval | X | minimaler Abstand in s zwischen dem Schreiben von 2 Einträgen | 10 |
| mindistance | X | minimaler Abstand in m zwischen 2 Track Punkten | 50 |
| trackdir | X | Verzeichnis für tracks | |
| cleanup | X | Maximale Länge des intern vorgehaltenen Tracks in Stunden. Trackdaten werden weiter in Dateien geschrieben, aber die App kann maximal diese Zeit (rückwärts) als Track bekommen. | 25 |
| writeFile | X | Schreibe eine Track Datei. Wenn ausgeschaltet Aufzeichnung nur im Speicher. | ein |
AVNRouter
Verwalten von Routing Daten (Wegpunkte, Routen, Ankeralarm). Berechnung der AP Daten. Kategorie 2 (einmal, optional).
| Name | online | Beschreibung | default/template |
| name | X | Kanalname (genutzt für AP Daten) | intern berechnet |
| routesdir | Verzeichnis für routen | ||
| interval | X | Intervall (in s) zwischen RMB Datensätzen | 5 |
| computeRMB | X | berechne einen RMB Datensatz wenn ein Wegpunkt aktiv ist | true |
| computeAPB | X | berechne einen APB Datensatz | false |
| useRhumbLine | X | benutze den rhumb line Modus für Routen | false |
| nextWpMode | X | Auswahl des Weiterschaltungs-Modus für den nächsten Wegepunkt in einer Route (late, 90, early) | late |
| nextWpTime | X | Die Wartezeit nach dem Wegepunktalarm (in Sekunden) bis zur Weiterschaltung zum nächsten Wegepunkt (nur nextWpMode = early) | 10 |
AVNNmeaLogger
Schreibt NMEA logs in das track Verzeichnis. Kategorie 3 (einmal, optional).
| Name | online | Beschreibung | default/template |
| maxfiles | X | Anzahl der Dateien (1 pro Tag), die aufgehoben werden | 100 |
| filter | X | filter für NMEA Daten | "$RMC,$DBT,$DBP" |
| interval | X | Minimale Zeit in s bevor ein Satz des gleichen Typs erneut geschrieben wird | 5 |
| enabled | X |
AVNImporter
Importiert Karten, die noch konvertiert werden müssen. Kategorie 2 (einmal, optional)
| Name | online | Beschreibung | default/template |
| filesettle | X | Zeit in s, die nach dem Finden einer Datei im Import-Verzeichnis gewartet wird, bevor der Konverter startet | 30 |
| dirsettle | X | Zeit in s, die nach dem Finden eines Verzeichnisses im Import-Verzeichnis gewartet wird, bevor der Konverter startet | 10 |
| scanInterval | Zeit (in s) zwischen 2 automatsichen Scans des Import Verzeichnisses. 0: kein automatischer Scan (aber ausgelöst beim Hochladen) | 0 | |
| enabled | X |
AVNWpaHandler
Konfiguration von externen WLAN Verbindungen - Raspberry. (Legacy: nicht für Versionen ab debian trixie). Kategorie 3 (einmalig, optional)
| Name | Beschreibung | default/template |
| wpaSocket | die Steuerverbindung zu wpa_supplicant | /var/run/wpa_supplicant/wlan-av1 |
| ownSsid | eigene SSIDs, diese werden ausgeblendet | avnav,avnav1,avnav2 |
| firewallCommand | wenn konfiguriert, kann damit der externe Zugriff über ein WLAN freigeschaltet werden | sudo -n $BASEDIR/../raspberry/iptables-ext.sh wlan-av1 |
AVNCommandHandler
Ausführen von Kommandos, u.a. für Alarme. Kategorie 2 (einmalig, nicht notwendig).
Der AVNCommandHandler selbst hat keine Parameter. Es können jedoch verschiedene Kommandos konfiguriert werden, die dann jeweils per Name angesprochen werden. Die default Konfiguration ist:
Parameter für Command
| Name | Beschreibung | default/template |
| name | Name des Kommandos | |
| command | Auszuführender Befehl | |
| repeat | Zahl der Wiederholungen | 1 |
AVNAlarmHandler
Management von Alarmen. Kategorie 2 (einmal, nicht notwendig).
Die default Konfiguration ist:
<AVNAlarmHandler>
<Alarm name="waypoint" category="info" repeat="1"/>
<Alarm name="connectionLost" category="info" repeat="1"/>
<Alarm name="anchor" category="critical" repeat="20000"/>
<Alarm name="gps" category="critical" repeat="20000"/>
<Alarm name="mob" category="critical" repeat="2"/>
</AVNAlarmHandler>
Ab der Version 20220421 sollten vorhandene Alarm-Einträge in
avnav_server.xml gelöscht werden, falls nicht ein spezielles Kommando dort
eingetragen werden soll.
Damit können die Sounds über die Sound Auswahl für die Kategorie definiert
werden.
Falls mit Alarmen spezielle Kommandos ausgelöst werden sollen, können
diese jedoch in der avnav_server.xml explizit gesetzt werden.
<AVNAlarmHandler>
<!-- legacy way of configuring alarms - still supported but not recommended, use category at least and optionally parameter -->
<Alarm name="gps" category="critical" command="gpsAlarm" parameter="$BASEDIR/../sounds/anchorAlarm.mp3" repeat="20000"/>
<!-- with the next line we configuer a special command that will be called when we receive a "sinking" notification from SignalK
the sound is determined by the category - and this is also the parameter that the command will receive -->
<Alarm name="sk:sinking" command="sinkingAlarm" category="critical" repeat="2"/>
</AVNAlarmHandler>
Parameter für Alarm
| Name | Beschreibung | default |
| name | Name des Alarms | leer, erforderlich |
| category | Kategorie (info,critical) | leer |
| command | Kommando, das ausgeführt werden soll (muss bei AVNCommandHandler konfiguriert sein) | leer |
| autoclean | Schalte den Alarm ab, wenn das Kommando beendet wurde | aus |
| sound | Der Name einer Sound Datei - wenn angegeben wird diese genutzt (relative Namen beziehen sich auf das interne Sound Verzeichins oder auf das user-Verzeichnis). Wenn nicht gesetzt, wird der sound aus der Kategorie ermittelt oder wenn nicht gesetzt aus dem 'parameter' | leer |
| repeat | Anzahl der Kommando (und sound) Wiederholungen | 1 |
| parameter | Falls angegeben wird dieser Parameter dem Kommando übergeben. Falls weder sound noch category gesetzt sind, wird der Name als der Pfad zu einer Sound-Datei interpretiert. |
Parameter für AlarmHandler
| Name | online | Beschreibung | default/template |
| infoSound | X | Name einer mp3 Datei für den Sound in der Kategorie info. Kann aus einer Liste von eingebauten sounds und Dateien im user-Verzeichnis gewählt werden (über Download Seite hochladbar) | waypointAlarm.mp3 |
| criticalSound | X | Name einer mp3 Datei für den Sound in der Kategorie critical. Kann aus einer Liste von eingebauten sounds und Dateien im user-Verzeichnis gewählt werden (über Download Seite hochladbar) | anchorAlarm.mp3 |
| defaultCommand | X | Kommando für Alarme die nicht explizit ein Komando definiert haben. Dieses Kommando muss beim AVNCommandHandler konfiguriert werden. | sound |
| stopAlarmPin | X | Nur auf Raspberry Pi. Wenn gesetzt (board Nummerierung), schaltet ein Low an diesem Pin Alarme aus. Ab Version 2025xxxx gibt es ein separates plugin "resetAlarm" und eine Konfiguration muss dort erfolgen. Eine vorhandene Einstellung wird bei der Installation migriert. | leer |
AVNPluginHandler
Management von plugins. Kategorie 2 (einmalig, optional).
Der AVNPluginHandler verwaltet Plugins, die in
verschiedenen Verzeichnissen installiert werden können. Es gibt 3
Verzeichnisse in denen Plugins gesucht werden:
- builtin: /usr/lib/avnav/server/plugins
- system: /user/lib/avnav/plugins
- user: $DATADIR/plugins
Neben den Parametern für den Plugin Handler selbst können die jeweiligen Plugins Parameter erwarten. Der Name für das Plugin ergibt sich dabei aus der Kategorie und dem plugin Verzeichnis. Beispiel:
<AVNPluginHandler>
<builtin-signalk enabled="true"/>
<builtin-canboat enabled="true" allowKeyOverwrite="true" autoSendRMC="30" sourceName="canboatgen"/>
</AVNPluginHandler>
Parameter für AVNPluginHandler
| Name | Beschreibung | default/template |
| builtinDir | Verzeichnis für eingebaute Plugins, nicht änderbar | /usr/lib/avnav/server/plugins |
| systemDir | Verzeichnis für Plugins, die als separate Pakete installiert werden | /usr/lib/avnav/plugins |
| userDir | Verzeichnis für Nutzer Plugins | $DATADIR/plugins |
Parameter für builtin-canboat
| Name | online | Beschreibung | default/template |
| enabled | X | Nur wenn auf true, ist das Plugin aktiv | aus |
| allowKeyOverride | X | Muss gesetzt werden, wenn Datum und Zeit von canboat gelesen werden sollen | aus |
| port | X | canboat json Port | 2598 |
| host | X | Host für den n2kd | localhost |
| autoSendRMC | X | falls für diese Zeit in Sekunden kein RMC im NMEA-Datenstrom gesehen wird, aber gültige Positionsdaten + Zeit von canboat vorhanden sind: sende RMC (ist wichtig für Datum/Zeit auf NMEA0183) | 0 (aus) |
| readPos | X | Lese die Position von PGN 129025 und cog/sog von PGN 129026 | ein |
| sourceName | X | Kanalname, der für RMC genutzt wird | plugin-Name |
| timeInterval | X | minimale Zeit zwischen 2 NMEA2000 Zeit Werten, bevor diese gespeichert werden (Sekunden) | 0.5 |
| timePGNs | X | PGNs, die für das Setzen der Zeit genutzt werden | 126992,129029 |
Parameter für system-resetAlarm (nur mit dem Paket avnav-raspi-base)
| Name | online | Beschreibung | default |
| gpio | X | GPIO pin (Bord Nummerierung) an dem ein Taster zum Rücksetzen von Alarmen angeschlossen ist | -- |
| lowActive | X | Wenn gesetzt ist der Eingang L-aktiv, d.h. die Alarme werden mit einem L an diesem Eingang zurück gesetzt | true |
| pullUpDown | X | Wenn gesetzt wird für den Eingang ein pull-up bzw. pull-down Widerstand aktiviert, so dass nur ein externer Taster angeschlossen werden muss. | true |
AVNChartHandler
Verwaltung der Karten. Kategorie 2 (einmal, muss nicht enthalten sein)
| Name | Beschreibung | default/template |
| period | Zeitintervall zwischen 2 Lesevorgängen für das Kartenverzeichnis (Sekunden) | 30 |
| upzoom | Anzahl von zoom Stufen über der höchsten vorhandenen Stufe | 2 |
AVNUserHandler
Verwaltung der Nutzer-Dateien. Kategorie 2 (einmal, muss nicht enthalten sein)
| Name | Beschreibung | default/template |
| interval | Zeitintervall zwischen 2 Lesevorgängen für das Verzeichnis (Sekunden) | 5 |
AVNImagesHandler
Verwaltung der Nutzer-Images. Kategorie 2 (einmal, muss nicht enthalten sein)
| Name | Beschreibung | default/template |
| interval | Zeitintervall zwischen 2 Lesevorgängen für das Verzeichnis (Sekunden) | 5 |
AVNUserAppHandler
Verwaltung der konfigurierten UserApps. Kategorie 2 (einmal, muss nicht enthalten sein)
Dieser Handler ist etwas speziell. Initial sind hier keine Konfigurationen zu finden, über die WebApp können aber Konfigurationen angelegt werden. Eine händische Änderung ist nicht empfohlen.
AVNAvahiHandler
Steuert die Registrierung von AvNav bei Avahi(MDNS/Bonjour).
| Name | online | Beschreibung | default/template |
| serviceName | X | Der Name der in Tools sichtbar wird. Das ist nicht der Host Name, den man z.B. in avnav.local benutzt! | avnav |
| maxRetries | X | Wie viele Wiederholungen macht AvNav, wenn der gewählte Name bereits vergeben ist. Wiederholungen hängen ein "-nn" suffix an den Namen an. | 20 |
| timout | X | Timeout bei der Verbindung mit dem avahi daemon (s) | 10 |
| enabled | X |
AVNSignalKHandler
Für eine Beschreibung siehe die SignalK Dokumentation.
Beschreibung der Funktionseinheiten (Android)
Einige Parameter tauchen bei mehreren Handlern auf:
| Name | Beschreibung | default |
| enabled | aktviert/deaktiviert diesen Handler | je nach Handler |
| name | Name für den Handler. Dieser kann in Blacklists verwendet werden. | leer |
| port | TCP- oder UDP-Port | |
| filter/readerFilter/ sendFilter | Das ist ein NMEA-Filter. Hier kann definiert werden, welche NMEA-Daten durchgelassen werden sollen. Mehrere Filter werden durch ein Komma (,) getrennt. Für Datensätze, die mit dem Dollarzeichen ($) beginnen, werden die nächsten beiden Zeichen ignoriert (die Talker-Id). Ein Filter für alle RMC-Sätze sieht z.B. so aus: $RMC Ausschließlich für alle AIS-Daten: ! Alle RMC- und RMB-Sätze: $RMC,$RMB Falls der Filter negiert werden soll, muss ein ^ dem Ausdruck vorangestellt werden. ^$RMB,^$APB | leer |
| blacklist | eine durch Kommas (,) getrennte Liste von Namen. NMEA-Daten von diesen Quellen werden nicht ausgesendet. | |
| priority | Falls dieser Handler Daten liest (oder erzeugt), werden sie vom Dekoder potenziell gelesen und in den internen Speicher von AvNav geschrieben. Falls mehrere Handler die gleichen Daten liefern (z.B. Position), muss entschieden werden, welche davon in den internen Speicher geschrieben werden sollen. Dazu wird diese Einstellung genutzt. Daten mit höherer Priorität gewinnen. | |
| queueAge | AvNav hat eine interne Warteschlage (queue), die empfangene Daten aufnimmt und an die Ausgänge weiterreicht. Wenn ein Ausgang zu langsam ist, kann er potenziell nicht alle einlaufenden Daten sofort weiterleiten und diese verbleiben längere Zeit in der Warteschlange. Wenn die Daten älter sind als die hier eingestellte Zeit (in ms), werden sie aus der Warteschlange gelöscht. | 3000 |
Die vorhandenen "Handler" und ihre Parameter. Es werden nur die spezifischen Parameter beschrieben.
Decoder
| Parameter | Beschreibung | default |
|---|---|---|
| ownMMSI | eigene MMSI, diese wird in der AIS-Anzeige ausgeblendet | leer |
| posAge | erlaubtes Alter für die GPS-Position (in sec), nach dieser Zeit wird der Eintrag gelöscht, wenn keine neuen GPS-Daten empfangen wurden | 10 |
| nmeaAge | erlaubtes Alter für NMEA-Daten (in sec), die keine Positionsdaten enthalten | 600 |
| aisAge | erlaubtes Alter für AIS-Daten (in sec) | 1200 |
Route
| Parameter | Beschreibung | default |
|---|---|---|
| computeRMB | erzeuge NMEA-RMB-Datensätze, wenn ein Routing aktiv ist. | an |
| computeAPB | rezeuge NMEA-APB Datensätze, wenn ein Routing aktiv ist | an |
| useRhumbLine | setze den Routing Mode auf rhumbLine | aus |
| nextWpMode | setze den Modus zum Wegepunkt Weiterschalten - late/early/90 | late |
| nextWpTime | im Modus "early" die Zeit (in s) nach dem Wegepunkt-Alarm bis zum Weiterschalten auf den nächsten Wegepunkt | 10 |
Track
| Parameter | Beschreibung | default |
|---|---|---|
| interval | Intervall (in sec) für das Schreiben des Tracks als "gpx"-Datei. | 300 |
| distance | Minimaler Abstand (in m), bevor ein neuer Trackpunkt geschrieben wird | 25 |
| minTime | Minimale Zeit (in sec), bevor ein neuer Trackpunkt geschrieben wird | 10 |
| length | Länge des angezeigten Tracks in Stunden (h). | 25 |
Logger
NMEA-Logger
WebServer
| Parameter | Beschreibung | default |
|---|---|---|
| port | der TCP-Port, auf dem der Server Verbindungen annimmt. | 8080 |
| external | Wenn aktiv, dann können sich auch andere Geräte verbinden (sonst nur auf dem eigenen Gerät). Hinweis: Dieser Parameter sollte mit Vorsicht und nur in vetrauenswürdigen Netzen aktiviert werden. Innerhalb der App gibt es keinen weiteren Schutz! | aus |
| mdnsEnabled | macht den Service per "mDNS" (Bonjour) bekannt. | an |
| mdnsService | Der Name, unter dem die App per mDNS/Bonjour erreichbar ist. | avnav-android |
InternalGPS
Das GPS des Gerätes.
MDNSResolver
Der Handler für die Auflösung und das Bekanntmachen von "mDNS" (Bonjour/Avahi) Services.
Remote Channel
Der Handler für die Fernsteuerung .
TcpReader
| Parameter | Beschreibung | default |
|---|---|---|
| ipAddress | Die IP-Adresse oder der Hostname für den Server, der kontaktiert werden soll. Das kann auch ein mDNS Name wie z.B. avnav.local sein. | --- |
| port | Der Ip-Port, zu dem eine Verbindung aufgebaut werden soll. | --- |
| sendOut | Wenn aktiviert, werden auch NMEA-Daten gesendet. Ansonsten wird nur emfangen. | aus |
| readTimeout | Markiere die Verbindung als inaktiv, wenn keine Daten nach der eingestellten Zeit (sec) eingegangen sind. | 10 |
| writeTimeout | Schließe die Verbindung, wenn ein NMEA-Datensatz nicht innerhalb der eingestellten Zeit (sec) geschrieben werden konnte. | 5 |
| connectTimeout | Timeout für den Verbindungsaufbau (in sec, 0 = System-default) | 0 |
| closeOnTimeout | Schließe die Verbindung und öffne sie erneut, wenn das readTimeout erreicht wird. | an |
| stripLeading | entfernt alle Zeichen in einer empfangenen Zeile vor einem ! oder $ | aus |
TcpWriter
Ein TCPWriter stellt die NMEA-Daten für andere Anwendungen bereit.
| Parameter | Beschreibung | default |
|---|---|---|
| port | Der Port, auf dem der Server Verbindungen annimmt | --- |
| externalAccess | Wenn aktiv, können sich auch andere Geräte verbinden. Andernfalls können sich nur Apps auf dem selben Gerät verbinden. | aus |
| writeTimeout | Schließe die Verbindung, wenn ein NMEA-Datensatz nicht innerhalb der eingestellten Zeit (sec) geschrieben werden konnte. | 5 |
| readData | Wenn aktiv, empfängt AvNav auch NMEA-Daten über eine aufgebaute Verbindung | aus |
| stripLeading | entfernt alle Zeichen in einer empfangenen Zeile vor einem ! oder $ (nur wenn readData aktiv ist) | aus |
| sendOwn | Sende Daten, die auf der gleichen Verbindung empfangen wurden (nur sichtbar, wenn readData an ist). Normalerweise sollte man das nicht einschalten, weil man sonst sehr leicht Schleifen erzeugen kann. | an |
| mdnsEnabled | mache den Service per mDNS im Netz bekannt (type: _nmea-0183._tcp) | aus |
| mdnsService | Der Name, unter dem dieser Server per mDNS erreichbar ist |
UdpReader
Ein UDP-Reader empfängt Daten von anderen Apps/Systemen.
| Parameter | Beschreibung | default |
|---|---|---|
| port | der UDP-Port, auf dem Daten empfangen werden | --- |
| externalAccess | wenn aktiv, können Daten von anderen Geräten empfangen werden, sonst nur innerhalb des selben Gerätes. | aus |
| readTimeout | zeige die Verbindung als inaktiv, wenn für die eingestellte Zeit (sec) keine Daten empfangen wurden. | 10 |
| stripLeading | entfernt alle Zeichen in einer empfangenen Zeile vor einem ! oder $ | aus |
Wichtiger Hinweis: Aufgrund von Einschränkungen des Android Systems können UDP Nachrichten an eine Broadcast-Adresse nicht empfangen werden, wenn das Gerät in den Standby-Modus (Bildschirm aus) geht. Nachrichten direkt an die IP Adresse des Gerätes werden auch im Standby weiterhin empfangen. Falls also solche Broadcast UDP Sender genutzt werden sollen, muss des Gerät aktiv bleiben. Man kann aber den Dim Button in AvNav nutzen um die Hintergrundbeleuchtung zu dimmen und den Stromverbrauch zu reduzieren. Siehe auch das GitHub Issue #510.
UdpWriter
Ein UDP-Writer sendet NMEA-Daten per UDP an eine andere App.
| Parameter | Beschreibung | default |
|---|---|---|
| ipaddress | die IP-Adresse oder der Hostname des Ziel-Computers. Es kann auch ein mDNS-Name wie "avnav.local" genutzt werden. | --- |
| port | Der Ziel-Port , an den Daten gesendet werden sollen | --- |
| broadcast | Sende die Daten als Broadcast, die IP-Adresse muss dann eine gültige Broadcast-Adresse sein. | aus |
NMEA0183Service
Ein NMEA0183-Service arbeitet im Wesentlichen wie ein TcpReader.
Allerdings werden hier nicht Zieladresse und Port vorgegeben. Stattdessen
wird der Name eines (mDNS) Services (type: _nmea-0183._tcp) aus einer
Liste der verfügbaren Services gewählt. Falls z.B. im Netz ein
SignalK-Server oder ein AvNav-Server (> 20210415) vorhanden sind, geben
diese ihre NMEA-Ausgänge auf diese Weise im Netzwerk bekannt.
Der Vorteil ist, dass auch bei Wechsel des Netzwerkes der Zugriff im
Normalfall wieder funktionieren wird und Verbindungen so automatisch
wieder aufgebaut werden können.
| Parameter | Beschreibung | default |
|---|---|---|
| service | der Name des Service (Auswahl aus der Liste der gefundenen) | --- |
| sendOut | sende NMEA-Daten auf dieser Verbindung | |
| readTimeout | Markiere die Verbindung als inaktiv, wenn keine Daten nach der eingestellten Zeit (sec) aufgelaufen sind. | 10 |
| writeTimeout | Schließe die Verbindung, wenn ein Satz nicht innerhalb der eingestellten Zeit (sec) geschrieben werden konnte | 5 |
| connectTimeout | Timeout für den Verbindungsaufbau (in sec, 0 = System-default) | 0 |
| closeOnTimeout | Schließe die Verbindung und öffne sie erneut, wenn das readTimeout erreicht wird. | an |
UsbConnection
AvNav wird aktiv, wenn ein USB-Gerät angeschlossen wird (wenn man das in den Einstellungen aktiviert hat). Es ist daher sinnvoll, zunächst AvNav zu starten und danach das USB-Gerät anzuschließen. Das Gerät kann dann direkt so konfiguriert werden, dass AvNav immer auf dieses Gerät zugreifen darf. AvNav startet dann sofort den Dialog zur Konfiguration des Gerätes.
| Parameter | Beschreibung | default |
|---|---|---|
| device | Das angeschlossene USB-Gerät, genauer: der Anschluss des Gerätes, Auswahl aus einer Liste | --- |
| baud rate | Die Baudrate | 9600 |
| flowControl | none | xon/xoff |
| sendOut | sende NMEA-Daten auf dieser Verbindung | aus |
| readTimeout | Markiere die Verbindung als inaktiv, wenn keine Daten nach der eingestellten Zeit (sec) aufgelaufen sind. | 10 |
Bluetooth
Zum Verbinden z.B. mit einem Bluetooth-GPS. Das Gerät muss zunächst über die Bluetooth-Einstellungen des Android-Geräts verbunden werden ("pairen").
| Parameter | Beschreibung | default |
|---|---|---|
| device | Das Bluetooth-Gerät. Bei der Einrichtung werden alle Geräte angeboten, die bereits bekannt sind, erst danach wird versucht, das Gerät zu erreichen. | --- |
| sendOut | sende NMEA-Daten auf dieser Verbindung | aus |
| readTimeout | Markiere die Verbindung als inaktiv, wenn keine Daten nach der eingestellten Zeit (sec) aufgelaufen sind. | 10 |


