Google
  Web www.gpspassion.com


GpsPasSion LIVE!
www.flickr.com
This is a Flickr badge showing public photos from GpsPasSion Live !. Make your own badge here.

www.NaviBlog.com



Versions

Links/Liens




Portal/Portail
Rechercher

- -

Polls/Sondages
Sondage
Pour vous guider sur la Route :
GPS Mobile (SEM)
GPS Intégré
Smartphone
Autre
Voter  -  Résultat des votes
Votes : 1435




Club GpsPasSion
Soutenez le site!

USA: (US$)
EUROPE: (€)
Guide Paypal


GpsPasSion Forums
Home | Profile | Register/Enregist. | Active Topics | Search/Recherche | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Programmation GPS et Logiciels en "Beta"
 Notions Générales
 Intégration GPS sous linux ?
 New Topic  Reply/Répondre
 Printer Friendly
Author Previous Topic Topic Next Topic  

ebya

France
6 Posts

Posted - 08 nov. 2011 :  15:58:13  Show Profile  Reply with Quote
Bonjour,

Nous sommes un groupe de 6 étudiants en école d'ingénieur en informatique en M1 (analyse d'image).

Nous construisons actuellement un "robot autonome", et, pour des raisons de sécurité et de suivi nous devons le munir d'un recepteur GPS dépassant les 1Hz (vitesse du robot de l'ordre de 2m/s).

Nous travaillons sur des micro-cartes mère (pandaboard pour ne pas la citer)....jusque là tout va bien mais les gps compatibles Unix ça a pas l'air de courrir les rues :/

On y connait rien en gps alors nous voilà :)

On aimerai savoir si vous auriez des références à nous conseiller et comment mettre en place le gps.

On est aussi ouvert à l'utilisation de ce module gps :
http://www.flytron.com/osd-headtrackers/15-simpleosd-gps-module.html

à la condition de nous expliquer comment on fait pour gérer ça sur un micro controlleur ^^', car écouter un port USB c'est dans nos cordes mais un micro-ctrler :s

EDIT pour précision : Le plus simple et le plus proche de nos besoin reste le passage par le micro-controleur (de plus la carte dispose de nombreux ports pouvant servir : UART/USB/RS-232).

Notre soucis c'est que nous n'arrivons pas à cerner la bête, et que nous ne savons absolument pas quel PIC choisir et sur quoi renvoyez le signal à la Carte mère, ni comment on installe le PIC sur le pc (besoin de drivers?)...
Au passage je met le lien de la datasheet du module gps :
http://www.flytron.com/pdf/GPS_FGPMMOPA6.pdf

Voilà c'est à peu près tout :)
je repars sur des zolis recherches de commenkonfè !

Merci de nous avoir accordé un peu de vôtre temps !



Edited by - ebya on 08 nov. 2011 16:40:55

Ads


barbudor

France
1587 Posts

Posted - 09 nov. 2011 :  10:48:20  Show Profile  Visit barbudor's Homepage  Reply with Quote
Bonjour

Je ne suis pas un pro en Linux embarqué mais voici quelques points de départ.

La communication avec un module GPS se passe généralement sous la forme d'une liaison série logique utilisant le protocole NMEA. Des trames sont a envoyer au GPS pour le configurer, puis vous recevez régulièrement des trames d'état (position, niveau de réception satellite, etc...)

Les interfaces physiques vont être trouver essentiellement en 2 catégories :
1) Interface série
2) Interface USB

