Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Gps Adafruit ultimate : utilisation en tracker autonome
#1

Bonjour,

Ce gps a un mode bien intéressant : il peut logger votre position, tout seul à condition d'être alimenté par une pile lithium 3V.
Moi ça me plait bien quand je vais courir : je me colle le truc au cul, je récupère le log à la maison. Bref un gps à pas cher (à comparer d'un Garmin donc).
Mais il faut pouvoir envoyer quelques commandes au gps. Normalement notre raspberry doit savoir faire. Mais moi pas trouver comment.
Apparement, pour Arduino, il y a une librairie c++ pour faire tout ça. Mais ça dépasse toute mes compétences pour la porter sur raspi. Le pire est que le constructeur de la puce fournit un .exe pour window. Je vais quand même pas aller voir mon voisin pour utiliser son window vu que je le fais c***r depuis des mois pour qu'il passe à linux.
Quand à Gpsd, et les outils de base gpsctl ou gpsmon disponible avec raspbian, mon intuition me dit que c'est possible de les utiliser pour envoyer la commande PMTK qui va bien... Mais je cherche encore.
Quelqu'un peut-il m'aiguiller?

Cool
Répondre
#2

Salut,

Ca m'intéresse comme projet, c'est quoi le lien du GPS ?

Merci!
Répondre
#3

arduino-ultimate-gps

Cool
Répondre
#4

J'ai prévu de me faire une veste connectée pour mon prochain trek, qui embarquerait sans doute cette puce.
Donc effectivement, ça m'intéresse (mais ça serait avec une puce arduino moi )

Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#5

A priori, le gps a une bonne précision même sans antenne. Après en trek en montagne par example, une antenne devrait être nécessaire.

Cool
Répondre
#6

Boarf, les montagnes islandaises ne culminent pas trop haut ça va Big Grin

Enfin il faudra que je me penche sur ce truc !

Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#7

Intéressant... On peut y voir beaucoup d'applications !
Répondre
#8

Je vous livre toute ma science ;-) et mon besoin d'info.
Quelques sources documentaires utiles :
les howto de mchobby http://mchobby.be/wiki/index.php?title=RASP-GPS-ULTIME
http://mchobby.be/wiki/index.php?title=A...S_ULTIMATE
Les outils gpsd, gpsmon, cgps etc... disponible sur debian/ubuntu et autres distro linux dans deux paquets : gpsd et gpsd-client (sudo apt-get install...) :
http://catb.org/gpsd/
Rapidemment,
gpsd est le serveur qui va se connecter au gps. gpsd est capable de communiquer avec la plupart des gps utilisant le protocole NMEA ainsi que d'autre type de protocole. gpsd est utilisé sur votre smartphone android par exemple. Du coup, il est parfaitement adapté pour adafruit gps ultimate.
Une fois lancé, on peut se connecter au serveur en local sur le port 2947 (par défaut). Si vous lancez gpsd avec l'option -G, le serveur ouvrira un port externe sur votre raspberry. Vous pouvez utilisez un client comme cgps sur votre pc favori (ou xcgps en gui) pour écouter votre gps.
Par exemple, sur votre raspberry, si votre gps est pluggé sur l'UART
Code :
sudo gpsd -G /dev/ttyAMA0
et sur un terminal sur votre pc
Code :
cgps -s IPduRaspberry:2947
et hop, toute les trames apparaissent dans votre terminal avec les principales infos : localisation, satellites repéré azimut, fix3D (si bonne réception, vous aurez votre altitude, vitesse, cap...etc)
pour un affichage gui
Code :
xcgps -s IPduRaspberry:2947
sudo sur votre raspbian, si vous n'avez pas activez le compte root et que vous êtes sudoers.

Attention, de base le gps envoie des trames vides même s'il n'est pas synchronisé. Ça peut mettre plusieurs dizaines de minutes avant qu'il soit synchronisé pour la réception des signaux satellites = démarrage à froid. Par expérience, si on lance gpsd avant la synchro, ben ça bloque le gps. Du coup, il vaut mieux attendre que le gps se soit synchronisé avant de lancer gpsd. Et évidemment, si vous n'avez pas d'antenne, il faut mettre votre module et votre rasp à l'extérieur avec une vue bien dégagé du ciel (le rebord de la fenêtre ça marche pas sauf si vous êtes plein sud)...En wifi, c'est pratique.
Si vous coupez l'alimentation du module gps, il perd sa synchro. Pour éviter cela : la pile lithium. Même non alimenté par votre raspberry, le gps restera synchronisé, même sans réception satellitaire. Du coup dés que vous exposez votre gps dans un espace dégagé, il se géolocalisera trés rapidemment.
Le gps possède des broches intéressantes :
FIX qui permet de récup une info de synchronisation : utilisable par exemple pour tester avant de lancer le daemon gpsd.
EN qui permet de passer le gps en mode disable/enable. Disabled, le gps est désactivé et ne consomme presque plus rien. Enabled, il envoie des trames NMEA. Je pense que si le mode datalogging est activé, le gps continue de logger dans sa mémoire flash même en mode disabled ==> d'après le site du constructeur du chip http://www.globalsat.com.tw 16heures de log dans ce mode (je suis pas sur d'avoir tout compris, donc à vérifier).

