Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Re : Vitesse et cap pour les tracteurs de cour : calcul sur le traceur ou après réception des données ?

Traduit de English par IA ·

Ni l’un ni l’autre, en quelque sorte. Le NEO-6M fournit déjà les deux. La phrase $GPRMC contient la vitesse sur le fond (en nœuds) et le cap sur le fond, et le récepteur obtient la vitesse par effet Doppler, ce qui est bien meilleur que la différence de deux positions espacées de 30 s. Deux positions espacées de 30 s feront apparaître un tracteur qui a fait l’aller-retour dans une allée comme immobile.Avec TinyGPS++, cela tient en deux lignes :

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);

Envoyez-les sous forme de nombres dans le même message que lat/lng. Même message, même coût, donc pour @roberts.r cela ajoute quelques octets, pas un message supplémentaire. Ensuite, une règle d’alarme sur speed_kmh > 15 avec un anti-rebond de 2 mesures, afin qu’un seul saut GPS ne la déclenche pas.Si vous avez besoin plus tard d’un calcul a posteriori (par exemple la distance par poste), il faut l’ajouter dans le flux racine, avant Save telemetry, sous forme de clé dérivée.

Solution acceptée♥ 7