• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

GPS-Daten per gpsd auslesen?

Keimix

Geocacher
Hallo jennergrulhe,

Du kannst ruhig GPSD in NMEA auslesen. So wie ich das verstehe liefert gpsd im RAW Modus für alle Geräte NMEA, auch wenn die das nicht nativ können. Zitat aus der Doku:
r
Sets or toggles 'raw' mode. Return "R=0" or "R=1" or "R=2". In raw mode you read the NMEA data stream from each GPS. (Non-NMEA GPSes get their communication format translated to NMEA on the fly.) If the device is a source of RTCM-104 corrections, the corrections are dumped in the textual format described in rtcm104(5).

The command 'r' immediately followed by the digit '1' or the plus sign '+' sets raw mode. The command 'r' immediately followed by the digit '2' sets super-raw mode; for non-NMEA (binary) GPSes or RTCM-104 sources this dumps the raw binary packet. The command 'r' followed by the digit '0' or the minus sign '-' clears raw mode. The command 'r' with neither suffix toggles raw mode

Ich bin sehr gespannt auf den ersten NB mit gpsd.
Danke an alle Dev für die Mühen!

Gruss
Keimix
 
OP
jennergruhle

jennergruhle

Geoguru
Ich habe jetzt den Commit durchgeführt, allerdings erst mal mit dem GPSD-Nicht-NMEA-Mode, also mit dem GPSD-Kommando "ADPQTV" und dem Parsen der GPSD-Antwort.
Weitere Experimente und Umstellungen mache ich erst, wenn mein NMEA-Empfänger wieder da ist - den habe ich gerade verborgt. Momentan nutze ich nur eine GPSD-Simulation.
 

MiK

Geoguru
Wenn gpsd wirklich für alle Empfänger NMEA liefern kann, ist es aber wohl wenig sinnvoll mit zwei Parsern zu arbeite, oder?
 
OP
jennergruhle

jennergruhle

Geoguru
Ja, das ist richtig - wie Pfeffer schon schrieb:

pfeffer schrieb:
Die Argumente dafür, dass gpsd sich nen eigenes Format gebastelt hat, haben mich bislang nicht überzeugt. Aber wenn Cachewolf ein zusätzliches Format/Protokoll lesen kann, umso besser :)

Der momentane GPSD-Parser arbeitet aber einwandfrei (ist nur eine zusätzliche Methode in CWGPSPoint.java) und den NMEA-Parser nutze ich dann wieder, wenn ich die Möglichkeit zum Live-Empfang von NMEA-Daten wieder habe. Dann kann meinetwegen die Methode examineGpsd(String gps) auskommentiert werden, um Platz in den Classfiles zu sparen. Dann entfällt in Navigate.GpsdThread das Senden von Abfragen an den GPSD, und es muss nur noch einmal der GPSD auf Raw gestellt werden in der run()-Methode. Dann wird er geschwätzig und schnattert dauernd NMEA.

Aber wie gesagt, das will ich erst selbst testen. Vorerst kann aber der GPSD schon mal genutzt werden.
 
OP
jennergruhle

jennergruhle

Geoguru
Hat mittlerweile schon jemand außer mir den GPSD-Abruf getestet, möglicherweise soger auf einem mobilen Gerät? Mein Freerunner hat leider momentan ne GPS-Empfangsmacke, da ging das noch nicht zu testen...
 

Keimix

Geocacher
Hallo Jennergruhle,

ja hab ich auf meinem eeePC getestet, alles super!!!

Einzige Möglichkeit mir CW abzuschiessen ist, den gpsd zu killen bevor ich das
GPS in CW deaktiviert hab, dann bekomme ich im Sekundentakt Fehlermeldungen, daß kein GPS angeschlossen ist und kann nicht mehr deaktivieren.

Wenn man das beachtet habe ich vollen Funktionsumfang.

Danke!
Ralf
 
OP
jennergruhle

jennergruhle

Geoguru
Ok, danke für die Rückmeldung. Freut mich, dass es klappt.

Das Problem mit der sekündlichen Fehlermeldung lässt sich sicher schnell beheben, das seh ich mir heute abend mal an.
 
Oben