Dans le premier cas la liaison série peut être :
- soit en niveaux RS232 ("0" est > +3V et "1" est < -3V)
- soit en TTL ("0" est 0V et "1" est TTL (+5V) ou TTL-LV (~3V).
Ce qui veut dire que suivant le modèle vous aurez ou pas a ajouter un convertisseur type MAX232 entre le GPS et votre carte PandaBoard (suivant que la carte dispose ou pas elle même d'un tel convertisseur...)
Les modules GPS pour l'embarqué sont souvent dans le 2eme cas, alors que les modules externes (type "souris GPS") destinés à être branché sur un ordinateur sont souvent dans le 2nd cas.

Dans le second USB, il s'agit généralement d'un "serial over USB". Mais dans ce cas, il me semble qu'il y ait besoin d'un driver adapté qui va dépendre du chip "serial over USB" intégré dans le module GPS ( ca peut être du FTDI ou autre).
Dans de rare cas, il sera nécessaire d'obtenir un driver spécifique.

En gros, la solution sans prise de tête c'est de partir sur une liaison série.
Facile a gérer coté soft en Linux. Aucune contrainte hard.

Le module 10Hz donné en lien me semble parfaitement convenir. Il disent que l'interface est de type UART. La datasheet indique clairement que l'interface série est du type TTL-LowVoltage ("0" < 0.9V et "1" > 2.1V). A voir maintenant les niveaux acceptés par la PandaBoard.


Par contre je ne voit pas pourquoi vous faite référence à un micro-controleur, à un PIC. Vous avez déjà un processeur sur la PandaBoard ? Donc connexion directe entre le module GPS et la PandaBoard via la liaison série.

Est-ce que cela répond à vos questions ?

Modérateur Forum Traceurs GPS et Suivi GPS Temps Réel, son Index (français) et Les bons plan SIM pour traceurs GPS
Moderator Forum Live GPS Tracking Systems and its Index (english)
CartoExploreur3D | OziPC+OziCE(iPaq314) | TTGoLive950 | Carminat TomTom Live | Tracker Coban GPS-102
Go to Top of Page

ebya

France
6 Posts

Posted - 09 nov. 2011 :  20:32:11  Show Profile  Reply with Quote
Merci, en partie (grosse la partie :) )

La question subsidiaire est comment on fait sans microcontroleur pour dialoguer avec le gps? Car avec un µctrlr je vois comment faire (fruit des recherches de la veille) mais sans je ne vois pas trop...

Un dialogue direct avec le port série? ....Hmmm si c'est ça j'ai "l'idée de comment ça marche". Mais je ne vois pas du tout comment on implémente/code ça en C (on évite les langages gourmand en mémoire la carte étant assez faible (moins de 200g et 1Ghz et 1Go de Ram DDR :/ )

Si un exemple de code existe je suis preneur :)



PS : on était parti sur un µctrlr pour aléger les calculs fait par la board (on a de l'encodage vidéo, de la gestion gps, plus plein de trucs bien sympa à lui faire faire) alors tout expédier sur le proco nous semble un gros fail ^^'

suite : http://www.digikey.com/us/en/ph/texas-instruments/pandaboard.html

Descriptif de la board


Ok je crois avoir compris une partie :)

Mais notre gps dispose de sorties multiples seules les sortie Rx/Tx/Vcc/gnd nous interessent

Hors il y a 5 sorties sur un port RS-232 Tx/Rx/Gnd/Vcc/?[ed]

En gros comment ça se cable ça?

En fait pour le code je crois que je viens de piger que en fait on sait faire ^^

Vu que on a pigé comment communiquer en RS232 avec le µcrtlr, le faire avec le gps une fois

Edited by - ebya on 09 nov. 2011 20:34:44
Go to Top of Page

barbudor

France
1587 Posts

Posted - 09 nov. 2011 :  22:47:39  Show Profile  Visit barbudor's Homepage  Reply with Quote
Configuré correctement le GPS ne va pas faire beaucoup plus que vous envoyer (en mode 10Hz) une chaine d'environ 50 à 60 caractères avec la position.
Que voulez vous faire de cette position ?
Je ne connais pas votre appli donc je ne vois pas ce que vous pourriez décharger vers un uC, mais j'ai pas l'impression qu'il y a grand chose a faire.

Par contre si vous avez des moteurs pas-à-pas a asservir par exemple, çà alors çà peut avoir du sens de confier l'algo de gestion de la méca à un uC qui reçoit des commandes de haut niveau de la PandaBoard.

Ensuite, gestion d'un port série sous Linux, c'est pas trop mon truc et un peu hors sujet ici.
Mais en gros ca doit se traiter à partir d'open( /dev/ttyxx ) ou quelque chose du genre. Après des ioctrl() pour régler la vitesse du port.
Des write() pour envoyer des commandes et des read() pour lire les résultats. Notez bien open(), read() et write() et pas fopen()/fread()/fwrite().

Coté connexion entre le GPS et la PandaBoard, là ca se corse car apparemment vous êtes plus softeux que hardeux
Le soft ca s'apprend dans les bouquins. Le hard ca s'apprend avec le fer à souder dans une main et la sonde d'osillo dans l'autre

Le GPS_FGPMMOPA6 à 10 pins :
1 - VCC - entre 3.2VDC et 5VDC
2 - ENABLE : peut rester en l'air
3 - GND - la masse, a relier à la même masse que la PandaBoard
4 - VBACKUP - alim de secours comme une pile pour conserver les paramètres quand l'alim principale est coupée. entre 2.0VDC et 4.0VDC : une pile bouton 3VDC ou 3.6VDC fera l'affaire.
5 - 3DFIX - ignorer
6 et 7 - USB : ignorer
8 - GND : encore un pin de masse a relier a l'ensemble de la masse
9 - TXD : Liaison série du GPS vers la PandaBoard.
10 - RXD : dans l'autre sens

Maintenant page 13 : les tensions de fonctionnement
- VCC ont a déjà dit entre 3.2V et 5V
Mais la liaison série ce n'est pas du RS232, c'est du TTL-LV (Low Voltage)

Valeur logique "0" (L) = entre 0 et 0.9 V (en RS232 c'est une tension posivite entre +3 et +12V)
valeur logique "1" (H) = entre 2.1V et 2.8V en sortie (en RS232 c'est une tension négative de -3V à -12V)

Coté PandaBoard, apparemment c'est une RS232 standard sur connecteur Sub-D 9 broches donc en niveau RS232.
Se référer à la doc pourle brochage.

Donc pas question de connecter la chôse directement sous peine de griller la liaison série.
Il va vous falloir un convertisseur qui va adapter les niveaux de tension entre les 2 types d'interface en tenant compte de l'inversion de logique.
Puisque vous est fan de Texas Instruments, allez voir çà : http://www.ti.com/product/max3221
Avec 5 capas (voir la datasheet) ca fera l'affaire.
C'est du CMS donc il va vous falloir des petits doigts et un bon fer à souder.


Les autres options :
- USB : c'est plus facile à connecter. Pas de convertisseur : on câble en direct VCC, GND, D+ et D-.
Par contre je n'ai strictement aucune idée du driver qu'il vous faudra charger sous Linux pour que ca marche.
Il se peut qu'il y a ait des drivers standards Serial-over-USB mais avez vous le bon driver dans la distri de votre plateforme ?

- Trouver un autre GPS qui se connecte directement en RS232. Ca commence a devenir rare, c'est de la vielle techno mais on doit pouvoir encore trouver des "souris GPS" avec un bon vieux connecteur sub-D 9.

A+









Modérateur Forum Traceurs GPS et Suivi GPS Temps Réel, son Index (français) et Les bons plan SIM pour traceurs GPS
Moderator Forum Live GPS Tracking Systems and its Index (english)
CartoExploreur3D | OziPC+OziCE(iPaq314) | TTGoLive950 | Carminat TomTom Live | Tracker Coban GPS-102
Go to Top of Page

ebya

France
6 Posts

Posted - 09 nov. 2011 :  23:37:30  Show Profile  Reply with Quote
Ok merci :)

Alors pour la version USB en fait il n'existe aucun soft sur le GPS, il n'est pas prévu pour fonctionner en sortie direct mais sur enregistreur (mais c'est le seul 10hz trouvé ^^), donc exit l'USB.

Niveau faire du hard j'ai du en faire déjà un peu pour le projet mais bon c'est tout sauf fun ^^
*m***** ya un double sens foireux ^^*

Le soucis avec le vieux matos c'est que on a pas nos besoin en fréquence :/ Sauf si on trouve un équivalent avec le bon port série....

Hmm je vais de ce pas voir si il existe un moyen de chercher les gps par type de connectique !

Encore merci pour l'aide apportée, je reviens avec des questions !

============================================================================================================================================
Ok, alors ouep on a des gestions de ce type à faire une fois les coordonnées gps récupérée (sans pouvoir en dire plus désolé :s)

Un µcrtlr à conseiller en particulier? Nous on était parti sur un truc de ce goût là : http://www.ontrak.net/ADR101.htm ou une version équivalente.

On se goure totalement?

Encore merci, pour l'aide déjà apportée et la future :p
====================================================================
Edit 2

http://www.bb-elec.com/bb-elec/literature/232LPTTL-3406ds.pdf

ce genre de hardware irait? Ou necessite toujours des petit doigts et un bon fer à souder matériaux dont nous ne disposons pas ;) *enfin surtout la partie non-achetable ^^*

Sinon je pourrai toujours voir avec ceux de l'association de robotique (ouai yen a ils aiment le hard ) mais bon ils ont aussi leurs projets et pas forcement beaucoup de temps.... Et vu que ça a du mal à prêter un voltmètre...

Si au cas ou on pouvais avoir un peu d'info de commenkonbidouilleça ça serait top !

(Désolé j'ai tendance a écrire des pavé avec le full-édition :x)

=====
Dernière édition promis !
http://www.gce-electronics.com/fr/nos-produits/14-convertisseur-rs232.html
ça irai?

Edited by - ebya on 10 nov. 2011 01:23:40
Go to Top of Page

barbudor

France
1587 Posts

Posted - 10 nov. 2011 :  13:58:02  Show Profile  Visit barbudor's Homepage  Reply with Quote
quote:

http://www.gce-electronics.com/fr/nos-produits/14-convertisseur-rs232.html
http://www.bb-elec.com/bb-elec/literature/232LPTTL-3406ds.pdf



Ca me parait bien pour les handicapés du fer à sourder
On est bien d'accord : c'est pour convertir la liaison série niveau TTL du module GPS en vrai RS232 et la connecter à la PandaBoard.
Attention pour le 2eme, bien prendre le modèle 232LPTTL33 en 3.3V, pas le modèle 5V.
Mon coeur de hardeux choisirait le 1er mais je vous pardonne d'avance

Pour l'USB, une première solution c'est de l'essayer sur un PC linux et de voir quel genre de driver peut se monter sur ce device.
Si à partir de là vous arrivez à discuter avec le GPS depuis un PC, çà veut dire que vous avez résolu 95% du problème. Restera plus qu'a porter le driver sur la distri embarquée de la PandaBoard.

quote:
http://www.ontrak.net/ADR101.htm

Ca c'est pas du tout ce dont vous avez besoin.
C'est une interface GPIO (General Purpose Input Output) déportée par RS232. Connectée à un PC ou à la PandaBoard ca peut permettre de lire des états logiques ou analogiques : 8 In/Out numériques et 8 In analogiques. Par exemple lire l'état d'un capteur de contact ou lumineux. Mais étant relié par RS232 c'est pour des interfaces plutôt lente.


Vous êtes de quelle école ?


Modérateur Forum Traceurs GPS et Suivi GPS Temps Réel, son Index (français) et Les bons plan SIM pour traceurs GPS
Moderator Forum Live GPS Tracking Systems and its Index (english)
CartoExploreur3D | OziPC+OziCE(iPaq314) | TTGoLive950 | Carminat TomTom Live | Tracker Coban GPS-102

Edited by - barbudor on 10 nov. 2011 13:59:41
Go to Top of Page

ebya

France
6 Posts

Posted - 10 nov. 2011 :  14:22:25  Show Profile  Reply with Quote
De l'EFREI (informatique à fond)on ne connait pas grand chose au monde des µctrlr et autres hardware du type (surtout que notre groupe a fait une zolie prépa avant et pas du tout d'éléc de ce type^^').

Le soucis avec le Driver sur la Panda c'est que on est short en mémoire (vu que lon reste le plus léger possible) donc on va se tourner vers la solution du convertisseur je pense :)
Sauf si on a vraiment besoin de mémoire en fin de comptes....(oui on est dans la pré-phase de développement).

Ok pour le µcrtlr que l'on avait proposé effectivement suffisait de lire...... ^^'
Mais ça peu nous servir pour une autre partie du projet (que je ne peux pas développer donc je garde le lien sous le coude :) ).

Si jamais on s'orientais vers un µcrtlr il faudrait s'orienter le plus vers quels types? (Sachant que si il pouvait faire des calculs lourd* on dit pas non :) ).

*Comprendre soulager la panda ^^

Encore merci pour ton aide :)


