- OpenCPN-Handbuch 2.3
- Erste Schritte
- Fenster
- Programmfenster
- Symbolleiste
- Hinein-/ Herauszoomen
- Karte mit größerem/ kleinerem Maßstab
- Route erstellen
- Schiff zentrieren
- Einstellungen
- ENC Texte anzeigen
- AIS-Ziele anzeigen
- Gezeitenströme anzeigen
- Tiden-Referenzorte anzeigen
- Karte drucken
- GPX-Datei im-/ exportieren
- Tracking an-/ ausschalten
- GRIB-Fenster anzeigen
- Farbschema wechseln
- MüB Markierung setzen
- Über OpenCPN (Hilfe)
- Kartenausrichtung und GPS Empfang
- Kartenfenster
- Seekartenleiste
- Statusleiste
- Symbolleiste
- Einstellungen
- Routenmanager
- Programmfenster
- NMEA Datensätze
- FAQ
- Lizenz und Autoren
- Deutsche Hilfeseite zum Einbinden in OpenCPN
- Entwickler-Handbuch
- Elektronische Seekarten selbst erstellen
NMEA Datensätze
NMEA (National Marine Electronics Association), eine US Vereinigung von maritimen Elektronik-Herstellern, hat in 1983 einen Standard (NMEA 0183) zur Datenübertragung von maritimen Elektronik-Geräten geschaffen, der recht simpel eine serielle Übertragung mit 4800 Baud (8N1) erlaubt. Obwohl inzwischen hoffnungslos veraltet und ersetzt durch NMEA 2000, basierend auf dem schnellen CAN Bus, wird NMEA 0183 wegen seiner weiten Verbreitung heute immer noch benutzt. Da NMEA 0183 ein sehr einfaches Daten-Übertragungsverfahren ist, wird häufig der Einsatz eines Multiplexers erforderlich, wenn Daten verschiedener Geräte zusammengeführt werden müssen.
NMEA 0183 Daten bestehen aus Datensätzen mit maximal 80 Zeichen Länge plus abschließendem Zeilenende (CR und LF Zeichen). Jeder Datensatz beginnt mit dem Dollarzeichen ($), gefolgt von zwei Buchstaben zur Gerätekennzeichnung (z.B. GP für GPS Gerät) und drei Buchstaben für den Informationstyp. Beispiele für Gerätetypen sind:
- $AIxxx - AIS Gerät
- $APxxx oder $AGxxx - Autopilot
- $GPxxx - GPS Gerät
- $RAxxx - Radar Gerät
- $SDxxx - Echolot
usw.
xxx steht für den Informationstyp, z.B. RMC (Recommended Minimum Sentence) für die minimal zur Verfügung zu stellenden Daten. Ein $GPRMC GPS-Datensatz sieht z.B. so aus:
$GPRMC,193508.524,A,5229.7782,N,00950.0202,E,0.00,0.00,250211,,*17\x0d\x0a
Die einzelnen Felder des Datensatzes sind durch Kommata getrennt. Nach dem einleitendem Kopf $GPRMC
kommen im Beispiel oben:
193508.524 - die Zeit in UTC (19:35:08.524 Uhr)
A - für Aktiv (oder V für ungültig)
5229.7782 - die Breite (52 Grad, 29.7782 Minuten)
N - Nord (oder S der Breite)
00950.0202 - die Länge (09 Grad, 50.0202 Minuten)
E - Ost (oder W der Länge)
0.00 - Geschwindigkeit über Grund in Knoten
0.00 - Kurs über Grund in Grad bezogen auf rechtweisend Nord
250211 - Datum 25.02.11
hier leeres Feld - magnetische Abweichung in Grad 0.0
hier leeres Feld - Vorzeichen der Abweichung (E oder W)
Dann folgt ohne Komma die Prüfsumme 17 der Daten mit vorangestelltem Stern und als Abschluß
die Zeilenende Zeichen CR und LF hier als hexadezimal \x0d und \x0a.
Obiges Beispiel zeigt auch Unzulänglichkeiten von NMEA 0183: Die Jahreszahl wurde nur zweistellig festgelegt, obwohl man 1983 schon wissen sollte, daß bald das Jahr 2000 kommen würde mit den sich daraus ergebenen Problemen. Es gibt noch sehr viel weitere Fehler in der Norm, die Programmierern das Leben schwer machen.
Wurde in OpenCPN in den Einstellungen bei GPS der Haken gesetzt bei "Fenster mit GPS-/NMEA-Daten anzeigen", können in diesem Fenster die eingehenden NMEA Datensätze verfolgt werden. Ein GPS Gerät sollte außer $GPRMC auch noch weitere Informationstypen senden:
$GPGGA - Global Positioning System Fix Data (Zeit, Position, Höhe)
$GPGLL - Geographic Position, Latitude/Longitude (Breite, Länge)
$GPGSA - GPS DoP (Dilution of Precision) und aktive Satelliten
$GPGSV - GPS Satellites in View (sichtbare Satelliten)
$GPVTG - Track Made Good and Ground Speed (Kurs und Geschwindigkeit über Grund)
Oftmals kann man GPS Geräte konfigurieren, welche Datensätze wie oft gesendet werden sollen.

