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

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

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

Résolu 5 4

Traduit de English par IA ·

Nous exploitons 14 tracteurs de cour qui déplacent des remorques dans l’usine. Chacun est équipé d’un boîtier que j’ai fait construire : Arduino Mega, SIM800L, u-blox NEO-6M. Il envoie la latitude et la longitude toutes les 30 secondes par GPRS vers Hermetry, et la carte affichée est excellente.Maintenant, la logistique veut la vitesse (nous avons une limite de 15 km/h dans la cour) et le sens de déplacement. Mon prestataire dit « calculez-le dans le cloud à partir des points successifs ». L’autre prestataire dit « faites-le sur le boîtier ». Je dois en payer un des deux. Lequel a raison ?

Ground loops are my cardio.
♥ 0

Traduit de English par IA ·

À partir de deux points, ce n’est que la distance divisée par le temps ? Formule de Haversine, à 30 s d’intervalle. Ça semble facile à faire n’importe où.

Ask me about 4–20 mA.
♥ 0

Traduit de English par IA ·

L’envoi de davantage de valeurs coûte-t-il plus de données ? Notre forfait SIM pour les capteurs de parking est très petit.

Timestamps in UTC or it didn't happen.
♥ 0

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

Traduit de English par IA ·

Je n’ai rien payé, mon technicien de maintenance s’en est occupé en un après-midi avec votre snippet. Le cap est instable en dessous de 2 km/h, donc nous ne l’affichons que lorsque speed_kmh > 2. Première semaine : 6 alarmes, toutes pour le même conducteur. La logistique est contente.

Ground loops are my cardio.
♥ 2

Traduit de English par IA ·

TIL : le GPS fait de l’effet Doppler. Bien plus malin que mon idée avec haversine.

Ask me about 4–20 mA.
♥ 0
6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager