SYNCHRONISATION DE L'HORLOGE D'UN RASPBERRY PI AVEC UN RÉCEPTEUR GPS []

Outils pour utilisateurs

Outils du site


SYNCHRONISATION DE L'HORLOGE D'UN RASPBERRY PI AVEC UN RÉCEPTEUR GPS

SYNCHRONISATION DE L'HORLOGE D'UN RASPBERRY PI AVEC UN RÉCEPTEUR GPS

POURQUOI / INTRO

Plusieurs applications radioamateurs nécessitent que l'ordinateur sur lequel elles fonctionne soit précisément à l'heure. C'est notamment le cas pour des modes de transmissions qui utilisent un cadencement précis entre émission et réception. En temps normal, la synchro de l'horloge du PC se fait à travers le réseau (localement si on dispose d'un serveur NTP ou plus généralement, par internet) via le protocole NTP. Sur le terrain il n'est pas toujours possible d'avoir accès à un réseau fiable, voire à un réseau tout court. En utilisant un récepteur GPS autonome, il est possible de mettre à l'heure son ordinateur de manière suffisamment précise, sans connexion à un réseau.

INSTALLATION + CONFIG

Environnement : “Raspbian GNU/Linux 11 (bullseye)”

OUTILS GPS

$> sudo apt install -y gpsd gpsd-tools gpsd-clients

CONFIG GPSD

Éditer /etc/default/gpsd

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
 
# Remplacer /dev/ttyACM0 par le device créé à la connexion du GPS au port USB
# Faire un ''tail -F /var/log/syslog'' avant de connecter le GPS au port USB et regarder quel device est créé
DEVICES="/dev/ttyACM0"
 
# Other options you want to pass to gpsd
# '-n' permet de rechercher les sats au lancement du daemon
GPSD_OPTIONS="-n"
 
# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="true"
 
# Socket
GPSD_SOCKET="/var/run/gpsd.sock"
 
# Start deamon at startup
START_DAEMON="true"

REDÉMARRER GPSD

$> sudo service gpsd start

INSTALLER LES PAQUETS NTP

sudo apt install -y ntp ntpstat

ÉDITER LA CONFIGURATION NTP

Éditer /etc/ntp.conf et ajouter

#GPS TIME SOURCE
server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 refid GPS

REDÉMARRER LE SERVICE NTP

$> sudo service ntp restart

CRÉER UN LANCEUR DU DAEMON GPSD AU DÉMARRAGE

Éditer /etc/systemd/system/gpsd.service

[Unit]
Description=GPS (Global Positioning System) Daemon
Requires=gpsd.socket
# Needed with chrony SOCK refclock
After=chronyd.service
 
[Service]
EnvironmentFile=-/etc/default/gpsd
EnvironmentFile=-/etc/sysconfig/gpsd
ExecStart=/usr/sbin/gpsd -N $GPSD_OPTIONS $DEVICES
 
[Install]
WantedBy=multi-user.target
Also=gpsd.socket
 
[Unit]
Description=GPS (Global Positioning System) Daemon
Requires=gpsd.socket
# Needed with chrony SOCK refclock
After=chronyd.service
 
[Service]
EnvironmentFile=-/etc/default/gpsd
EnvironmentFile=-/etc/sysconfig/gpsd
ExecStart=/usr/sbin/gpsd -N $GPSD_OPTIONS $DEVICES
 
[Install]
WantedBy=multi-user.target
Also=gpsd.socket

REDEMARRER LE SERVICE AVEC LA NOUVELLE CONFIG

$> sudo systemctl daemon-reload
$> sudo systemctl reenable gpsd.service 

RESSOURCES

documentation/informatique/linux/gps_time_sync/index.txt · Dernière modification : de f1sls