Häufig gestellte Frage
Wie kann ich eine Uhrzeit (und Datum) aktuell halten auf dem RaspberryPI? Warum GPS? Geht das nicht auch mit DCF77?
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.
DCF77 ???
Grundsätzlich würde dies übrigens auch mit dem DCF77-Langwellenzeitzienst der Physikalisch Technischen Bundesanstalt in Braunschweig funktionieren. Aber es ist damit zu rechnen, dass dieser zuerst im Katastrophenfall ausfallen wird, auch wenn man diesen inzwischen schon als "kritische Infrastruktur" betrachten muss, da jede Einsatzformation immer mit Funkuhren arbeitet.
GPS-Zeit
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: activesystemctl 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!