gpsmon je suis certain que ce client permet de monitorer le gps = envoyer une trame de commande. Mais j'ai pas compris comment l'utiliser pour cet usage. Je comprends rien à la manpage.

librairie adafruit gps ben là c'est pour arduino. Je sais pas comment utiliser cette librairie écrite en c pour raspberry. Il y a les principales commandes $PMTK pour utiliser les fonctionnalités avancées du gps. De base, je sais pas comment envoyer une trame vers le gps avec l'UART.
Donc les infos sont bienvenue! Merci à vous.

Cool
Répondre
#9

Je confirme que l'ultimate GPS fonctionne très bien..
L'antenne intégrée est aussi très bonne.. (fonctionne même a l'intérieur si pas trop loin de la fenêtre avec vue dégagée)

A moins d'être au fond d'un canyon étroit, ca m'étonnerais qu'une antenne soit nécessaire.
(en plus une antenne externe active va consommer.. ce qui n'est peut etre pas l'idee en cas de treck..

Je n'ai pas testé le log interne

Citation :Moi ça me plait bien quand je vais courir : je me colle le truc au cul
Big Grin

J'ai bien quelques vannes pourries .. mais mon statut d'administrateur m'impose de donner l'exemple Smile

Tu dois pouvoir envoyer des commandes au GPS depuis le Rasp avec par exemple pyserial
Répondre
#10

Citation :Ça peut mettre plusieurs dizaines de minutes avant qu'il soit synchronisé

Je crois 12,5 minutes max en théorie (vu la vitesse d'envoi 50 bauds des ephémérides par les satelites etc.. )
(si vue dégagée)
Mais je ne retrouve plus le lien Wink



Citation :Par expérience, si on lance gpsd avant la synchro, ben ça bloque le gps

Je ne crois pas avoir constaté ce problème personnellement

Par contre, ce que j'ai constaté, c'est que si gpsd se lance au démarrage, il semble se lancer avant que le /dev/gps soit "dispo"
et là effectivement.. ca merde..



Citation :le gps restera synchronisé, même sans réception satellitaire

Oui .. mais pendant une durée limitée. Wink
Répondre
#11

Je déterre mon topic, j'ai une question. Mon gps est connecté sur l'uart du raspberry et l'alim 5v du gpio. Est-ce qu'il y a un risque en pluggant/dépluggant le gps à chaud (rasp sous tension NDLR)?

Cool
Répondre
#12

gambit a écrit :Je déterre mon topic, j'ai une question. Mon gps est connecté sur l'uart du raspberry et l'alim 5v du gpio. Est-ce qu'il y a un risque en pluggant/dépluggant le gps à chaud (rasp sous tension NDLR)?

A mon avis non.
Je n'ai pas connaissance de commande a envoyer a un recepteur GPS puur lui dire de s'eteindre proprement.
Répondre
#13

Aie...Ma framboise est morte...

Cool
Répondre
#14

Pour être tout à fait honnête, je ne suis pas sur que ce soit lié. Mais je ne crois pas non plus au coïncidence...

Cool
Répondre
#15

Je ne vois pas trop pourquoi débrancher le GPS cramerait le Rasp.. Est ce que tu n'as rien fait d'autre pendant les tests ? (d'autres alims, des courts circuits etc.. )
Répondre
#16

Je me suis un peu emballé sur le diagnostic : la carte n'a rien. Le cable usb est en cause. Après autopsie du cable, j'ai été impressionné par l'oxydation alors que l'aspect extérieur du câble était parfait. Avec une nouvelle alim/cable j'ai retrouvé une tension correcte entre tp1 et tp2.
Mais du coup ma carte SD était out, impossible de monter les partitions, impossible de booter. Heureusement, un petit coup de testdisk et de fsck et tout est rentré dans l'ordre.

Cool
Répondre
#17

yep.. testdisk est bien pratique pour récupérer les SD... ! Smile
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)