Ferner läßt sich eventuell einstellen, ob Daten von Satelliten, die sich nahe am Horizont befinden und somit ungenaue Daten senden können, verworfen werden sollen. Die gilt auch für die einzelnen Genauigkeiten (PDOP, HDOP und GDOP).
Eine weitere Maßnahme zur Steigerung der Genauigkeit eines GPS Empfängers wäre die Aktivierung des sogenannten SBAS (Satellite Based Augmentation System), falls der Empfänger darüber verfügt. Damit werden die Korrektur-Signale von speziellen Satelliten empfangen, die es allerdings nur für einige Gebiete gibt:
* WAAS für Nordamerika (in Betrieb)
* EGNOS für Europa (in Betrieb)
* MSAS für Japan (in Betrieb)
* GAGAN für Indien (geplant)
Mit meinem GPS Empfänger wurde damit eine Steigerung der Genauigkeit von durchschnittlich etwa +/- 15 Meter auf etwa +/- 3 Meter möglich.
Wie oben gezeigt, werden NMEA 0183 Daten im lesbaren ASCII-Format übertragen. GPS Empfänger können jedoch auch für das sog. SiRF Daten-Format eingestellt sein und sind dann für OpenCPN nicht verwendbar, da SiRF ein binäres Daten-Format ist.
Weiterführende Informationen über NMEA 0183 und NMEA 2000 liefert natürlich das Internet.
Zum Schluß noch ein Wort zu NMEA 2000:
So schön dieser neue Standard ist (es gibt ihn auch in Abwandlungen mit Hersteller-Bezeichnungen wie z.B. Seatalk), so teuer ist er leider auch. Nicht nur die entsprechenden Geräte haben ihren Preis, es muß auch daran gedacht werden, daß unsere Computer kein CAN Protokoll verstehen und daher auch noch ein benötigter Umwandler zu Buche schlägt.
NMEA 0183 Daten bestehen aus Datensätzen mit maximal 80 Zeichen Länge plus abschließendem Zeilenende (CR und LF Zeichen). Jeder Datensatz beginnt mit dem Dollarzeichen ($), gefolgt von zwei Buchstaben zur Gerätekennzeichnung (z.B. GP für GPS Gerät) und drei Buchstaben für den Informationstyp. Beispiele für Gerätetypen sind:
- $AIxxx - AIS Gerät
- $APxxx oder $AGxxx - Autopilot
- $GPxxx - GPS Gerät
- $RAxxx - Radar Gerät
- $SDxxx - Echolot
usw.
xxx steht für den Informationstyp, z.B. RMC (Recommended Minimum Sentence) für die minimal zur Verfügung zu stellenden Daten. Ein $GPRMC GPS-Datensatz sieht z.B. so aus:
$GPRMC,193508.524,A,5229.7782,N,00950.0202,E,0.00,0.00,250211,,*17\x0d\x0a
Die einzelnen Felder des Datensatzes sind durch Kommata getrennt. Nach dem einleitendem Kopf $GPRMC
kommen im Beispiel oben:
193508.524 - die Zeit in UTC (19:35:08.524 Uhr)
A - für Aktiv (oder V für ungültig)
5229.7782 - die Breite (52 Grad, 29.7782 Minuten)
N - Nord (oder S der Breite)
00950.0202 - die Länge (09 Grad, 50.0202 Minuten)
E - Ost (oder W der Länge)
0.00 - Geschwindigkeit über Grund in Knoten
0.00 - Kurs über Grund in Grad bezogen auf rechtweisend Nord
250211 - Datum 25.02.11
hier leeres Feld - magnetische Abweichung in Grad 0.0
hier leeres Feld - Vorzeichen der Abweichung (E oder W)
Dann folgt ohne Komma die Prüfsumme 17 der Daten mit vorangestelltem Stern und als Abschluß
die Zeilenende Zeichen CR und LF hier als hexadezimal \x0d und \x0a.
Obiges Beispiel zeigt auch Unzulänglichkeiten von NMEA 0183: Die Jahreszahl wurde nur zweistellig festgelegt, obwohl man 1983 schon wissen sollte, daß bald das Jahr 2000 kommen würde mit den sich daraus ergebenen Problemen. Es gibt noch sehr viel weitere Fehler in der Norm, die Programmierern das Leben schwer machen.
Wurde in OpenCPN in den Einstellungen bei GPS der Haken gesetzt bei "Fenster mit GPS-/NMEA-Daten anzeigen", können in diesem Fenster die eingehenden NMEA Datensätze verfolgt werden. Ein GPS Gerät sollte außer $GPRMC auch noch weitere Informationstypen senden:
$GPGGA - Global Positioning System Fix Data (Zeit, Position, Höhe)
$GPGLL - Geographic Position, Latitude/Longitude (Breite, Länge)
$GPGSA - GPS DoP (Dilution of Precision) und aktive Satelliten
$GPGSV - GPS Satellites in View (sichtbare Satelliten)
$GPVTG - Track Made Good and Ground Speed (Kurs und Geschwindigkeit über Grund)
Oftmals kann man GPS Geräte konfigurieren, welche Datensätze wie oft gesendet werden sollen.

