Schlagwort-Archive: NMEA0183

Den NMEA 0183 Datensatz GGA zerlegen in die einzelnen Daten

Der GGA GPS-Datensatz soll in die Bestandteile zerlegt werden. Einzelne Funktionen geben die Werte zurück.

Der GGA Datensatz sieht so aus:
$GPGGA,172643.004,5415.6232,N,01004.9739,E,0,00,,,M,,M,,*43
Er enthält mindestens die Uhrzeit, die Breite und Länge, siehe nmea.de .
Mehr Inhalt ist möglich, aber häufig nicht enthalten.

Zuerst werden die Daten eingelesen. Ich verwende hier eine GPS Antenne und einen selbstgebauten NMEA0183 > UART Wandler mit dem Arduino Uno zusammen. Weiterlesen

NMEA2000 Datensätze in NMEA0183 übersetzen mit dem NK-80

NMEA2000 ist ein geschütztes CAN Bus Protokoll. Einige Datensätze sind bereits bekannt, andere nicht öffentlich zugänglich. Um Daten aus einem NMEA2000 Netzwerk zu bekommen kann man einen Übersetzer verwenden wie den AMEC NK-80.

Diese NMEA2000 PGN werden in NMEA0183 Daten übersetzt: Weiterlesen

AIS Daten vom Cypho-150 Empfänger im Arduino live einlesen und die MMSI ausgeben

Hier werden die AIS Daten von meinem AMEC Cypho-150 AIS Empfänger eingelesen und die MMSI wird ausgegeben.

Die NMEA0183 Ausgangsleitungen vom Cypho-150 sind gelb + und grün – , wie im Handbuch angegeben.

Zur NMEA0183 > UART Pegel Wandlung nehme ich den MAX232 Chip.
Der NMEA0183 Eingang+ ist Pin 8 (R2IN) und der UART Ausgang ist Pin 9 (R2OUT). Dieser kommt an den Arduino Uno RX Eingang.
Der NMEA0183 Eingang- kommt auf den GND vom MAX232 und vom Arduino. Weiterlesen

AIS VDM Datensatz Decoder mit dem Arduino Uno

Marine AIS Empfänger und Transponder geben über den NMEA0183 Ausgang die AIS Informationen im !AIVDM Datensatz aus. Diese Informationen sind 6-Bit codiert und können aus dem Datensatz extrahiert werden.

Ich verwende hier für erste Versuche zur Decodierung den Arduino Uno mit 3 Testdatensätzen.

In dieser Software Version 0.1 werden die Messages 1, 2 und 3 untersucht.
Daraus werden die folgenden Daten extrahiert.
– die Checksumme wird überprüft, die Erklärung hier.
– der AIS Kanal
– der Message Typ
– die MMSI
– der NavStatus
– SOG / Geschwindigleit über Grund
– Breite der Position in Minuten
– Länge der Position in Minuten
– Kurs
– Heading / Vorausrichtung

Weiterlesen

Luftdruck und Temperatur als NMEA 0183 Datensatz ausgeben.

Mit den 3 vorherigen Artikeln über den BMP085, der Checksum Berechnung und der Umwandlung von Float in String kann ich nun die Temperatur und Luftdruck Daten als NMEA 0183 Datensatz mit 4800 Baud ausgeben lassen. Weiterlesen

NMEA 0183 Checksumme berechnen mit dem Arduino

Am Ende des NMEA 0183 Datensatzes steht immer eine 2-stellige Checksumme *hh.
Wird ein neuer Datensatz (String) geschrieben ist es notwendig die Checksum neu zu berechnen.  Hier zum Beispiel der RMC Datensatz mit der Checkumme *hh am Ende Weiterlesen