-         

Ergebnis 1 bis 8 von 8

Thema: Arduino + NL-552ETTL GPS

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519

    Arduino + NL-552ETTL GPS

    Anzeige

    Hallo,

    nach langer Zeit melde ich mich mal wieder

    Ich hatte leider wenig Zeit für Projekte, aber jetzt möchte ich einen GPS Empfänger mit einem NE-552ETTL GPS und einem Arduino bauen. Eigentlich wollte ich das ganze mit der RN-Control bauen, aber mit dem Arduino geht es einfach schneller und das Ergebnis ist das gleiche.

    Es gibt ja schon fertige Libs für das Arduino um GPS Daten auszuwerten, aber diese möchte ich nicht benutzen. Das GPS Modul gibt folgende Zeichensätze aus, mit einstellbarer Pause:
    Code:
    $GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0,181102,0.4,E,A*19
    $GPRMB,A,9.99,L,,Exit,4726.8323,N,00820.4822,E,29.212,107.2,,V,A*69
    $GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45
    $GPGSA,A,3,,,,15,17,18,23,,,,,,4.7,4.4,1.5*3F
    $GPGSV,2,1,08,02,59,282,00,03,42,287,00,06,16,094,00,15,80,090,48*79
    $GPGLL,4735.5634,N,00739.3538,E,191410,A,A*4A
    $GPBOD,221.9,T,221.5,M,Exit,*6B
    $GPVTG,0.0,T,359.6,M,0.0,N,0.0,K*47
    $PGRME,24.7,M,23.5,M,34.1,M*1D
    $PGRMZ,1012,f*36
    $PGRMM,WGS 84*06
    $HCHDG,170.4,,,0.4,E*03
    $GPRTE,1,1,c,*37
    Ich benötige aber nur diese Zeile:
    Code:
    $GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45
    In dieser Zeile befinden sich alle Daten, die ich für den Anfang benötige: Zeit (UTC), Koordinaten, Höhe und Satteliten.

    Mein Problem ist es nun, dass ich mit dem Arduino nur die $GPGGA Zeile auslesen möchte. Am Anfang reicht es mir, wenn ich nur die Uhrzeit auf einem Display oder Seriell angezeigt bekomme.

    Ich hoffe es kann mir jemand helfen.

    Gruß
    Felix

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Hätte folgenden Ansatz ohne Gewähr:

    Mit strncmp auf $GPGGA suchen, die Zeichenfolge anschließend mit strtoken zerlegen und über die aktuelle Position entscheiden um welchen Wert es sich handelt. Den Wert falls nötig umrechnen und anzeigen/ausgeben.
    Grüße,
    Daniel

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Den Befehl strncmp gibt es meines Wissens nach nicht bei Arduino. Ich kann doch auch folgendes machen, oder?
    Code:
    strting = String("$GPGGA");
    
    if (string == "$GPGGA")
    Gruß

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    strncmp ist meines Wissens nach in string.h definiert. Die kann man auch bei der Arduino-IDE inkluden.
    Grüße,
    Daniel

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Hallo,

    stimmt, der Befehl ist in der string.h. Leider habe ich keine Ahnung wie ich diesen Befehl nutzen soll. Gibt es irgendwo ein Beispiel?

    Gruß

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2011
    Beiträge
    5
    Hallo,

    nur ein kurzer Zwischenruf (bin gleich wieder vom PC weg):
    Du schreibst, "Das GPS Modul gibt folgende Zeichensätze aus, mit einstellbarer Pause". Also gehe ich mal davon aus, dass Du die zugehörige Setup-Software für's GPS-Modul verwenden kannst. Damit kannst Du dem Modul auch beibringen, dass es Dir nur Deine gewünschten $GPGGA-Daten liefert. Mein Modul habe ich vor Längerem so eingestellt, dass es nur 1x pro Sekunde die $GPRMC-Daten ausgibt. Schau mal in die Doku.

    Gruß Gerd

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Zitat Zitat von Gerd_Loewe Beitrag anzeigen
    Hallo,

    nur ein kurzer Zwischenruf (bin gleich wieder vom PC weg):
    Du schreibst, "Das GPS Modul gibt folgende Zeichensätze aus, mit einstellbarer Pause". Also gehe ich mal davon aus, dass Du die zugehörige Setup-Software für's GPS-Modul verwenden kannst. Damit kannst Du dem Modul auch beibringen, dass es Dir nur Deine gewünschten $GPGGA-Daten liefert. Mein Modul habe ich vor Längerem so eingestellt, dass es nur 1x pro Sekunde die $GPRMC-Daten ausgibt. Schau mal in die Doku.

    Gruß Gerd
    Danke für den Tipp. Werde ich leich mal nachschauen.

    Gruß
    Felix

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Bzgl. strncmp und strtok ein klein wenig Lektüre mit Beispielen :

    strncmp und für strtok

    Eventuell hilft dir das ja weiter. Zum testen kann man das Ganze ja auch zuvor mit einer statischen Sequenz und einem kleinen C-Prog auf dem Rechner implementieren und Testen. Dann musst du nicht ständig flashen und das Debuggen ist auf dem PC oftmals leichter als auf dem AVR.
    Grüße,
    Daniel

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 02.09.2012, 19:02
  2. GPS NL-552ETTL SBAS konfigurieren
    Von wkrug im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 09.08.2012, 18:00
  3. Habe Arduino Uno,GPS Modul,RC Auto.Möchte haben:Auto,dass GPS Waypoints abfährt
    Von de8msharduino im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 9
    Letzter Beitrag: 07.10.2011, 22:53
  4. GPS Logger mit Arduino
    Von ete83 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 20.06.2010, 15:34
  5. Ein GPS-Tracker zum Abruf von GPS-Daten via GSM
    Von gpsklaus im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 2
    Letzter Beitrag: 06.09.2006, 15:24

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •