Forum: Mikrocontroller und Digitale Elektronik Gps Modul Daten für Pic


von Alex (Gast)


Lesenswert?

Hallo Profis,

ich habe ein Gps modul zu meinem Pic 18f4550 dazugeschlossen über die 
rs232 schnittstelle.

jetzt sendet mir mein Gps modul jede Sekunde einen ganzen Datenblock mit 
diesen Daten:

$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 brauche aber nur den Datenblock mit $GPGGA  !
weis jemand wie ich den mit C heruasfiltern kann?
Sodass ich jede Sekunde auf meinen Display nur diesen Datensatz sehe?

lg Danke für eure Mühe

von Oliver J. (skriptkiddy)


Lesenswert?

Grundsätzlich geht das so:
Man wartet auf $GPGGA, und dann gibt man alles bis zum nächsten "$" aus.
Dazu müsste man sich nach einem $ die nächsten 5 Zeichen anschauen und 
Prüfen, ob es sich um "GPGGA" handelt. Dann kann man alle Zeichen bis 
zum nächsten $ ausgeben.

Gruß Oliver

von spess53 (Gast)


Lesenswert?

Hi

>ich brauche aber nur den Datenblock mit $GPGGA  !
>weis jemand wie ich den mit C heruasfiltern kann?

Versuche doch die anderen abzuschalten. Welchen Chipsatz hat dein Modul?

MfG Spess

von Michael (Gast)


Lesenswert?

Oliver J. schrieb:
> Man wartet auf $GPGGA, und dann gibt man alles bis zum nächsten "$" aus.

Besser man wartet auf $GPGGA und liest dann alles bis zum Ende des 
Datensatzes, also bis <cr>. Wer weiß, wann der nächste Datensatz kommt 
;-)

von Alex (Gast)


Lesenswert?

danke euch erstmal!

ich habe dieses modul
http://www.sparkfun.com/products/9159

>Versuche doch die anderen abzuschalten.

wie soll das gehen?

lg alex

von Oliver J. (skriptkiddy)


Lesenswert?

Alex schrieb:
>>Versuche doch die anderen abzuschalten.
>
> wie soll das gehen?
Such mal nach "Query/Rate Control"
im "SiRF NMEA Reference Manual" [1]

[1] 
http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual-Rev2.1-Dec07.pdf

von Helfer (Gast)


Lesenswert?

In dem du mit dem CONFIG Kommando im Abschnitt 4.2 des Manuals 
http://www.sparkfun.com/datasheets/GPS/NMEAGuideMN5010.pdf die NMEA MASK 
nur GGA GPS Fix Data Nachrichten (3.2 im Manual) als Ausgabe anforderst.

von Alex (Gast)


Lesenswert?

ich verneige mich vor euch :D


Danke hat mir sehr geholfen :D

LG
alex

von alex (Gast)


Lesenswert?

so jetzt habe ich das problem das ich die daten nicht in das modul 
bekomme!!

weiß jemand wie ich mit einem terminal programm die daten versenden 
kann?

lg

von Helfer (Gast)


Lesenswert?

Wie bist du denn an die Daten in deinem ersten Beitrag gekommen?

Wenn du nur ein Terminalprogramm suchst, die sind in dem Artikel 
RS232 aufgelistet.

Wenn es an der Bedienung hapert: Ich würde das Terminalprogramm (bzw. 
die UART zwischen PIC und Modul) auf 4800 Baud (falls OPT1 und OPT2 auf 
LOW gejumpert) einstellen und folgendes CONFIG Kommando absetzen:
1
$PUNV,CONFIG,00,00,0,1000,4800,01*cc<carriage return><line feed>

<carriage return> = CONTROL-M ^M bzw. Hex. 0x0D
<line feed> = CONTROL-J ^J bzw Hex. 0x0A

Achtung: Auf eigene Gefahr, denn CONFIG Einstellungen merkt sich das 
Modul in seinem nichtflüchtigen Speicher! Die Werkseinstellungen werden 
nach einem Power OFF/ON NICHT wiederhergestellt!

Vielleicht vorher mit einem harmlosen Kommando probieren z.B. GETCONFIG 
(Manual 4.1.3)
1
$PUNV,GETCONFIG,13*43<carriage return><line feed>

Und schauen ob eine Antwort in der Art zurück kommt:
1
$PUNV,CFG_R,13,...

von Helfer (Gast)


Lesenswert?

Um sicher zu gehen noch der Hinweis: Du darfst das GPS Modul nie direkt 
d.h. ohne Pegelwandler (3.3VTTL <-> RS232) an die RS232 des PCs hängen!

von Reiner V. (rvogt1964)


Lesenswert?

Hallo,

bin auch gerade dabei (habe mein GPS-Modul die Tage bekommen [u-blox 
LEA-5S]) und auch durch Zufall darauf gekommen, das hier 3.3v TTL Pegel 
ebenfalls bei diesem Chip genutzt werden. Das wäre bei einem direkten 
Anschluß an die handelsübliche RS232 "in die Hose" gegangen!

Für die Umsetzung bzw. Darstellung (GLCD 128x64) nutze ich meinen mikroC 
Pro Compiler IDE und das nachstehende Board lv-18fj von 
Mikroelektronika:
http://www.mikroe.com/eng/products/view/25/lv-18fj-development-system/
und muß zugeben es macht richtig Spaß damit zu "basteln". Suche im 
übrigen noch eMail-Kontakt zu "Gleichgesinnte"... :-)

Ich müsste wenn ich mich nicht irre auch noch einen kompletten C-Source 
haben zum entschlüsseln des (kompletten?) NMEA-Codes eines 
GPS-Empfängers, falls jemand Interesse hat kann ich da gerne mal 
nachschauen.

von alex (Gast)


Lesenswert?

hy
also die verbindung klappt ja.  hab einen gps auf usb wandler und das 
terminalprogramm erkennt das als rs232.

das problem ist: wie kann ich kommandos absetzen?
kann diese nicht einfach eintippen..

lg

von soundso (Gast)


Lesenswert?

lad dir mal YAT runter, da kannste die kommandos vordefinieren und via 
button abrufen ...

http://sourceforge.net/projects/y-a-terminal/

von Helfer (Gast)


Lesenswert?

> das problem ist: wie kann ich kommandos absetzen?
> kann diese nicht einfach eintippen..

Wieso nicht? Bei einem Terminalprogramm wie HTerm oder Br@y++ (nur um 
die ersten beiden aus RS232 zu nennen) macht man exakt das. 
Eintippen oder Vorbelegen einer Taste mit dem Kommando und dann 
Absenden. Wichtig ist dabei, dass das Zeilenende vorhanden ist (CRLF).

von hinweis (Gast)


Lesenswert?

Es wäre besser wenn du die Positionsdaten mal Unkenntlich machst,
sonst weiß bald die "Welt" wo du wohnst (auch als Gast).

Laut Google Earth bist du im hinteren Teil des Wohnblock's......

von spess53 (Gast)


Lesenswert?

Hi

Das Modul hat einen SIRFIII-Chipsatz. Dafür gibt es die Software 
'Sirfdemo'. Damit lassen sich solche Einstellunge machen.

MfG Spess

von ziegenpeter (Gast)


Lesenswert?

hinweis schrieb:
> Laut Google Earth bist du im hinteren Teil des Wohnblock's......

Und laut Google sind das garnicht seine Koordinaten ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.