Von English mit KI übersetzt ·
Weder noch, sozusagen. Der NEO-6M liefert bereits beides. Der Satz $GPRMC enthält die Geschwindigkeit über Grund (in Knoten) und den Kurs über Grund, und der Empfänger ermittelt die Geschwindigkeit über den Doppler-Effekt, was weit besser ist als die Differenz zweier Fixes im Abstand von 30 s. Zwei Fixes im Abstand von 30 s würden einen Traktor, der eine Gasse hin und zurück gefahren ist, als stehend anzeigen.Mit TinyGPS++ sind es zwei Zeilen:
float kmh = gps.speed.kmph(); // already converted from knots
float hdg = gps.course.deg();
snprintf(buf, sizeof buf,
"{"lat":%.6f,"lng":%.6f,"speed_kmh":%.1f,"course_deg":%.0f}",
gps.location.lat(), gps.location.lng(), kmh, hdg);
Senden Sie sie als Zahlen in derselben Nachricht wie lat/lng. Gleiche Nachricht, gleiche Kosten, also sind es @roberts.r ein paar Bytes mehr, keine weitere Nachricht. Dann eine Alarmregel auf speed_kmh > 15 mit einem Debounce von 2 Messwerten, damit ein einzelner GPS-Sprung ihn nicht auslöst.Falls Sie doch etwas nachträglich berechnen müssen (z. B. Strecke pro Schicht), gehört das im Root-Flow vor Save telemetry als abgeleiteter Schlüssel hinein.
Neither contractor, sort of. The NEO-6M already gives you both. The $GPRMC sentence has speed over ground (in knots) and course over ground, and the receiver gets speed from Doppler, which is far better than differencing two fixes 30 s apart. Two fixes 30 s apart will show a tractor that went down and back an aisle as standing still.
With TinyGPS++ it’s two lines:
float kmh = gps.speed.kmph(); // already converted from knots
float hdg = gps.course.deg();
snprintf(buf, sizeof buf,
"{"lat":%.6f,"lng":%.6f,"speed_kmh":%.1f,"course_deg":%.0f}",
gps.location.lat(), gps.location.lng(), kmh, hdg);
Send them as numbers in the same message as lat/lng. Same message, same cost, so @roberts.r it’s a few bytes more, not another message. Then an alarm rule on speed_kmh > 15 with a debounce of 2 readings so one GPS jump doesn’t fire it.
If you ever do need something computed after the fact (distance per shift, say), that goes in the root flow before Save telemetry as a derived key.