Go to Top of Page

barbudor

France
1587 Posts

Posted - 11 nov. 2011 :  11:28:22  Show Profile  Visit barbudor's Homepage  Reply with Quote
Je suis surpris que vous vous sentiez à l'étroit sur une PandaBoard. Avec un CortexA9@1GHz et 1GB de DDR vous avez quand même de la puissance sous le coude. C'est qu'il y a dans encore pas mal de smartphone (les dual et quad core c'est pas encore si courant).

Dupliquer les CPU çà a des avantages et des inconvénients. De même s'il s'agit d'utiliser des CPU différents.
Par exemple utiliser un ARM + DSP pour donner au DSP le code le plus gourmand en calcul (mais il faut savoir bien utiliser un DSP) ou un ARM + uC pour donner au uC des tâches de uC tels que de la gestion de capteurs, gestions de moteurs, ... et garder à l'ARM les tâches "nobles" telles que réseau, UI graphiques...
Mais différents CPU c'est déjà gérer une comm entre les deux, bien répartir le boulot en fonction des capacité de l'un et de l'autre, apprendre et gérer 2 environnement de DEV différents.
Donc une solution peux être 2 x PandaBoard.
Ou alors viser plus haut avec carrément une micro-ITX Atom.

Sinon dans les solutions uC faciles il y a la famille Arduino. Il y a de nombreuses cartes "mères" dispo en kit ou montées avec différentes option "on-board" ou bien des modules a enficher. Une belle communauté derrière.

Si le choix de la PandaBoard est liée à un partenariat de l'ecole avec TI, vous pouvez regarder aussi les uC de TI. Notamment les MSP430, petits uC très basse conso. Ou bien les gammes SteralisARM et HerculesARM. Cartes d'eval dispo chez TI.

Tout dépend si vous cherchez un co-processeur pour gérer des entrées sorties ou pour faire du calcul.





Modérateur Forum Traceurs GPS et Suivi GPS Temps Réel, son Index (français) et Les bons plan SIM pour traceurs GPS
Moderator Forum Live GPS Tracking Systems and its Index (english)
CartoExploreur3D | OziPC+OziCE(iPaq314) | TTGoLive950 | Carminat TomTom Live | Tracker Coban GPS-102
Go to Top of Page

ebya

France
6 Posts

Posted - 11 nov. 2011 :  11:46:37  Show Profile  Reply with Quote
Hop

Alors une petite précision : le projet n'est pas encadré par l'école ^^
Il s'agit d'un projet perso que nous développons dans le cadre scolaire mais sans encadrement classique.
Donc nous n'avons pas de matériel prédéfini ni de partenariat technique ^^.

Effectivement on pense déjà à doubler la board pour permettre de faire les calculs dont nous avons besoin (certains étant surement assez lourd, surtout au niveau de la RAM).
On estime en théorique avoir besoin de ça, rien qu'a l'architecture du code (gestion gps, vidéo, motorisation , etc) qui demandent de l'actualisation temps réel.

Merci beaucoup pour l'aide apportée je passerai pour la moindre question !
Et donner des nouvelles de l'avancement.

NB : je pense repasser assez vite pour des questions.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply/Répondre
 Printer Friendly
Jump To:
GpsPasSion Forums © 2002-2013_GpsPasSion/Manzanite Go To Top Of Page
This page was generated in 1,81 seconds. Powered By: Snitz Forums 2000 Version 3.4.05