GPS-Zeit Synchronisierung

Schon bei der Notvallbox V2 fällt es auf: Die Uhrzeit des Raspberry PI ist nicht so genau, wie man das gerne hätte. Kann man dies im Notfall bei der V2 sicherlich noch verkraften, ist dies bei der V3 sicherlich schon ein auffallender Mangel.

OM Gerd (Funkmax) hat sich daher eine Synchronisierung der Computerzeit mit der Zeit des GPS-Signales gewünscht.

Wir haben uns eine USB-GPS-Mouse besorgt (Bezugsquelle) und festgestellt, dass es ziemlich einfach ist, einen GPS-Empfänger einzurichten und die Systemzeit mit dem GPS Signal abzugleichen.

Empfänger in Betrieb nehmen

An einem freien USB-Port des PI oder PC anstecken. Wir gehen im folgenden vom PI aus.

ls -l /dev/serial/by-id
Die Rückmeldung zeigt an, welcher GPS-Empfänger installiert ist und (WICHTIG!) an welcher (virtuellen) seriellen Schnittstelle dieser angeschlossen wurde. In unserem Fall ist dies /dev/ttyACM0.

Notwendige Software laden

sudo apt -y install gpsd gpsd-clients chrony

sudo nano /etc/default/gpsd
Die Datei bitte editiern, damit sie anschliessend so aussieht:

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
START_DAEMON=”true”
### Bitte eigene korrekte Schnittstelle einsetzen!!!
DEVICES="/dev/ttyACM0"
# Other options you want to pass to gpsd
GPSD_OPTIONS="-n"
# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="true"

Datei speichern und schliessen

sudo nano /etc/chrony/chrony.conf
Folgende Zeile durch setzen eines # bitte auskommentieren:

pool 2.debian.pool.ntp.org iburst

Am Ende der Datei folgende Zeile einfügen:

refclock SHM 0 offset 0.5 delay 0.2 refid NMEA

Datei speichern und schliessen

sudo reboot

Prüfen ob alles läuft

systemctl is-active gpsd
Ausgabe: active

systemctl is-active chronyd
Ausgabe: active

Wenn beide Dienste auf „active“ stehen, dann werden die GPS-Daten ausgelesen (gpsd) und durch den Zeitserver chronyd regelmässig mit der Systemuhr abgeglichen.

Den GPS-Empfang prüfen

sudo gpsmon

Hier kann man nun die eingehenden GPS-Datenpakete beobachten.

In der linken Spalte werden die empfangenen Satelliten dargestellt. In der mittleren Spalt findet man die Uhrzeit wieder (ACHTUNG: UTC!!!) und unten sieht man die einlaufenden GPS-Daten.

Es kann durchaus einige Minuten dauern, bis ausreichend Satelliten empangen wurden.

Der GPS-Monitor ist aber zum Betrieb der Notfallbox nicht notwendig.

Auch ist bei heutigen GPS-Empfänger keine freie Sicht mehr zum Himmel erforderlich - zum Abgleich der Uhrzeit schon einmal gar nicht. Das Bild oben wurde gemacht bei geschlossenem Rolladen und der GPS-Mouse im Inneren meiner Wohnung ⇒ Voller Empfang!