DÉCODAGE GPS SUR PORT SERIE, VITESSE EN KM/H ET DISTANCE PARCOURUE
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006
-
11 août 2005 à 20:12
imas1988
Messages postés4Date d'inscriptionsamedi 26 mars 2011StatutMembreDernière intervention17 août 2011
-
5 août 2011 à 11:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
imas1988
Messages postés4Date d'inscriptionsamedi 26 mars 2011StatutMembreDernière intervention17 août 2011 5 août 2011 à 11:35
Salamou Alaikom, bonjour à tous,
je veux récupérer des informations de mon périphérique GPS distant qui envoie les données par des messages GPRS ou GSM n utilisant les commandes AT, quelquns peut m'aider SVP. Merci
chahinem
Messages postés1Date d'inscriptionsamedi 10 janvier 2009StatutMembreDernière intervention15 mars 2010 15 mars 2010 à 09:34
bonjour à tous,
je suis entrain de faire mon PFE avec le "module GPS ET312" je vais le cummuniquer avec une carte a base de microcontroleur avec la liaison RS232(norme NMEA)".
-->pour le moment je suis entrain de familiariser avec le programme MBasic pour programmer le PIC 16F876..., et la shui bloqué pouvez vous m'orienter?
-->pour le ET312 je veut savoir comment modifier ses parametres
--> finalement lorsque j l'ai connecté a mon PC il marche sans arret(il donne des trammes successive de type GGA GLL GSA RMC....) là je veut qu'il me donne les information que lorsque je le demande.
merci
panterga
Messages postés67Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention 5 février 20121 24 juil. 2008 à 17:38
Bonjour Messieurs
je recherche la procedure pour (suite à relevé gps sur $GPRMC) calculer et comparer un point geographique .
Je m'explique : imaginons que je localise la latitude et longitude d'un endroit , je voudrais avoir une detection sur le pda-gps quand je m'approche de ce relevé (evidemment je ne pense pas que l'on puisse comparer au millimetres!) ex : une voiture passant à proximité du relevé pourrait le signaler (plusieurs metres de décalage merci de votre réponse )
cs_sissyah
Messages postés1Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention 3 avril 2007 3 avril 2007 à 11:38
salut a tous, mon pb a moi est de recevoir les données GPS via le GPRS de l'opérateur de télécom sur mon serveur;je nai aucune idée la dessus,please de l'aide!!
jcdarcheville45460
Messages postés1Date d'inscriptionvendredi 9 mars 2007StatutMembreDernière intervention 9 mars 2007 9 mars 2007 à 23:58
Wahou, je suis plutot noob en codage (étudiant plutot restreind au C dans mon cas) et je me demandais si cette applet pouvais etre codé en C affin de tourner sur un RTOS (qui peut lancer plusieurs taches en C bien sur) donc comment récupérer des variables telles que la vitesse , la latitude et longitude dans des variables globales ... ?
Donc En C, comment obtenir le meme resultat ?
bil_hack
Messages postés9Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention13 août 2009 24 janv. 2007 à 01:38
salut,
j'ai regardé vos commentaires a tous... je trouve ça génial
mais en fait mon probléme à moi est exactement le contraire.je m'explique en fait je developpe une appli sur ppc et je veux ecrire du texte dans le port serie du pocket pc (toutes les secondes) a partir d'un fichier texte.
j'arrive à lire mon fichier texte mais au moment de l'écriture, ça me catch une erreur IOexception.
si vous pouvez m'aidez!!!!
merci d'avance
utilsea
Messages postés2Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention20 mars 2006 20 mars 2006 à 21:48
En ce qui concerne la vitesse, il suffit de recupérer l'info qui se trouve dans la trame VTG (beaucoup plus précise que la dérivé du point..., car sur les bons GPS calculée par un doppler sur les sats.
Juste avant le K c'est la vitesse en Kmh et le N en noeuds (1852m par heure).
Pour ce qui est des cartes de région il faut se palucher une transformation de coordonées (WGS84 vers projection locale) car la plupart des cartes sont en systèmes local (pour la Réunion good luck cela doit être un des systèmes les plus pourri que je connaisse).
Et pour la verification des trames, la valeur qui se trouve en hexa après l'étoile en fin de trame est le checksum qui se calcul faisant un ou exclusif de tous les chars entre $(exclu) et *(exclu).
A+
MINDNET
Messages postés12Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 1 avril 2007 15 janv. 2006 à 04:41
En faite , j'ai déja la carte de ma region (ile de la reunion) en format 2800x2400 fait par ign.
C'est pour de la randonnée (je veux faire la meme chose pour le maroc ...).
Depuis un mois j'ai pas trouver un bout de soft qui gere lat & long dans un picturebox avec scroll .Que des ocx ou dll payant !!!
Merci !
cs_pit1
Messages postés32Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention17 janvier 2007 14 janv. 2006 à 18:58
Bouv: fais attention pour le PPC, il y a que .net Compact Framework (.netcf) qui est quand même assez limité (j'ai programmé avec, pas mal de fonctions manquent).
MindNet: pour la carte, c'est assez facile avec www.mapquest.com:
D'abord il faut connaitre l'url de la page web, qui contiendra un lien vers le gif de la carte:
Ensuite reste à extraire le link vers le gif et de le télécharger:
GifURL = "e=9&GetMapDirect="
url = html
' strip after the first occurence of " after 'e=9&GetMapDirect'
url = Left$(url, InStr(InStr(url, GifURL), url, Chr$(34)) - 1)
' strip before the last occurence of " before 'e=9&GetMapDirect'
url = Mid$(url, InStrRev(url, Chr$(34)) + 1)
MINDNET
Messages postés12Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 1 avril 2007 14 janv. 2006 à 16:45
Salut !
Es tu arrivé a situer tes coordonnées sur une picturebox integrant la carte de ta region ?
@+++
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 19 déc. 2005 à 22:04
PIT1>>Merci pour l'info, en fait pour le V c'est du au fait que je programme au fond de mon bounker (appart). Sinon j'ai cherché un peu sur le net et j'ai trouvé pas mal d'infos. En fait chaque ligne renvoi des infos complémentaires. Il y en a une par exemple qui renvoi la vitesse directement en Km/H. Si j'ai le temps je posterai un petit module.
PS : EL_TEEDEE. Je me suis mis au .NET donc je pense pouvoir porter le code sur PPC.
Donc si je post un code ce sera en .NET
++
cs_pit1
Messages postés32Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention17 janvier 2007 19 déc. 2005 à 20:26
Salut Bouv,
en fait il faut filter sur les lignes GPRMC, mais ton GPS n'a pas encore assez de satellites pour détermineer la position exacte "V", lorque le fix est bon, il renvoie un "A". Probablement la vue sur le ciel n'est pas bonne ou il n'a pas encore eu assez de temps ...
Salut Kev,
suffit de mapper le port USB sur un port COM et cela marche (normalement il y a un petit utilitaire Portset.exe ou semblable sur le CD-Rom de ton GPS/Adapteur)
kev900001
Messages postés119Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 9 avril 2008 19 déc. 2005 à 12:06
salut je voudrai bien tester ton prog
car je suis super interesse mais y at il moyen de le faire marcher pour une sonde gps usb
merci
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 16 nov. 2005 à 10:46
Salut, j'ai un petit problème. Mon GPS me renvoi l'info suivante sur MSComm1.Input :
Et ni le code de pompier0112 ni celui de PIT1 ne fonctionnent. Quelqu'un peut-il m'aider.
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 13 sept. 2005 à 19:30
Ok, moi je ne connais que le VB (v6)... mais si tu trouve le temps fait moi signe, cela m'interresse.
En fait je pars souvent faire du Snowboard avec mes freres et des potes et on s'est toujours demandé à quelle vitesse on pouvait bien descendre...
Bonne prog
++
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 13 sept. 2005 à 09:48
Oki, c cool,
j'essaierais de m'y atteler dès que j'aurais un peu plus de temps...
>Bouv : je développe sur pocket pc pas depuis longtemps, et j'en suis a mon premier programme, donc tu sais....
Mais il n'y a vraiment pas grand chose qui diffère entre C# pour windows et C# pour Windows CE. Quelques composants en moins car le Compact Framework est plus léger, et quelques fonctions dont les paramètres ont été modifiés (ex : .GetString(...) ), mais sinon c pareil...
Voilou
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 12 sept. 2005 à 23:12
Slt EL_TEEDEE, effectivement cela fait lgtp. Ca va très bien merci.
Tu programme pour les Pocket PC ! Interressant ! Saurais-tu passer ce code pour Windows Mobile ?
A la revoyure.
Bonne prog
++
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 12 sept. 2005 à 17:58
il n'y a aucun pb, tu peut le passé en C#!
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 12 sept. 2005 à 15:54
Bon, en fait, tu sais quoi ?
vu que je suis sous Visual Studio DotNET, ton composant mscomm n'est pas connu (je crois que j'avais déjà vu ce pb qql part)
donc, si tu m'autorise, et surtout lorsque j'aurais le temps, j'aimerais bien passer ta source avec la gestion d'un port série (pour GPS et GPS Bluetooth) en C#.
Qu'en penses tu ?
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 12 sept. 2005 à 15:45
Salut tout le monde,
et salut Bouv, y'avait longtemps, tu vas bien depuis le dernier coup ? :-)
Bon, je m'en vais vite télécharger ce petit code et essayer de le tester.
>Bouv : si tu t'intéresses au SPP (ou service port série) j'ai de l'info à te passer la dessus. En effet, je suis en stage de 3ème année de cycle ingénieur, et la je bosse sur une appli sur pocket pc en Bluetooth, et j'ai utilisé le SPP pour la communication Bluetooth.
ma source sur le bluetooth en SPP : http://www.csharpfr.com/code.aspx?ID=33082
Si vous voulez la tester au passage, j'en serais ravi pour avoir des commentaires constructifs ;)
Aller je m'en vais tester le soft de notre ami Pompier0112
el_teedee
jjbailet
Messages postés3Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention22 août 2005 22 août 2005 à 12:07
Merci d'avoir répondu aussi vite.
Je ne connais pas le protocole de transmission de données d'un port CompactFlash sur PC et je n'ai pas de driver vendu pour PC car au départ le GPS était prévu pour un Pocket-PC.
Les références de mon GPS CompactFlash sont :
marque : AVESTA
modèle : HI-302CF
Input : 3,3V continu, 90 mA
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 21 août 2005 à 14:42
Essai peut etre de te reporter a la notice ou bien au driver correspondant a ton GPS. Il y a peut etre un émulateur de port serie pour ce type de GPS???
Donne la référence du GPS ca peut aider.
++
jjbailet
Messages postés3Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention22 août 2005 21 août 2005 à 12:55
Bonjour à tous,
Le code pour le GPS m'intêresse mais mon GPS est connecté sur un port type carte CompactFlash et je ne sais pas comment récupérer les données à partir de ce port.
Quelqu'un pourrait m'aider ???
Merci
et @+ jjbailet
cs_oynis
Messages postés3Date d'inscriptionlundi 5 mai 2003StatutMembreDernière intervention15 août 2005 15 août 2005 à 19:31
Bonjour a tous,
J'ai lu attentivement vos codes, tous interressant mais apparement vous n'avez pas de routine reconstituant la trame au cas ou le transfert depuis le port serie ne soit pas complet. Il m'arrive de ne pas avoir la fin d'une trame. J'utilise un recepteur gps bluetooth TomTom. Je ne sais si c'est la raison. A votre avis ?
Bon codage et @ + !
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 14 août 2005 à 21:31
Ok merci pour l'info..
++
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 14 août 2005 à 12:56
En faite lorsque je j'allume mon GPS bluetooth, il y a un icon d'ordinateur qui apparai dans la fenetre "favoris bluetooth" et quand tu fait un clic droit dessus il te propose de la connecter en "SPP" qui corespond a creer un port serie virtuel. LA signification de SPP est : Sérial Port Profile, mais en tous cas ca marche.
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 13 août 2005 à 13:42
Ouai ça a l'air super.
Serait-il possible d'avoir un zip ?
Pompier0112>>Pourais-tu me dire ce que signifie connecter en SPP ?
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 12 août 2005 à 21:04
Merci bien pour le petit truc , je vai essai ca le plus rapidement possible MERCI en core :-)))
cs_pit1
Messages postés32Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention17 janvier 2007 12 août 2005 à 20:57
Désolé, la dernière sub "Utc2Local" n'est pas nécessaire, j'en ai besoin pour autre chose ...
cs_pit1
Messages postés32Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention17 janvier 2007 12 août 2005 à 20:54
Il y a plus simple pour décoder le string NMEA, utilise donc la fonction SPLIT!
En fait la vitesse est dans le string NMEA, pas besoin de calculer ( il faut tout de même la convertir de mph vers kmh)...
Il a encore 2 choses à vérifier:
- le fix actuel du GPS doit être valide (paramètre A dans le string)
- le checksum doit être correct.
La procédure ci-dessous le fait.
Dans mon application j'utilise le structure suivante (cela permet aisément des calculs plus poussés, car les valeurs sont déja converties vers le bon type):
Public Type GPSdata
DeviceStatus As String
DateTimeUTC As Date
DateTimeLocal As Date
ReceiverWarning As Boolean
Latitude As Double
LatitudeDir As String
LatDecDeg As Double
Longitude As Double
LongitudeDir As String
LongDecDeg As Double
SpeedKMH As Double
Course As Double
MagneticDeclination As Double
Checksum As Boolean
End Type
Pour la conversion de la date et de l'heure, il faut encore savoir dans quelle timezone se trouve le PC local, il faut donc définir l'api et les structures suivantes:
Private Declare Function GetTimeZoneInformation Lib "kernel32" _
(lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Type TIME_ZONE_INFORMATION
Bias As Long
StandardName As String * 64
StandardDate As SYSTEMTIME
StandardBias As Long
DaylightName As String * 64
DaylightDate As SYSTEMTIME
DaylightBias As Long
End Type
La sub suivante décode le string:
Public Function decodeRMC(ByVal RMCstring As String) As GPSdata
'The RMC-Datasentence (RMC=recommended minimum sentence C)
'is a recommendation for the minimum, that a GPS-Receiver should give back.
'It looks like this: "$GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0,181102,0.4,E,A*19"
Dim ChkDat As String
Dim ChkSum As String
Dim dat() As String
Dim i As Integer, s As Integer
Dim TZI As TIME_ZONE_INFORMATION
Dim nZoneCorrection As Long
Dim ret As Long
Dim l As Long
On Error Resume Next
' strip everything before the $ and convert to uppercase
i = InStr(RMCstring, "$")
decodeRMC.DeviceStatus = Trim$(Left$(RMCstring, i - 1))
If i = 0 Then
decodeRMC.Checksum = False
Exit Function
End If
RMCstring = Mid$(RMCstring, i - 1)
RMCstring = UCase$(Trim$(RMCstring))
Debug.Print RMCstring
'Checking initstring. Must be the same for all RMC sentences.
If Left$(RMCstring, 1) <> "$" Or _
Mid$(RMCstring, 4, 3) <> "RMC" Then
decodeRMC.Checksum = False
Exit Function
End If
' ----------------------------------------
' check if string is valid (checksum ok?)
' ----------------------------------------
'Extracting that part of the sentence that is needed to calculate the checksum
ChkDat = Mid$(RMCstring, 2, InStr(RMCstring, "*") - 2)
dat = Split(RMCstring, ",")
'Calculating checksum and comparing it
ChkSum = Replace(dat(11), "*", "")
ChkSum = Left$(ChkSum, 2)
s = 0
l = Len(ChkDat)
For i = 0 To l
s = s Xor Asc(Mid$(ChkDat, i, 1))
Next
If s <> "&h" & ChkSum Then
decodeRMC.Checksum = False
Exit Function
End If
' ----------------------------------------
' local time and date
' ----------------------------------------
ret = GetTimeZoneInformation(TZI)
nZoneCorrection = TZI.Bias
If ret = 1 Then
'TIME_ZONE_ID_STANDARD
nZoneCorrection = nZoneCorrection + TZI.StandardBias
ElseIf ret = 2 Then
' TIME_ZONE_ID_DAYLIGHT
nZoneCorrection = nZoneCorrection + TZI.DaylightBias
Else
Debug.Assert (0)
End If
nZoneCorrection = -nZoneCorrection
decodeRMC.DateTimeLocal = DateAdd("n", nZoneCorrection, decodeRMC.DateTimeUTC)
' ----------------------------------------
'ReceiverWarning
' ----------------------------------------
' GPS status: A means data is valid, V means data is invalid
If dat(2) "A" Or dat(2) "" Then
decodeRMC.ReceiverWarning = False
Else
decodeRMC.ReceiverWarning = True
End If
' ----------------------------------------
'Latitude (Length)
' ----------------------------------------
decodeRMC.Latitude = Val(dat(3))
decodeRMC.LatitudeDir = dat(4)
' convert NMEA $GPRMC-format position information to decimal-degrees representation
decodeRMC.LatDecDeg = Int(Val(dat(3)) / 100)
decodeRMC.LatDecDeg = decodeRMC.LatDecDeg + ((Val(dat(3)) / 100 - decodeRMC.LatDecDeg)) / 60 * 100
If dat(4) = "S" Then
decodeRMC.LatDecDeg = decodeRMC.LatDecDeg * -1
End If
' ----------------------------------------
' Longitude (Width)
' ----------------------------------------
decodeRMC.Longitude = Val(dat(5))
decodeRMC.LongitudeDir = dat(6)
' convert NMEA $GPRMC-format position information to decimal-degrees representation
decodeRMC.LongDecDeg = Int(Val(dat(5)) / 100)
decodeRMC.LongDecDeg = decodeRMC.LongDecDeg + ((Val(dat(5)) / 100 - decodeRMC.LongDecDeg)) / 60 * 100
If dat(6) = "W" Then
decodeRMC.LongDecDeg = decodeRMC.LongDecDeg * -1
End If
' ----------------------------------------
'SpeedKMH (needs to be converted from knots)
' ----------------------------------------
decodeRMC.SpeedKMH = Val(dat(7)) * 0.54
' ----------------------------------------
'Course without movement
' ----------------------------------------
decodeRMC.Course = Val(dat(8))
' ----------------------------------------
'Final check on the date, year should be > 2000
' ----------------------------------------
If Year(decodeRMC.DateTimeLocal) < 2001 Then
decodeRMC.ReceiverWarning = True
End If
End Function
Public Function Utc2Local(ByVal tim As Long, ByVal dat As Long) As Date
' time format long, eg 203756 for 20:37:56
' date format long, eg 230605 for 23/06/2005
Dim t As String
Dim d As String
Dim TZI As TIME_ZONE_INFORMATION
Dim nZoneCorrection As Long
Dim ret As Long
' convert date and time to string
t = Right$(String$(6, "0") & CStr(tim), 6)
d = Right$(String$(6, "0") & CStr(dat), 6)
' UTC time and date
Utc2Local = #12:00:00 AM#
Utc2Local = DateAdd("h", CDbl(Mid$(t, 1, 2)), Utc2Local)
Utc2Local = DateAdd("n", CDbl(Mid$(t, 3, 2)), Utc2Local)
Utc2Local = DateAdd("s", CDbl(Mid$(t, 5, 2)), Utc2Local)
Utc2Local = Utc2Local + #1/1/2000#
Utc2Local = DateAdd("d", CDbl(Mid$(d, 1, 2)) - 1, Utc2Local)
Utc2Local = DateAdd("m", CDbl(Mid$(d, 3, 2)) - 1, Utc2Local)
Utc2Local = DateAdd("yyyy", CDbl(Mid$(d, 5, 2)), Utc2Local)
' local time and date
ret = GetTimeZoneInformation(TZI)
nZoneCorrection = TZI.Bias
If ret = 1 Then
'TIME_ZONE_ID_STANDARD
nZoneCorrection = nZoneCorrection + TZI.StandardBias
ElseIf ret = 2 Then
' TIME_ZONE_ID_DAYLIGHT
nZoneCorrection = nZoneCorrection + TZI.DaylightBias
Else
Debug.Assert (0)
End If
nZoneCorrection = -nZoneCorrection
Utc2Local = DateAdd("n", nZoneCorrection, Utc2Local)
End Function
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 12 août 2005 à 12:35
ok merci. Par contre qu'appel tu connecter en SPP ?
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 12 août 2005 à 12:26
pompier > ok dsl, javais pas saisi l'ironie :)
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 12 août 2005 à 09:28
en faite moi celui que j'utilise est un gps bluetooth!!!, en faite il faut le connecter en SPP ca simule un port serie, et tu choisie son numéro de port. aprés son VB6 ca se traite comme un port normal:
Temp = MSComm1.Input
voili voila... si ca répond a ta question
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 12 août 2005 à 09:10
Super code !
Si quelqu'un sait comment recupérer les mêmes infos depuis un GPS Bluetooth : l'info est la bienvenue.
Pompier0112>>Concernant l'altitude, tu ne sait pas comment la traiter ou c'est simplement parce que quand on utilise ça en ville la variation de niveau est souvent négligeable.
PS : J'ai pas de Bac S (simple STT compta), mais ces calculs ne me posent pas de pb. ;-)
Bonne prog
pompier0112
Messages postés9Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention12 septembre 2005 12 août 2005 à 07:21
Sthephane > la phrase "je fait un méchant calcul pour trouver la distance parcourue" un de l'humour pour les personne qui y connaissent rien.
Le but de ce soft dans un premier temps a été de traiter les informations recu sur le GPS, la vitesse est venu qu'aprés ce rajouté desssus, sans vouloir ce prendre la tête !!!
pour info, la double integration ne me fait pas peur -> Bac S, Prépa, Ecole d'ingénieur (3 iéme année)
Merci quand meme de vos commentaire . (pour ceux qui y connaissent rien)
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 12 août 2005 à 00:25
bozo > j'ai mon bac S SI spé math
au vu de la phrase "je fait un méchant calcul pour trouver la distance parcourue" j'ai preferé expliquer "clairement" comment faire...
si je lui dit d'integrer 2 fois la distance parcourue, je sais pas s'il comprendra.
Donc je donne les formules.
a+
bozo76
Messages postés1Date d'inscriptionvendredi 29 avril 2005StatutMembreDernière intervention11 août 2005 11 août 2005 à 21:23
Super Prog Pompier je le testerai mais bon j'ai TomTom3 qui me donne ma vitesse instantanée qui est a vrai dire très proche de mon compteur qlors pourquoi ne pas essayer les 2 pour comparer !!! et je te dirais ce que vaut ta vitesse moyenne par contre elle ne sera valable que lorsque tu sera à vitesse stabilisé et pas lorsque tu démarre ou tu freines !!! Mais bon tu es sur la bonne voix pour développer TomTom 6 alors continue !!!
Et Merci stephane tu viens de résoudre un problème de physique de 1ère S ... (à le bon vieux temps)
j'espère que tu auras ton bac avec cette jolie démonstration. (lol) à moins que tu l'ai déjà dans ce cas : félicitations.
Bon allez moi j'ai un dossier technique sur les propagations des champs électrique à rédiger en Anglais !!
@ ++
et Merci pour ce petit prog
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 11 août 2005 à 20:12
salut
je peux pas tester ta source tout simplement parce que j'ai pas de gps :D
en revanche ce que tu pourrait faire c'est en comparant la vitesse à t, et t-1, déduire l'acceleration, pour pouvoir obtenir une vitesse instantanée théorique.
je ne suis pas sur que ca fonctionne mais ca devrait.
en donnant v1 et v2 (v2 la nouvelle vitesse)
l'acceleration vaut : a=(v2-v1)/1
et donc la vitesse instantané, avec t compris entre 0 et 1
vt = v2 + a*t
avec v2 la derniere vitesse
t represente le temps en seconde depuis la derniere reception
voila, j'espere que ta compris mes explication, et qu'elles marcheront si tu les appliquent.
++
5 août 2011 à 11:35
je veux récupérer des informations de mon périphérique GPS distant qui envoie les données par des messages GPRS ou GSM n utilisant les commandes AT, quelquns peut m'aider SVP. Merci
15 mars 2010 à 09:34
je suis entrain de faire mon PFE avec le "module GPS ET312" je vais le cummuniquer avec une carte a base de microcontroleur avec la liaison RS232(norme NMEA)".
-->pour le moment je suis entrain de familiariser avec le programme MBasic pour programmer le PIC 16F876..., et la shui bloqué pouvez vous m'orienter?
-->pour le ET312 je veut savoir comment modifier ses parametres
--> finalement lorsque j l'ai connecté a mon PC il marche sans arret(il donne des trammes successive de type GGA GLL GSA RMC....) là je veut qu'il me donne les information que lorsque je le demande.
merci
24 juil. 2008 à 17:38
je recherche la procedure pour (suite à relevé gps sur $GPRMC) calculer et comparer un point geographique .
Je m'explique : imaginons que je localise la latitude et longitude d'un endroit , je voudrais avoir une detection sur le pda-gps quand je m'approche de ce relevé (evidemment je ne pense pas que l'on puisse comparer au millimetres!) ex : une voiture passant à proximité du relevé pourrait le signaler (plusieurs metres de décalage merci de votre réponse )
3 avril 2007 à 11:38
9 mars 2007 à 23:58
Donc En C, comment obtenir le meme resultat ?
24 janv. 2007 à 01:38
j'ai regardé vos commentaires a tous... je trouve ça génial
mais en fait mon probléme à moi est exactement le contraire.je m'explique en fait je developpe une appli sur ppc et je veux ecrire du texte dans le port serie du pocket pc (toutes les secondes) a partir d'un fichier texte.
j'arrive à lire mon fichier texte mais au moment de l'écriture, ça me catch une erreur IOexception.
si vous pouvez m'aidez!!!!
merci d'avance
20 mars 2006 à 21:48
Juste avant le K c'est la vitesse en Kmh et le N en noeuds (1852m par heure).
Pour ce qui est des cartes de région il faut se palucher une transformation de coordonées (WGS84 vers projection locale) car la plupart des cartes sont en systèmes local (pour la Réunion good luck cela doit être un des systèmes les plus pourri que je connaisse).
Et pour la verification des trames, la valeur qui se trouve en hexa après l'étoile en fin de trame est le checksum qui se calcul faisant un ou exclusif de tous les chars entre $(exclu) et *(exclu).
A+
15 janv. 2006 à 04:41
C'est pour de la randonnée (je veux faire la meme chose pour le maroc ...).
Depuis un mois j'ai pas trouver un bout de soft qui gere lat & long dans un picturebox avec scroll .Que des ocx ou dll payant !!!
Merci !
14 janv. 2006 à 18:58
MindNet: pour la carte, c'est assez facile avec www.mapquest.com:
D'abord il faut connaitre l'url de la page web, qui contiendra un lien vers le gif de la carte:
' initilize variables
MapURL = "http://www.mapquest.com/maps/map.adp?size=big&latlongtype=decimal&latitude=%LATDECDEG%&longitude=%LONGDECDEG%&zoom=%ZOOM%"
url = MapURL
url = Replace(url, "%LATDECDEG%", Replace(Format$(lat, "#0.000000"), ",", "."))
url = Replace(url, "%LONGDECDEG%", Replace(Format$(lon, "#0.000000"), ",", "."))
url = Replace(url, "%ZOOM%", CStr(Zoom))
Ensuite reste à extraire le link vers le gif et de le télécharger:
GifURL = "e=9&GetMapDirect="
url = html
' strip after the first occurence of " after 'e=9&GetMapDirect'
url = Left$(url, InStr(InStr(url, GifURL), url, Chr$(34)) - 1)
' strip before the last occurence of " before 'e=9&GetMapDirect'
url = Mid$(url, InStrRev(url, Chr$(34)) + 1)
14 janv. 2006 à 16:45
Es tu arrivé a situer tes coordonnées sur une picturebox integrant la carte de ta region ?
@+++
19 déc. 2005 à 22:04
PS : EL_TEEDEE. Je me suis mis au .NET donc je pense pouvoir porter le code sur PPC.
Donc si je post un code ce sera en .NET
++
19 déc. 2005 à 20:26
en fait il faut filter sur les lignes GPRMC, mais ton GPS n'a pas encore assez de satellites pour détermineer la position exacte "V", lorque le fix est bon, il renvoie un "A". Probablement la vue sur le ciel n'est pas bonne ou il n'a pas encore eu assez de temps ...
Salut Kev,
suffit de mapper le port USB sur un port COM et cela marche (normalement il y a un petit utilitaire Portset.exe ou semblable sur le CD-Rom de ton GPS/Adapteur)
19 déc. 2005 à 12:06
car je suis super interesse mais y at il moyen de le faire marcher pour une sonde gps usb
merci
16 nov. 2005 à 10:46
$GPGGA,093446.585,,,,,0,00,,,M,,,,0000*31
$GPGLL,,,,,093446.585,V,N*7E
$GPGSA,A,1,,,,*32
$GPGSV,3,1,10,09,80,077,27,05,57,241,11,07,31,055,,30,25,239,*77
$GPGSV,3,2,10,22,21,276,11,14,20,317,21,26,17,160,,18,13,238,*7F
$GPGSV,3,3,10,29,07,158,,24,05,053,*7D
$GPRMC,093446.585,V,,,,,,,161105,,,N*4B
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,093447.585,,,,,0,00,,,M,,,,0000*30
$GPGLL,,,,,093447.585,V,N*7F
$GPRMC,093447.585,V,,,,,,,161105,,,N*4A
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,093448.585,,,,,0,00,,,M,,,,0000*3F
$GPGLL,,,,,093448.585,V,N*70
$GPRMC,093448.585,V,,,,,,,161105,,,N*45
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,093449.585,,,,,0,00,,,M,,,,0000*3E
$GPGLL,,,,,093449.585,V,N*71
$GPRMC,093449.585,V,,,,,,,161105,,,N*44
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,093450.585,,,,,0,00,,,M,,,,0000*36
$GPGLL,,,,,093450.585,V,N*79
$GPGSA,A,1,,,,*32
$GPGSV,3,1,10,09,80,077,27,05,57,241,12,07,31,055,,30,25,239,*74
$GPGSV,3,2,10,22,21,276,13,14,20,317,20,26,17,160,,18,13,238,*7C
$GPGSV,3,3,10,29,07,158,,24,05,053,*7D
$GPRMC,093450.585,V,,,,,,,161105,,,N*4C
$GPVTG,,T,,M,,N,,K,N*2C
Et ni le code de pompier0112 ni celui de PIT1 ne fonctionnent. Quelqu'un peut-il m'aider.
13 sept. 2005 à 19:30
En fait je pars souvent faire du Snowboard avec mes freres et des potes et on s'est toujours demandé à quelle vitesse on pouvait bien descendre...
Bonne prog
++
13 sept. 2005 à 09:48
j'essaierais de m'y atteler dès que j'aurais un peu plus de temps...
>Bouv : je développe sur pocket pc pas depuis longtemps, et j'en suis a mon premier programme, donc tu sais....
Mais il n'y a vraiment pas grand chose qui diffère entre C# pour windows et C# pour Windows CE. Quelques composants en moins car le Compact Framework est plus léger, et quelques fonctions dont les paramètres ont été modifiés (ex : .GetString(...) ), mais sinon c pareil...
Voilou
12 sept. 2005 à 23:12
Tu programme pour les Pocket PC ! Interressant ! Saurais-tu passer ce code pour Windows Mobile ?
A la revoyure.
Bonne prog
++
12 sept. 2005 à 17:58
12 sept. 2005 à 15:54
vu que je suis sous Visual Studio DotNET, ton composant mscomm n'est pas connu (je crois que j'avais déjà vu ce pb qql part)
donc, si tu m'autorise, et surtout lorsque j'aurais le temps, j'aimerais bien passer ta source avec la gestion d'un port série (pour GPS et GPS Bluetooth) en C#.
Qu'en penses tu ?
12 sept. 2005 à 15:45
et salut Bouv, y'avait longtemps, tu vas bien depuis le dernier coup ? :-)
Bon, je m'en vais vite télécharger ce petit code et essayer de le tester.
>Bouv : si tu t'intéresses au SPP (ou service port série) j'ai de l'info à te passer la dessus. En effet, je suis en stage de 3ème année de cycle ingénieur, et la je bosse sur une appli sur pocket pc en Bluetooth, et j'ai utilisé le SPP pour la communication Bluetooth.
ma source sur le bluetooth en SPP : http://www.csharpfr.com/code.aspx?ID=33082
Si vous voulez la tester au passage, j'en serais ravi pour avoir des commentaires constructifs ;)
Aller je m'en vais tester le soft de notre ami Pompier0112
el_teedee
22 août 2005 à 12:07
Je ne connais pas le protocole de transmission de données d'un port CompactFlash sur PC et je n'ai pas de driver vendu pour PC car au départ le GPS était prévu pour un Pocket-PC.
Les références de mon GPS CompactFlash sont :
marque : AVESTA
modèle : HI-302CF
Input : 3,3V continu, 90 mA
21 août 2005 à 14:42
Donne la référence du GPS ca peut aider.
++
21 août 2005 à 12:55
Le code pour le GPS m'intêresse mais mon GPS est connecté sur un port type carte CompactFlash et je ne sais pas comment récupérer les données à partir de ce port.
Quelqu'un pourrait m'aider ???
Merci
et @+ jjbailet
15 août 2005 à 19:31
J'ai lu attentivement vos codes, tous interressant mais apparement vous n'avez pas de routine reconstituant la trame au cas ou le transfert depuis le port serie ne soit pas complet. Il m'arrive de ne pas avoir la fin d'une trame. J'utilise un recepteur gps bluetooth TomTom. Je ne sais si c'est la raison. A votre avis ?
Bon codage et @ + !
14 août 2005 à 21:31
++
14 août 2005 à 12:56
13 août 2005 à 13:42
Serait-il possible d'avoir un zip ?
Pompier0112>>Pourais-tu me dire ce que signifie connecter en SPP ?
12 août 2005 à 21:04
12 août 2005 à 20:57
12 août 2005 à 20:54
En fait la vitesse est dans le string NMEA, pas besoin de calculer ( il faut tout de même la convertir de mph vers kmh)...
Il a encore 2 choses à vérifier:
- le fix actuel du GPS doit être valide (paramètre A dans le string)
- le checksum doit être correct.
La procédure ci-dessous le fait.
Dans mon application j'utilise le structure suivante (cela permet aisément des calculs plus poussés, car les valeurs sont déja converties vers le bon type):
Public Type GPSdata
DeviceStatus As String
DateTimeUTC As Date
DateTimeLocal As Date
ReceiverWarning As Boolean
Latitude As Double
LatitudeDir As String
LatDecDeg As Double
Longitude As Double
LongitudeDir As String
LongDecDeg As Double
SpeedKMH As Double
Course As Double
MagneticDeclination As Double
Checksum As Boolean
End Type
Pour la conversion de la date et de l'heure, il faut encore savoir dans quelle timezone se trouve le PC local, il faut donc définir l'api et les structures suivantes:
Private Declare Function GetTimeZoneInformation Lib "kernel32" _
(lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Type TIME_ZONE_INFORMATION
Bias As Long
StandardName As String * 64
StandardDate As SYSTEMTIME
StandardBias As Long
DaylightName As String * 64
DaylightDate As SYSTEMTIME
DaylightBias As Long
End Type
La sub suivante décode le string:
Public Function decodeRMC(ByVal RMCstring As String) As GPSdata
'The RMC-Datasentence (RMC=recommended minimum sentence C)
'is a recommendation for the minimum, that a GPS-Receiver should give back.
'It looks like this: "$GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0,181102,0.4,E,A*19"
Dim ChkDat As String
Dim ChkSum As String
Dim dat() As String
Dim i As Integer, s As Integer
Dim TZI As TIME_ZONE_INFORMATION
Dim nZoneCorrection As Long
Dim ret As Long
Dim l As Long
On Error Resume Next
' strip everything before the $ and convert to uppercase
i = InStr(RMCstring, "$")
decodeRMC.DeviceStatus = Trim$(Left$(RMCstring, i - 1))
If i = 0 Then
decodeRMC.Checksum = False
Exit Function
End If
RMCstring = Mid$(RMCstring, i - 1)
RMCstring = UCase$(Trim$(RMCstring))
Debug.Print RMCstring
'Checking initstring. Must be the same for all RMC sentences.
If Left$(RMCstring, 1) <> "$" Or _
Mid$(RMCstring, 4, 3) <> "RMC" Then
decodeRMC.Checksum = False
Exit Function
End If
' ----------------------------------------
' check if string is valid (checksum ok?)
' ----------------------------------------
'Extracting that part of the sentence that is needed to calculate the checksum
ChkDat = Mid$(RMCstring, 2, InStr(RMCstring, "*") - 2)
dat = Split(RMCstring, ",")
'Calculating checksum and comparing it
ChkSum = Replace(dat(11), "*", "")
ChkSum = Left$(ChkSum, 2)
s = 0
l = Len(ChkDat)
For i = 0 To l
s = s Xor Asc(Mid$(ChkDat, i, 1))
Next
If s <> "&h" & ChkSum Then
decodeRMC.Checksum = False
Exit Function
End If
' ----------------------------------------
' UTC time and date
' ----------------------------------------
decodeRMC.DateTimeUTC = #12:00:00 AM#
decodeRMC.DateTimeUTC = DateAdd("h", CDbl(Mid$(dat(1), 1, 2)), decodeRMC.DateTimeUTC)
decodeRMC.DateTimeUTC = DateAdd("n", CDbl(Mid$(dat(1), 3, 2)), decodeRMC.DateTimeUTC)
decodeRMC.DateTimeUTC = DateAdd("s", CDbl(Mid$(dat(1), 5, 2)), decodeRMC.DateTimeUTC)
decodeRMC.DateTimeUTC = decodeRMC.DateTimeUTC + #1/1/2000#
decodeRMC.DateTimeUTC = DateAdd("d", CDbl(Mid$(dat(9), 1, 2)) - 1, decodeRMC.DateTimeUTC)
decodeRMC.DateTimeUTC = DateAdd("m", CDbl(Mid$(dat(9), 3, 2)) - 1, decodeRMC.DateTimeUTC)
decodeRMC.DateTimeUTC = DateAdd("yyyy", CDbl(Mid$(dat(9), 5, 2)), decodeRMC.DateTimeUTC)
' ----------------------------------------
' local time and date
' ----------------------------------------
ret = GetTimeZoneInformation(TZI)
nZoneCorrection = TZI.Bias
If ret = 1 Then
'TIME_ZONE_ID_STANDARD
nZoneCorrection = nZoneCorrection + TZI.StandardBias
ElseIf ret = 2 Then
' TIME_ZONE_ID_DAYLIGHT
nZoneCorrection = nZoneCorrection + TZI.DaylightBias
Else
Debug.Assert (0)
End If
nZoneCorrection = -nZoneCorrection
decodeRMC.DateTimeLocal = DateAdd("n", nZoneCorrection, decodeRMC.DateTimeUTC)
' ----------------------------------------
'ReceiverWarning
' ----------------------------------------
' GPS status: A means data is valid, V means data is invalid
If dat(2) "A" Or dat(2) "" Then
decodeRMC.ReceiverWarning = False
Else
decodeRMC.ReceiverWarning = True
End If
' ----------------------------------------
'Latitude (Length)
' ----------------------------------------
decodeRMC.Latitude = Val(dat(3))
decodeRMC.LatitudeDir = dat(4)
' convert NMEA $GPRMC-format position information to decimal-degrees representation
decodeRMC.LatDecDeg = Int(Val(dat(3)) / 100)
decodeRMC.LatDecDeg = decodeRMC.LatDecDeg + ((Val(dat(3)) / 100 - decodeRMC.LatDecDeg)) / 60 * 100
If dat(4) = "S" Then
decodeRMC.LatDecDeg = decodeRMC.LatDecDeg * -1
End If
' ----------------------------------------
' Longitude (Width)
' ----------------------------------------
decodeRMC.Longitude = Val(dat(5))
decodeRMC.LongitudeDir = dat(6)
' convert NMEA $GPRMC-format position information to decimal-degrees representation
decodeRMC.LongDecDeg = Int(Val(dat(5)) / 100)
decodeRMC.LongDecDeg = decodeRMC.LongDecDeg + ((Val(dat(5)) / 100 - decodeRMC.LongDecDeg)) / 60 * 100
If dat(6) = "W" Then
decodeRMC.LongDecDeg = decodeRMC.LongDecDeg * -1
End If
' ----------------------------------------
'SpeedKMH (needs to be converted from knots)
' ----------------------------------------
decodeRMC.SpeedKMH = Val(dat(7)) * 0.54
' ----------------------------------------
'Course without movement
' ----------------------------------------
decodeRMC.Course = Val(dat(8))
' ----------------------------------------
'MagneticDeclination
' ----------------------------------------
decodeRMC.MagneticDeclination = Val(dat(10))
' ----------------------------------------
'Final check on the date, year should be > 2000
' ----------------------------------------
If Year(decodeRMC.DateTimeLocal) < 2001 Then
decodeRMC.ReceiverWarning = True
End If
End Function
Public Function Utc2Local(ByVal tim As Long, ByVal dat As Long) As Date
' time format long, eg 203756 for 20:37:56
' date format long, eg 230605 for 23/06/2005
Dim t As String
Dim d As String
Dim TZI As TIME_ZONE_INFORMATION
Dim nZoneCorrection As Long
Dim ret As Long
' convert date and time to string
t = Right$(String$(6, "0") & CStr(tim), 6)
d = Right$(String$(6, "0") & CStr(dat), 6)
' UTC time and date
Utc2Local = #12:00:00 AM#
Utc2Local = DateAdd("h", CDbl(Mid$(t, 1, 2)), Utc2Local)
Utc2Local = DateAdd("n", CDbl(Mid$(t, 3, 2)), Utc2Local)
Utc2Local = DateAdd("s", CDbl(Mid$(t, 5, 2)), Utc2Local)
Utc2Local = Utc2Local + #1/1/2000#
Utc2Local = DateAdd("d", CDbl(Mid$(d, 1, 2)) - 1, Utc2Local)
Utc2Local = DateAdd("m", CDbl(Mid$(d, 3, 2)) - 1, Utc2Local)
Utc2Local = DateAdd("yyyy", CDbl(Mid$(d, 5, 2)), Utc2Local)
' local time and date
ret = GetTimeZoneInformation(TZI)
nZoneCorrection = TZI.Bias
If ret = 1 Then
'TIME_ZONE_ID_STANDARD
nZoneCorrection = nZoneCorrection + TZI.StandardBias
ElseIf ret = 2 Then
' TIME_ZONE_ID_DAYLIGHT
nZoneCorrection = nZoneCorrection + TZI.DaylightBias
Else
Debug.Assert (0)
End If
nZoneCorrection = -nZoneCorrection
Utc2Local = DateAdd("n", nZoneCorrection, Utc2Local)
End Function
12 août 2005 à 12:35
12 août 2005 à 12:26
12 août 2005 à 09:28
Temp = MSComm1.Input
voili voila... si ca répond a ta question
12 août 2005 à 09:10
Si quelqu'un sait comment recupérer les mêmes infos depuis un GPS Bluetooth : l'info est la bienvenue.
Pompier0112>>Concernant l'altitude, tu ne sait pas comment la traiter ou c'est simplement parce que quand on utilise ça en ville la variation de niveau est souvent négligeable.
PS : J'ai pas de Bac S (simple STT compta), mais ces calculs ne me posent pas de pb. ;-)
Bonne prog
12 août 2005 à 07:21
Le but de ce soft dans un premier temps a été de traiter les informations recu sur le GPS, la vitesse est venu qu'aprés ce rajouté desssus, sans vouloir ce prendre la tête !!!
pour info, la double integration ne me fait pas peur -> Bac S, Prépa, Ecole d'ingénieur (3 iéme année)
Merci quand meme de vos commentaire . (pour ceux qui y connaissent rien)
12 août 2005 à 00:25
au vu de la phrase "je fait un méchant calcul pour trouver la distance parcourue" j'ai preferé expliquer "clairement" comment faire...
si je lui dit d'integrer 2 fois la distance parcourue, je sais pas s'il comprendra.
Donc je donne les formules.
a+
11 août 2005 à 21:23
Et Merci stephane tu viens de résoudre un problème de physique de 1ère S ... (à le bon vieux temps)
j'espère que tu auras ton bac avec cette jolie démonstration. (lol) à moins que tu l'ai déjà dans ce cas : félicitations.
Bon allez moi j'ai un dossier technique sur les propagations des champs électrique à rédiger en Anglais !!
@ ++
et Merci pour ce petit prog
11 août 2005 à 20:12
je peux pas tester ta source tout simplement parce que j'ai pas de gps :D
en revanche ce que tu pourrait faire c'est en comparant la vitesse à t, et t-1, déduire l'acceleration, pour pouvoir obtenir une vitesse instantanée théorique.
je ne suis pas sur que ca fonctionne mais ca devrait.
en donnant v1 et v2 (v2 la nouvelle vitesse)
l'acceleration vaut : a=(v2-v1)/1
et donc la vitesse instantané, avec t compris entre 0 et 1
vt = v2 + a*t
avec v2 la derniere vitesse
t represente le temps en seconde depuis la derniere reception
voila, j'espere que ta compris mes explication, et qu'elles marcheront si tu les appliquent.
++