Geschwindigkeit und Fahrtrichtung für Hofschlepper: Berechnung im Tracker oder nachdem die Daten eingetroffen sind?
Von English mit KI übersetzt ·
Wir betreiben 14 Hofschlepper, die Auflieger auf dem Werksgelände bewegen. Jeder hat eine Box, die ich bauen ließ: Arduino Mega, SIM800L, u-blox NEO-6M. Sie sendet alle 30 Sekunden Breiten- und Längengrad per GPRS an Hermetry, und die Kartenansicht sieht großartig aus.Jetzt wünscht die Logistik Geschwindigkeit (wir haben ein Limit von 15 km/h auf dem Gelände) und Fahrtrichtung. Mein Dienstleister sagt: „Berechnet es in der Cloud aus aufeinanderfolgenden Punkten“. Der andere Dienstleister sagt: „Macht es auf der Box“. Ich muss einen von beiden bezahlen. Wer hat recht?
We run 14 yard tractors moving trailers around the plant. Each has a box I had built: Arduino Mega, SIM800L, u-blox NEO-6M. It sends lat and lng every 30 seconds over GPRS to Hermetry and the map card looks great.
Now logistics wants speed (we have a 15 km/h yard limit) and direction of travel. My contractor says „do it in the cloud from consecutive points“. The other contractor says „do it on the box“. I have to pay one of them. Which is right?
Von English mit KI übersetzt ·
Aus zwei Punkten ist das doch einfach Strecke geteilt durch Zeit? Haversine-Formel, 30 s Abstand. Scheint überall leicht machbar zu sein.
From two points it’s just distance over time? Haversine formula, 30 s apart. Seems easy to do anywhere.
Von English mit KI übersetzt ·
Verursacht das Senden von mehr Werten höhere Datenkosten? Unser SIM-Tarif für die Parksensoren ist sehr klein.
Does sending more values cost more data? Our SIM plan for the parking sensors is tiny.
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.
Von English mit KI übersetzt ·
Bezahlt habe ich nichts, mein Wartungstechniker hat es mit Ihrem Snippet an einem Nachmittag erledigt. Der Kurs springt unterhalb von 2 km/h, deshalb zeigen wir ihn nur an, wenn speed_kmh > 2 ist. Erste Woche: 6 Alarme, alle vom selben Fahrer. Die Logistik ist zufrieden.
Paid neither, my maintenance tech did it in an afternoon with your snippet. Course is jumpy below 2 km/h so we only show it when speed_kmh > 2. First week: 6 alarms, all the same driver. Logistics is happy.
Von English mit KI übersetzt ·
TIL: Das GPS macht Doppler. Viel schlauer als meine Haversine-Idee.
TIL the GPS does Doppler. Way smarter than my haversine idea.
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
Mitdiskutieren
Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

