NTP (Netwok Time Protocol) est un protocole réseau servant à synchroniser les horloges des ordinateurs. C'est grâce au NTP que ton smartphone ou ordinateur est toujours à l'heure exacte avec un précision de l'ordre de quelques millisecondes.
Ici, on va créer un serveur NTP ayant le maximum de précision et pour un coût modique de moins de 100€ voir 10€ si tu as déjà une partie du matériel. Ce serveur sera de strate 1 ayant pour référence le GPS et permettant d'avoir l'heure exacte avec une marge d'erreur d'environ 300ns (nanosecondes) soit 300 milliardièmes de seconde!
Le Raspberry hébergeant ce blog dispose de son propre GPS, lui garantissant ainsi d'être toujours à l'heure. L'heure affichée en haut de cette page est donc toujours juste avec une erreur d'environ 1 seconde causée par le temps de chargement de la page.
Si tu n'as rien compris à ce que l'on va faire, pas de panique! Avant d'aborder l'installation proprement dite je vais t'expliquer quelques généralités sur la mesure du temps et le matériel que l'on va utiliser afin que tu comprenne bien ce que l'on va faire. Mais tu verras que créer un serveur NTP c'est facile.
Les strates NTP
Les serveurs NTP sont répartis en strates numérotés de 0 à 16 et définissant leur éloignement par rapport à l'horloge de référence. Plus le numéro de strate est élevé, plus le serveur est éloigné de l'horloge source.
Les strates 0 et 16 ont un statut particulier. - La strate 0 est l'horloge elle-même et il n'existe pas de serveur de strate 0. - La strate 16 correspond à un serveur non synchronisé permettant aux autres serveurs de l'exclure car indiquant une heure fausse.
Un serveur de strate 1 est directement connecté à l'horloge de référence et offre la synchronisation la plus précise, un serveur de strate 2 se synchronise sur un serveur de strate 1, un serveur de strate 3 se synchronise sur un serveur de strate 2 et ainsi de suite. En général les serveurs vont rarement au delà de la strate 4. Attention! l'heure ne sera pas forcément plus précise avec un serveur de strate 1 qu'avec un serveur de strate supérieure, notamment sur Internet. Le chemin réseau entre toi et le serveur de strate 1 peut être plus long et traverser beaucoup plus de matériels réseau qu'avec un serveur d'une autre strate qui sera plus proche.
L'horloge de référence
Pour avoir l'heure, ça peut paraître évident mais il nous faut une horloge! Mais comme on veut le maximum de précision on ne va pas utiliser n'importe quelle horloge, il faut une horloge atomique qui est le type d'horloge le plus précis avec une marge d'erreur d'une seconde sur plusieurs millions d'années. Ensuite, cette horloge doit être à l'heure, parce qu'avoir une horloge ultra précise qui n'est pas à l'heure, ce n'est pas très utile.
Ici, notre horloge de référence sera le GPS, et on parle bien du même GPS utilisé en voiture pour nous guider! Là, tu commences à te poser des questions, c'est quoi le rapport entre le GPS et l'heure? c'est comme si l'on se servait d'une carte routière pour avoir l'heure!
Pour comprendre, il faut s'intéresser au fonctionnement du GPS. Un récepteur GPS calcule la distance le séparant des satellites dont leur position est connue. Pour placer un point dans l'espace il faut au moins 3 satellites afin de réaliser une triangulation. Le calcul de distance se fait via la différence de temps entre les signaux reçus des différents satellites et pour savoir quand est parti le signal, il faut l'hordorater et c'est là que le temps entre en compte. Il faut un quatrième satellite pour résoudre une équation à 4 inconnues (X, Y, Z et le temps)
Chaque satellite embarque deux horloges atomiques, dont l'une sers de secours, permettant de diffuser l'heure exacte n'importe où sur Terre.
Et pourquoi pas posséder sa propre horloge atomique?
Avoir sa propre horloge atomique, n'importe quel geek trouverait ça cool sauf que savoir l'heure qu'il est c'est bien plus complexe que ça! Paradoxalement, plus les horloges sont devenues précises, plus c'est devenu complexe de faire en sorte qu'elles indiquent l'heure juste!
Si tu va faire un tour sur Ebay, tu pourras trouver des horloges atomiques pour quelques centaines d'euros et là tu te dis qu'il n'y qu'à la synchroniser une seule fois pour avoir éternellement l'heure exacte. Sauf que ça ne fonctionne pas comme ça!
Une seconde, c'est une seconde, peu importe où l'on est. Enfin c'est ce que l'on croyait jusqu'en 1905 où Albert Einstein nous a pondu sa théorie de la relativité. L'écoulement du temps dépend de la force de gravité et de la vitesse. À l'époque ça ne pose pas de problème puisque la précision des horloges est insuffisante pour en mesurer les effets mais avec l'apparition des premières horloges atomiques dans les années 50 et devenant de plus en plus précises, cet effet va se faire ressentir et poser problème. En 1971 a lieu l'expérience de Hafele-Keating consistant à faire voyager des horloges atomiques à bord d'avions pour vérifier expérimentalement la théorie de la relativité. Parfaitement synchronisés au départ, les horloges ne l'étaient plus à la fin de leur voyage et les décalages théoriques obtenus par le calculs étaient validés expérimentalement. Même chose pour l'action de la force de gravité: une horloge soumise à une plus forte gravité va ralentir par rapport à une autre soumise à une gravité moindre.
Si tu possède ta propre horloge atomique, tu n'auras donc pas l'heure exacte puisque la force de gravité n'est pas parfaitement identique sur Terre, ton horloge ira trop vite ou trop lentement.
La référence de temps utilisée par les horloges atomiques est le TAI (Temps Atomique International), c'est la moyenne pondérée de 450 horloges atomiques dispersés sur la planète. Le TAI est calculé par le Bureau International des Poids et Mesures à Paris.
Et ce n'est pas tout puisqu'il y a un autre paramètre qui entre en compte quand on veux savoir l'heure qu'il est: la vitesse de rotation de la Terre! Il faut savoir que Terre ne tourne pas exactement en 24h! Soumise à l'influence des autres objets du système solaire, sa rotation est irrégulière, elle accélère ou ralenti de quelques millisecondes chaque jour. Cette référence de temps est nommée UT1 (Universal Time) et correspond à l'heure solaire au méridien de Greenwich.
Maintenant, pour avoir l'heure, il faut combiner le TAI et UT1 qui nous donnent le temps UTC (Coordinated Universal Time), c'est à dire l'heure qu'indique les horloges. Le temps UTC suis l'écoulement du TAI auquel on ajoute des secondes intercalaires afin de rester calé sur le temps UT1. Ces secondes intercalaires sont ajoutés de temps en temps uniquement le 30 juin ou le 31 décembre après 23h 59min 59s, la dernière minute de ces jours dure alors 61 secondes. Depuis l'utilisation d'UTC en 1972, 27 secondes intercalaires ont été ajoutés, la dernière remontant au 31 décembre 2016. Attention! ça ne veut pas dire que les jours ont augmentés de 27 secondes depuis 1972 mais simplement que la définition de la seconde ne colle pas exactement au rythme de rotation de la Terre; ce problème est similaire à celui posé par les années bissextiles auxquelles on ajoute un jour afin que le calendrier reste calé sur les saisons.
Maintenant, tu comprends que mesurer très précisément le temps et garder les pendules à l'heure est un tâche complexe effectuée par des laboratoires spécialisés.
Cependant, tu peux toujours ajouter une horloge atomique à ton serveur NTP. Cette horloge sera synchronisée avec le GPS et servira de secours en cas de perte du signal GPS, permettant ainsi à ton serveur de continuer à fournir l'heure précise pendant quelques jours. D'ailleurs, certains serveurs NTP du commerce sont équipés d'une horloge atomique.
Matériel nécessaire
Pour construire notre serveur NTP, on va avoir besoin d'un récepteur GPS ou d'un autre système de positionnement par satellite comme Galilleo ou Glonass. Ce genre de récepteur se trouve sur Amazon pour environ 10€ à 20€, j'ai utilisé celui-ci de type Ublox. Le récepteur GPS utilise un port série pour communiquer avec l'ordinateur sauf que ce port série possède une latence de quelques millisecondes qui va dégrader la précision de l'heure. Pour cela il faut utiliser en plus un signal PPS (pulse per seconde) qui est une brève impulsion électrique envoyée au début de chaque seconde par le récepteur GPS.
Pour résumer: - le port série est utilisé pour savoir l'heure qu'il est - le signal PPS indique très précisément le début de chaque seconde
Les données qui sortent du port série sont toutes les informations brutes calculés par la puce GPS: heure, latitude, longitude, vitesse, nombre de satellites visible etc...
Attention! bien que les puces GPS aient toutes une sortie PPS, sur certains récepteurs GPS la broche PPS de la puce GPS n'est pas câblée, il faudra alors souder un fil directement sur la broche PPS. Vu la petitesse des broches, cette opération est délicate à réaliser. Veiller à choisir un récepteur disposant de la sortie PPS; si le récepteur comporte 5 broches en sortie ça devrait être le cas.
Ensuite, pour notre serveur il nous faut un ordinateur mais pas n'importe lequel puisque l'on va utiliser un Raspberry Pi. Ce qui nous intéresse sur le Raspberry, c'est son connecteur GPIO permettant d'y connecter le récepteur GPS puisque sur le GPIO on y trouve un port série et des connecteurs spécifiques que l'on ne trouve pas sur les ordinateurs type PC permettant de récupérer le signal PPS.
Pour résumer, comme matériel il te faudra: - un récepteur GPS avec sortie PPS - un Rasperry Pi. Évite le Raspberry 1 qui est mono core et offre moins de précision que ses successeurs. - éventuellement des câbles Dupont ou du fil pour connecter le récepteur GPS au Raspberry Pi
Pour gagner en précision et en stabilité, je te conseille de dédier ton Raspberry uniquement à l'utilisation en tant que serveur NTP et ne pas laisser tourner de services inutiles car cela occupe le CPU et diminue la précision de la synchronisation.
Installation matérielle
Tu recevras ton GPS emballé dans un sachet
À l'intérieur, il y a 3 éléments:
le circuit imprimé avec la puce GPS
l'antenne, à clipser sur le connecteur en bas à gauche sur le circuit imprimé.
un connecteur à souder
Ce GPS a aussi un port mini USB que l'on ne va pas utiliser ici. Ce port USB est en fait un adaptateur port série vers USB permettant de connecter le GPS à n'importe quel ordinateur et il a le même rôle que le port série du connecteur à souder.
La nomenclature des broches est indiqué sur le circuit imprimé du GPS.
PPS sortie du signal PPS
TXD transmission de données du port série
RXD réception de données du port série
GND ground, masse
VCC alimentation +3,3V
Pour le branchement, utilise ce schéma des broches du connecteur GPIO.
PPS à connecter sur un des connecteurs GPIO en orange. Attention! le numéro du port GPIO est différent du numéro de la broche physique. Ici j'utilise le GPIO N°18 qui correspond physiquement à la broche N°12 sur le Raspberry.
TXD à connecter sur la broche N°10. Attention! on connecte la sortie d'un élément sur l'entrée de l'autre élément.
RXD à connecter sur la broche N°8
GND à connecter sur n'importe quel connecteur GND en noir
VCC à connecter sur la broche N°1
Lors de la mise sous tension du Raspberry, tu doit avoir un LED rouge qui s'allume et qui au bout de quelques minutes devrait se mettre à clignoter au début de chaque seconde (la LED s'éteint quand l'impulsion PPS est envoyée) indiquant alors que le GPS a accroché le signal et est opérationnel. Tant que ça ne clignote pas, tu ne pourras pas utiliser ton GPS et le mieux est d'aller dehors afin de recevoir les signaux des satellites GPS de façon optimale. Et si tu te poses la question: est-ce que si j'ai plusieurs modules, vont-ils tous clignoter en même temps? la réponse est oui, ils seront tous parfaitement synchronisés.
Exemple de branchement sur un Raspberry Pi 1 que j'ai utilisé pour écrire ce tuto.
Installation logicielle
Installation faite sur Raspberry Pi OS 2022-09-22-raspios-bullseye-armhf-lite
Se connecter en root
Installation des paquets
On aura besoin de:
pps-tools outils pour voir l'état du signal PPS
gpsd daemon GPS
gpsd-tools outils pour GPSD, notamment voir l'état du GPS
chrony c'est le serveur NTP
apt install pps-tools gpsd gpsd-tools chrony
Désactivation de la console série
Une console est activée par défaut sur le port série du Raspberry, il faut la désactiver car elle va entrer en conflit avec le GPS.
Ouvre le fichier de configuration des paramètres du boot
vim /boot/cmdline.txt
Supprime ces deux paramètres s'ils sont présents dans la ligne d'options
console=serial0,115200
console=tty1
Désactive le service console port série
systemctl disable hciuart.service
Configuration de la broche PPS et du port série
Ouvre le fichier de configuration
vim /boot/config.txt
Vérifie que le port série est activé. S'il est présent le paramètre enable_uart doit être à 1. S'il est absent du fichier, ajoute-le.
# Activer le port série
enable_uart=1
Configuration de la broche PPS. Ici on utilise le pin GPIO N°4 mais tu peux en utiliser un autre si tu veux. Attention! le numéro du pin GPIO est différent du numéro de la broche physique sur le connecteur GPIO.
# Broche PPS
dtoverlay=pps-gpio,gpiopin=18
Pour les Raspberry 3 et supérieur avec Bluetooth, il faut le désactiver car il utilise une partie des broches GPIO.
# Désactiver le Bluetooth
dtoverlay=disable-bt
Mapper le GPS et le PPS
On va mapper le GPS et le PPS sur des périphériques virtuels avec des noms spécifiques attendus par chrony.
Créer un fichier de règles UDEV
vim /etc/udev/rules.d/80-gps-pps.rules
Colle ça dedans
# Création du lien symbolique /dev/gps0 pointant vers /dev/ttyAMA0
KERNEL=="ttyAMA0", SUBSYSTEM=="tty", DRIVER=="", SYMLINK+="gps0", MODE="0666"
# Création du lien symbolique /dev/gpspps0 pointant vers /dev/pps0
KERNEL=="pps0", SUBSYSTEM=="pps", DRIVER=="", SYMLINK+="gpspps0", MODE="0666"
Ajout du PPS au kernel
On va dire au kernel Linux d'utiliser un signal PPS.
Ouvre le fichier
vim /etc/modules
Ajoute cette ligne
pps-gpio
Redémarre le Raspberry
reboot
Dans /dev vérifie que tu as ces 2 périphériques grâce à cette commande
ls -l /dev/gps0 /dev/gpspps0
Tu doit avoir un résultat similaire (ignore les dates)
GPSD_OPTIONS options de gpsd -n (nowait) : ne pas attendre qu'un client se connecte pour interroger le GPS -r (badtime) : utiliser l'heure GPS même si le signal n'est pas accroché
DEVICES périphériques Chemin du périphérique à utiliser
USBAUTO concerne les périphériques USB, on n'utilise pas ce parmètre
Ton fichier doit ressembler à ça
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyAMA0"
# Other options you want to pass to gpsd
GPSD_OPTIONS="-n -r"
# Automatically hot add/remove USB GPS devices via gpsdctl
#USBAUTO="true"
Exécute gpsd au démarrage
systemctl enable gpsd
Démarre le service gpsd
systemctl start gpsd
Test du bon fonctionnement du GPS
Le GPS étant maintenant configuré, on va vérifier qu'il fonctionne.
Lance gpsmon
gpsmon
Tu doit avoir un tableau avec toutes les infos retournés par le GPS et ça doit s'actualiser toutes les secondes. Cet affichage est valable pour un GPS envoyant les données au format binaire, si les données sont au format NMEA, l'affichage sera différent. Pour modifier le format, voir la partie Bonus à la fin de cet article.
Les lignes qui défilent sous le tableau sont les données brutes envoyés par le récepteur GPS sur le port série et ces données sont mises en forme dans le tableau pour faciliter leur lecture par un humain. Si ton GPS a accroché le signal et que tes branchements sont corrects, tu doit avoir la ligne “PPS offset”, dans le cas contraire elle est absente; on va tester le fonctionnement du PPS au chapitre suivant.
Attention, l'heure donnée par le GPS est fausse! Le temps GPS est calé sur le TAI et ne prends pas en compte les secondes intercalaires. Les secondes intercalaires sont listés au niveau du système dans les fichiers /usr/share/zoneinfo/leapseconds et /usr/share/zoneinfo/leap-seconds.list. Pense à faire régulièrement les mises jour ton système, ces fichiers seront ainsi actualisés.
À partir d'ici, pour continuer ton GPS doit accrocher le signal. Tu doit avoir des Y dans la colonne U à gauche indiquant les satellites actuellement utilisés. S'il n'accroche pas le signal, rapproche-toi d'une fenêtre ou va dehors. Lors d'un démarrage à froid (au moment de la mise sous tension du GPS), il peut s'écouler une quinzaine de minutes avant que le GPS accroche le signal.
Test du signal PPS
Exécute la commande
ppstest /dev/gpspps0
Tu doit avoir un résultat de ce genre avec une ligne qui s'affiche toutes les secondes
refclock horloge de référence. Pour le GPS, segment de mémoire partagée (SHM = SHared Memory) et pour le PPS, périphérique /dev/pps0
poll intervalle de polling (interrogation) de l'horloge. Définit toutes les combien de secondes on interroge l'horloge. Ce sont des puissances de 2. Une valeur de 4 signifie interroger l'horloge toutes les 24 secondes soit 16 secondes. Une valeur de 5, interroger l'horloge toutes les 25 = 32 secondes et ainsi de suite.
refid nom que tu choisis de donner à la source de temps. Ici j'ai appelé les sources GPS et PPS.
noselect (GPS uniquement) ne pas utiliser cette horloge pour la synchronisation. En fait on l'utilise pour avoir l'heure mais de façon imprécise. La précision est apportée par le PPS.
lock (PPS uniquement) nom du refid de l'horloge sur laquelle on verrouille la source de temps. Le PPS étant juste un top horaire, on a besoin d'une autre source pour savoir l'heure qu'il est.
Par défaut, le serveur chrony n'autorise aucune connexion, il faut les autoriser en ajoutant le paramètre allow.
Autoriser les connexions en provenance de n'importe quelle adresse
allow all
Autoriser uniquement les connexions en provenance du réseau local 192.168.1.0/24
allow 192.168.1.0/24
Redémarre chrony pour appliquer les modifications
systemctl restart chrony
À partir d'ici, ton serveur NTP est maintenant opérationnel.
Pour afficher l'état de la synchronisation, tu peux utiliser cette commande. Il faut cependant attendre quelques minutes que l'horloge se synchronise et d'ici une dizaine de minutes, tu devrait atteindre la précision maximale.
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#? GPS 0 4 377 20 +132ms[ +132ms] +/- 491us
#* PPS 0 4 377 20 +612ns[-1468ns] +/- 5000ns
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
GPS 29 16 447 -3.833 4.836 +133ms 988us
PPS 6 4 77 -0.010 0.171 -109ns 1281ns
Reference ID : 50505300 (PPS)
Stratum : 1
Ref time (UTC) : Mon Feb 13 17:35:12 2023
System time : 0.000000000 seconds fast of NTP time
Last offset : -0.000002741 seconds
RMS offset : 0.000002092 seconds
Frequency : 52.534 ppm fast
Residual freq : -0.010 ppm
Skew : 0.210 ppm
Root delay : 0.000000001 seconds
Root dispersion : 0.000030353 seconds
Update interval : 16.0 seconds
Leap status : Normal
Ton serveur est synchronisé lorsque le paramètre Leap status indique Normal, tant que ce paramètre est à Not synchronised, ton serveur NTP n'est pas encore synchronisé et non opérationnel.
À côté du nom de la source, juste après le # tu as le status de la source:
* source actuellement utilisée
? source en cours d'acquisition
x falseticker: source rejetée à cause de délais ou variations trop importants
Si ta synchronisation est correcte, tu doit avoir comme ici le point d'interrogation en face de “GPS” et l'étoile en face de “PPS”.
Ajustement précis
Tu remarqueras que dans ma situation, l'offset du GPS est toujours de +132ms, c'est dû à la latence du port série. Il est possible de réduire cette valeur en l'indiquant à chrony. Pour avoir un offset correct, attends 5 à 10 min après le démarrage du serveur le temps de le laisser se synchroniser précisément.
Dans la ligne GPS, il faut ajouter l'offset en secondes via le paramètre "offset". 132 ms en secondes, ça fait 0.132 s. La ligne GPS sera donc
Maintenant, l'offset n'est plus que de quelques centaines de millisecondes
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
GPS 15 8 112 -4.339 18.091 -324us 494us
PPS 15 6 112 +0.000 0.007 +0ns 236ns
Test ultime
Ton serveur NTP étant maintenant opérationnel, tu peux tester son bon fonctionnement en l'éteignant quelques instants et en le rallumant pour vérifier que tout fonctionne au démarrage. L'horloge devrait se mettre automatiquement à l'heure au bout de quelques minutes.
Utilisation du serveur
Maintenant que tu as un serveur NTP fonctionnel, on va pouvoir l'utiliser pour remettre les pendules à l'heure.
Tu peux aussi le rendre disponible à tout le monde sur Internet. Pour cela il faut faire une redirection du port 123 UDP dans ta box internet.
Windows
Ouvre la fenêtre "Exécuter" en faisant [WIN] + R Dans "Ouvrir :" mets timedate.cpl puis [ENTRÉE]
Tu as le panneau de configuration "Date et heure" qui s'ouvre, va dans l'onglet "Temps internet" puis bouton "Modifier les paramètres". Dans le champ "Serveur:" mets l'adresse de ton serveur NTP puis clic sur "Mettre à jour". Tu devrais voir juste en dessous "L'horloge a été synchronisée avec <ADRESSE_DU_SERVEUR> le <DATE_HEURE>". En cas d'échec, recommence car des fois windows est capricieux. Si ça ne fonctionne toujours pas, vérifie ton serveur NTP.
Linux
Il suffit d'ajouter l'adresse de ton serveur NTP dans le fichier de configuration de ton client NTP. En général ntpd ou chrony.
Android
Il n'est pas possible de configurer le serveur NTP utilisé sans aller bidouiller ou rooter l'appareil. C'est une limitation imposée par Google depuis le début. Il existe cependant des applis qui peuvent récupérer l'heure à partir d'un serveur NTP mais sans pouvoir synchroniser l'appareil; la synchronisation via une appli NTP est uniquement possible sur un appareil rooté.
IOS
N'utilisant pas ce système, c'est probablement le même problème que pour Android.
Routeurs, caméras IP et autres périphériques réseau
Si ton matériel a une option de synchronisation NTP, indique simplement l'adresse de ton serveur NTP.
Le serveur NTP de Jesus Forain
Si tu veux, tu peux utiliser mon serveur NTP de strate 1 dont l'adresse est ntp.jesus-forain.fr. Il utilise un Raspberry Pi 2 avec un récepteur GPS; il est disponible en IPv4 et en IPv6.
Bonus: envoyer des commandes au GPS
Pour ton serveur NTP, ceci ne sera pas utile puisque ton GPS a déjà la bonne configuration mais ça peut être utile si tu utilises ton GPS pour d'autres projets ou simplement par curiosité. Tu peux aussi obtenir des informations sur le récepteur GPS comme la version du firmware. Ces paramètres sont perdus à la mise hors tension du GPS.
Le GPS envoie ses données sur le port série mais il peut également recevoir des commandes.
Il se peut qu'à l'exécution de ces commandes ça te renvoie cette erreur
ubxtool: failed to import gps, check PYTHONPATH
C'est qu'il te manque une bibliothèque Python qu'il faudra installer
apt install python3-gps
Reset du GPS
Remets le GPS à zéro
ubxtool -p RESET
Passer en mode binaire
ubxtool -e BINARY
ubxtool -d NMEA
On désactive le format NMEA et active le format binaire -e enable (activer) -d disable (désactiver)
Passer en mode NMEA
On fait l'inverse que précédemment. Si tu exécute gpsmon, tu remarqueras que l'affichage est différent.
ubxtool -d BINARY
ubxtool -e NMEA
Forcer un démarrage à froid (COLDBOOT)
Efface toutes les données des satellites en mémoire. Le GPS reviens à un état non synchronisé où il devra chercher les satellites comme lors de la première mise sous tension.
unxtool -p COLDBOOT
Changer la fréquence de rafraichissement
Par défaut, les données GPS sont envoyés toutes les secondes; si le récepteur GPS a un taux d'actualisation de 10Hz, il est possible de les envoyer jusqu'à 10 fois par seconde.
La fréquence d'actualisation est en millisecondes (1000ms = 1s).
Actualiser toutes les secondes (comportement par défaut)
ubxtool -p CFG-RATE,1000
Actualiser 10 fois par seconde soit toutes les 100ms
ubxtool -p CFG-RATE,100
Lance gpsmon et tu verras que ça défile beaucoup plus vite.
Changer la vitesse du port série
Par exemple 115200 bps
ubxtool -s 115200
Il faudra modifier le fichier de configuration de gpsd /etc/default/gpsd en ajoutant le paramètre -s 115200 dans GPSD_OPTIONS et redémarrer gpsd.
Excellent ! Merci pour ce tuto très clair . Exactement ce que je cherchais. Ca donne envie de se lancer !!
Bonjour, tuto très clair est précis ! Le module GPS marche parfaitement suite aux indications de mises en œuvre.
Merci beaucoup !