Ce sujet est résolu.
1 | |||
Auteur | Messages | ||
---|---|---|---|
xave4552 | #1 Posté le 23/5/2015 à 11:21:50 | ||
Bonjour à tous, Voila mon projet, je souhaite comuniquer avec un arduino il doit m'envoyer des données de GPS sous la forme de nombre à virgule flottante. Coté arduino tout est ok cela fonctionne, cependant etant donné que la liaison serie n'est pas très stable au début, je dois validé les données reçus avec une expression rationnelle sous gambas et c'est la ou les choses ce complique. Voila les données de mon arduino: Latitude, Longitude, vitesse, Altitude, Nombre de satelittes, precision .74199870| 0.2| 108| 4| 434$ $57.99493000|2.699486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156�| 7| 100$ $57.99486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156�| 7| 100$ $57.99486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156900| 0.1| 110| 7| 100$ $57.99486900|2.24156�$0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $0.00000000|0.00000000| 0.0| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 0| 0| 0$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ $57.99486900|2.24157020| 0.3| 110| 7| 100$ Après plusieurs mise au point grâce un testeur d'expression rationnelle, je suis arrivé a celle-ci et elle me valide bien ce que je veux: \$([+-]?\d+(\.\d+)?)\|([+-]?\d+(\.\d+)?)\|([ *]?( \d+)+(\.\d+)?)\|([ *]?( \d+))\|([ *]?( \d+))\|([ *]?( \d+))\$ En suivant les exemples sur internet (qui sont peux nombreux), j'ai compris qu'il fallait doublé les anti-slash ce que j'ai fait mai cependant je n'est toujours rien. Voici la fonction: Dim s As String Dim tmp As String[] Dim retour As String Dim cVal As New Collection Dim rMatch As New RegExp Try Read #Sport, Tampon, Lof(Sport) rMatch.Compile("\\$([+-]?\\d+(\\.\\d+)?)\\|([+-]?\\d+(\\.\\d+)?)\\|([ *]?( \\d+)+(\\.\\d+)?)\\|([ *]?( \\d+))\\|([ *]?( \\d+))\\|([ *]?( \\d+))\\$", RegExp.MultiLine) tmp = Split(Tampon, "\r\n") 'Tableau bien remplis For Each s In tmp If s <> "" Then rMatch.Exec(s) 'Pas de bug connu If rMatch.Count = 1 Then 'Jamais rien???? Return rMatch[1].Text Endif Endif Next Return Retour Avez vous une idée (Peux être que mon expression n'est pas bonne)?? Car moi je sèche.. | |||
Flachy Joe | #2 Posté le 23/5/2015 à 16:12:27 | ||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Salut, voila une solution qui n'utilise pas de regexp mais le filtre de la fonction Scan
Flachy Joe | ||
Reivillo | #3 Posté le 23/5/2015 à 16:24:26 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonjour xave4552, Flachty joe & Autres. Et toujours en ajustant les Colonnes, voir aussi:
Note: Pompé ICI. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
Flachy Joe | #4 Posté le 23/5/2015 à 16:47:02 | ||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Salut Reivillo, le problème c'est que toutes les lignes ne sont pas au bon format et qu'il faut donc éjecter les mauvaises. Flachy Joe | ||
Reivillo | #5 Posté le 23/5/2015 à 17:02:24 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | @ Flachy Joe. En pré-traitement: Il peut vérifier le nombre de colonnes par ligne, renvoyé par l'arduino! Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
noucom | #6 Posté le 23/5/2015 à 22:32:55 | ||
Reivillo, A quoi sert la virgule dans ce code dans ton post ?
| |||
Reivillo | #7 Posté le 23/5/2015 à 22:49:57 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonsoir noucom. Elle sert de Séparateur( Tabulation simple ) sur une même Ligne. Teste la Différence de résultat, entre ces 2 Lignes
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
Reivillo | #8 Posté le 24/5/2015 à 07:49:53 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | @ xave4552. Et avec ceci:
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
xave4552 | #9 Posté le 24/5/2015 à 18:45:47 | ||
Bonsoir à tous d'abord merci pour vos réponses, Je ne pensai pas avoir des réponses aussi rapidement. Flachy Joe merci, ton premier poste à résolue mon problème, je vais pouvoir maintenant traité les données (est les stocké dans mes objets...) et je dois dirs que je ne connaissé pas cette fonction. Quant à toi Reivillo tu ma donnée une bonne idée pour fair ma présentation sur mon Raspberry en tous cas merci pour ta dernière fonction je vais m'en servir pour plus tard dans mon projets. Encor une fois merci à tous. Tant que j'y suis vous ne seriez comment je pourrai intégré opencv dans gambas? Merci ++ | |||
Reivillo | #10 Posté le 24/5/2015 à 19:03:39 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Tant que j'y suis vous ne seriez comment je pourrai intégré opencv dans gambas?Là! tu devrais plutôt ouvrir un Autre Sujet... Une Question = Un Sujet. Plus facile à s'y retrouver par la suite, et à Rechercher. En tout cas, Merci pour le Retour. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
1 |