rpi:config:gpsd

Installer Gpsd

  • Navilock GNSS GPS NL-8002U u-blox 8 USB 1,50 m [u-blox GNSS receiver (idVendor=1546, idProduct=01a8)]
  • Installer les paquets suivant :
    • Raspbian/Debian : apt-get install gpsd gpsd-clients
    • Opensuse : zypper in gpsd gpsd-clients
  • Afficher la liste du matériel USB connecté : lsusb
  • Brancher le GPS sur un port USB
  • GPS connecté la commande suivante devrait afficher une ligne contenant U-Blox AG : lsusb
  • Rechercher l'adresse du GPS à la fin de dmesg, elle devrait être de la forme /dev/tty… : dmesg
    • Dans notre cas, nous obtenons : /dev/ttyACM0
  • Tester l'activité du GPS : gpsd -D5 -N -n -F /var/run/gpsd.sock /dev/ttyACM0
  • Voir qui écoute sur le port 2947 de Gpsd : lsof -i :2947
  • Voir tous les fichiers ouverts qui contiennent le mot gps : lsof -n | grep gps

Pour lancer Gpsd :

  • dans un 1er terminal le lancer : gpsd -D5 -N -n -F /var/run/gpsd.sock /dev/ttyACM0
  • dans un second voir son activité avec au choix :
    • Gpsmon : gpsmon
    • Cgps : cgps -s

Pour accéder à /dev/ttyACM0 en tant qu'utilisateur classique :

  • vérifier quel est le groupe de /dev/ttyACM0 (ici dialout) : ls -al /dev/ttyACM0
  • ajouter son compte au groupe dialout : usermod -a -G dialout jpm
  • se déconnecter puis se reconnecter pour appliquer les changements.

Par défaut, Gpsd utilise la version socket pour la désactiver il faut arrêter le service puis le socket :

  • systemctl stop gpsd.service ; systemctl disable gpsd.service
  • systemctl stop gpsd.socket ; systemctl disable gpsd.socket
  • Pour lister les services Gpsd en cours d'utilisation : systemctl list-units |grep gps
  • Pour réactiver ces services : systemctl enable gpsd

Avec Node, il est possible de se passer de GPSD et parser directement les trames NMEA qui arrive. Pour cela, il faut utiliser les modules :

  • serialport : pour se connecter à /dev/ttyACM0
  • nmea ou nmea-simple : pour décoder les trames NMEA.
  • rpi/config/gpsd.txt
  • Dernière modification : 2020/02/25 19:43
  • de jpmilcent