Ferner läßt sich eventuell einstellen, ob Daten von Satelliten, die sich nahe am Horizont befinden und somit ungenaue Daten senden können, verworfen werden sollen. Die gilt auch für die einzelnen Genauigkeiten (PDOP, HDOP und GDOP).
Eine weitere Maßnahme zur Steigerung der Genauigkeit eines GPS Empfängers wäre die Aktivierung des sogenannten SBAS (Satellite Based Augmentation System), falls der Empfänger darüber verfügt. Damit werden die Korrektur-Signale von speziellen Satelliten empfangen, die es allerdings nur für einige Gebiete gibt:
* WAAS für Nordamerika (in Betrieb)
* EGNOS für Europa (in Betrieb)
* MSAS für Japan (in Betrieb)
* GAGAN für Indien (geplant)
Mit meinem GPS Empfänger wurde damit eine Steigerung der Genauigkeit von durchschnittlich etwa +/- 15 Meter auf etwa +/- 3 Meter möglich.
Wie oben gezeigt, werden NMEA 0183 Daten im lesbaren ASCII-Format übertragen. GPS Empfänger können jedoch auch für das sog. SiRF Daten-Format eingestellt sein und sind dann für OpenCPN nicht verwendbar, da SiRF ein binäres Daten-Format ist.
Weiterführende Informationen über NMEA 0183 und NMEA 2000 liefert natürlich das Internet.
Zum Schluß noch ein Wort zu NMEA 2000:
So schön dieser neue Standard ist (es gibt ihn auch in Abwandlungen mit Hersteller-Bezeichnungen wie z.B. Seatalk), so teuer ist er leider auch. Nicht nur die entsprechenden Geräte haben ihren Preis, es muß auch daran gedacht werden, daß unsere Computer kein CAN Protokoll verstehen und daher auch noch ein benötigter Umwandler zu Buche schlägt.

