Pratiques et Techniques en Plaisance
| Imprimer |
Fermer la fenêtre
Salut,
Sous linux, et plus généralement sur les systèmes Unix, l’usage est de ne *pas* se connecter directement au GPS via le port série, mais au contraire de s’y connecter « indirectement », via gpsd.
Gpsd est un multiplexeur plug-and-play (configuration automatique) qui gère tous les GPS et distribue ces informations de localisation aux programmes (locaux ou distants) qui en ont l’usage.
Cette approche a de multiples avantages :
* Cela permet à plusieurs applications d’utiliser le même GPS, car un port série ne peut être utilisé que par un seul processus à la fois. C’est la source de ton problème : quand tu connectes ton GPS, gpsd le prend en charge (en se connectant à /dev/tty...) et le port n’est plus disponible pour OpenCPN. Si tu stoppes gpsd, tu pourras t’y connecter directement avec OpenCPN.
* Cela permet également à la même application d’utiliser plusieurs GPS (ou AIS)
* Cela permet enfin de supporter d’autres protocoles que NMEA (les protocoles propriétaires Garmin par exemple qui offrent certaines fonctionnalités supplémentaires), de corriger les bugs d’implémentation de NMEA présents sur de nombreux modèles de GPS, etc, et de présenter une interface unifiée aux programmes clients.
* Gpsd détecte et initialise le GPS au branchement, mais (par défaut) il n’active la localisation (consommatrice d’énergie) qu’à partir du moment où un client demande des informations de localisation : en supposant que seul OpenCPN utilise ces informations, si tu fermes OpenCPN, gpsd mettra le GPS en « veille ».
En conclusion : il vaut bien mieux laisser à gpsd le soin de se battre avec toutes les particularités des différents GPS et de se connecter à son interface unifiée.
Pour information, gpsd est un programme suffisamment fiable pour être utilisé par l’industrie aéronautique afin de piloter certains drones… ![]()