Je suis entrain de réaliser un traceur GPS installé dans une bétaillère avec visualisation et enregistrement des données depuis le véhicule qui tracte la bétaillère.
Dans la bétaillère il y a donc un ultimate GPS de Adafruit avec un module radio NRF24l01+, le tout monté sur un arduino nano (je vous passe le capteur d'ouverture et de temperature).
Dans la voiture il y a la partie reception/enregistrement équipé d'un NRF24l01+ et d'un lecteur de carte SD pour enregistrer les données GPS.
Dans l'ensemble ca fonctionne, mais par moment j'ai de grosses aberrations au niveau de la longitude/latitude.
La ou j'ai des points en longitude 0, il est assez simple de les éliminer à la source en disant de ne pas enregistrer si la longitude est égale à 0.000000 mais je ne sais pas comment traiter les autres erreurs et je ne trouve pas pourquoi il y a de si grosses erreurs.
Qu'en pensez vous, quelqu'un a il déjà eu ce genre de problème ?
bonjour,
fais la même chose pour la latitude.
les erreurs sont certainement dues au fait d'une rupture de la réception des données gps, certaines zones n'ont pas de couverture gps, ou cela passe très aml.
forêt, tunnel, ligne haute tension, etc...
Ce qui m'inquiète c'est justement les erreurs quand la longitude ou la latitude sont fausses mais pas à 0, comme on peut le voir sur mon image.
Toutes celles qui sont sur le Havre sont sur une longitude à 0 mais celles qui sont sur Beauvais ou Meaux ?
Je vais déjà essayer avec la portion de code que je viens de mettre en copie.
Dlteck2000:
Ce qui m'inquiète c'est justement les erreurs quand la longitude ou la latitude sont fausses mais pas à 0, comme on peut le voir sur mon image.
Bonjour
Un gps peut renvoyer de la sentence NMEA diluée (cercle d'incertitude) ça c'est "normal"
mais pas renvoyer de la sentence manifestement erronnée.
ton programme verifie bien le FIX avant de t'envoyer les infos ?
Peut être une erreur de transmission entre les deux NRF ?
Ce qui me semble louche, c'est que ce n'est q'une erreur de longitude ou latitude à la fois, pas les deux en même temps
Dlteck2000:
Oui une fois au démarrage, je devrais peut être l'ajouter a ma condition.
Peut être une erreur de transmission entre les deux NRF ?
Ce qui me semble louche, c'est que ce n'est q'une erreur de longitude ou latitude à la fois, pas les deux en même temps
Je ne pense pas que ton module GPS crache de la data erronée
soit ton FIX est OK et la sentence est utilisable , soit il ne l'est pas et la sentence doit etre ignorée
le FIX n'est valable que pour la sentence analysée
Dlteck2000:
Ok, donc avec le filtre suivant, je ne devrais plus avoir de problèmes :
Si j'en ai encore c'est qu'il y a des erreurs de transmission entre les deux NRF et on ne peut malheureusement rien y faire.
un NRF ne va pas de lui meme injecter de la data 8)
tu traite quoi exactement comme sentences NMEA
RMC et GGA ?
Il y a moins de bugs, mais il reste encore quelque aberrations, dont je vous met un exemple ici :
T 2015-09-29 09:48:52 49.763206000 3.598706000 0 20.60 50 - Temperature : 20.60 - Porte : Ferme
T 1999-11-30 09:49:02 49.762630000 3.599496000 0 20.60 51 - Temperature : 20.60 - Porte : Ferme
T 1999-11-30 09:49:12 49.000072000 3.599618000 0 20.60 52 - Temperature : 20.60 - Porte : Ferme
T 1999-11-30 09:49:22 49.761116000 3.599876000 0 20.60 53 - Temperature : 20.60 - Porte : Ferme
T 2015-09-29 09:49:32 49.760986000 3.600887000 0 20.60 54 - Temperature : 20.60 - Porte : Ferme
Sur cet exemple il y a un point qui merde pour des raisons qui m'échappent complètement....
Je ne vous ai pas tous mis, mais c'est un petit parcours de test de 145 points et il n'y a que ce point qui déconne.
Oups, en regardant ce que j'ai posté, je me rend compte que les dates, une avant, une pendant, une après sont erronées, pourtant j'avais mis un filtre à ce niveau ...
Dlteck2000:
Oups, en regardant ce que j'ai posté, je me rend compte que les dates, une avant, une avant, une après est erroné, pour tant j'avais mis un filtre à ce niveau ...
Ce que tu expose est une "mise en forme" de sentences GPS
Le "FIX" est mal verifié qq part
la mise en forme ne devrait pas pouvoir etre construite/produite/affichée
Oui pour le stockage, par-contre, pour la conversion, c'est moi.
Comme je disais j'envoi une structure avec le NRF, que je récupère coté récepteur qui écrit sur la carte.
La structure :
struct Mydata{
double temperature;
int heures;
int minutes;
int secondes;
int jour;
int mois;
int annee;
float latitude;
float longitude;
boolean porteArr;
boolean fix;
int satellites;
};
Mydata valeurs;
Dlteck2000:
Oui pour le stockage, par-contre, pour la conversion, c'est moi.
Je m'en doutais un peu 8)
pourquoi passer par une "usine à gaz" sur l'arduino ?
log/transmet simplement de la "bonne vieille NMEA" eventuellement seulement si verifiée/declarée valide
la charge utile sera peu ou prou la meme
et "depouille" là ensuite
C'est une solution en effet, un peut plus compliqué pour l'utilisateur (ce n'est pas pour moi) à exploiter, mais au moins pour voir d'ou vient le problème.