Ich habe das gleiche versucht und es gibt etwas zu lesen. Lesen Sie zuerst die Spezifikationen für GPRMC http://aprs.gids.nl/nmea/#rmc
Weiter gehen, zu der Klasse 0183 in den Quellcode OpenGTS und sehen, wie die Prüfsumme (Methode calcXORChecksum) am Ende der Zeichenfolge erzeugt wird.
Ich habe einen Test durchgeführt und festgestellt, dass die Prüfsumme, die Sie verwenden (1C), falsch ist. Es sollte 44 sein. Offenbar ignoriert OpenGTS die Prüfsumme standardmäßig nicht, wenn Sie sie nicht am Ende der Zeichenfolge angehängt haben, also müssen Sie sie immer in Ihrer Android-App berechnen und am Ende hinzufügen. Wenn die Prüfsumme nicht korrekt ist, wird die Anfrage gelöscht und nichts wird protokolliert.
Stellen Sie abschließend sicher, dass Sie das korrekte Datum und die richtige Uhrzeit in der GPRMC-Zeichenkette verwenden, da Sie sonst Schwierigkeiten haben, sie in den Berichten der Web-App zu finden. In der Zeichenfolge, die Sie gesendet haben, scheint das Datum beispielsweise der 18. Juli 2007 zu sein, und die Uhrzeit ist GMT 08:07:01.
Ich hoffe, es hilft und freut sich auf Ihre App. Ich könnte es wirklich benutzen.
Dies ist, was ich in der Hauptmethode von Nmea0183 getan habe (ich habe alles andere kommentiert).
String gprmc = "$GPRMC,080701.00,A,3128.7540,N,14257.6714,W,000.0,000.0,180707,,,A*44";
int cs = calcXORChecksum(gprmc, false);
System.out.println(Integer.toHexString(cs));
Nmea0183 n;
n = new Nmea0183(gprmc, false);
Print.sysPrintln("$GPRMC : " + gprmc);
Print.sysPrintln(" ==>: " + n.toGPRMC());
Print.sysPrintln("NMEA-0183: \n" + n);
wie man $ GPRMC xxxxxx Art von Daten URL in Android und wenn ich es ohne GPS verwenden wollen dann was tun? –
es scheint niemand hat eine Idee. Ich habe auch das gleiche Problem –
@DarHamid hey ich habe dieses Problem zu lösen, indem Sie die Zeichenfolge manuell von getlatitude() erstellen; und alle Typ –