OE3BLC
NTP-Server mit GPS-Quelle
Ich wollte schon lange eine vom Internet unabhängige Zeitquelle haben. Ein erster Versuch, das DCF77-Zeitsignal mit einem Raspberry Pi zu empfangen, war grundsätzlich erfolgreich, hatte in meinem Fall jedoch einen entscheidenden Nachteil: Das empfangene Signal war nur nach Sonnenuntergang stark genug, um dekodiert werden zu können. Als Alternative bot sich die Zeitinformation der GPS-Satelliten an. Basierend auf der Arbeit von Andreas Spiess (github/SensorsIot) entwickelte ich eine an meine Bedürfnisse angepasste Version eines NTP-Servers auf GPS-Basis.
Beschreibung
Komponenten: Alle Projektdateien sind hier zu finden.

Um nicht alle Clients direkt auf den ESP32 loszulassen, habe ich noch einen NTP-Server in einem Docker-Container dazwischengeschaltet.


"docker compose" für NTP-Server
services:
  ntp:
    container_name: ntp
    image: cturra/ntp:latest
    restart: unless-stopped
    ports:
      - 123:123/udp
    environment:
      - TZ=Europe/Vienna
      - LOG_LEVEL=0
      - NTP_SERVERS="192.168.0.222,bevtime1.metrologie.at,bevtime2.metrologie.at,ts1.univie.ac.at"

192.168.0.222 = IP des GPS-NTP-Servers.
sonstiges
http://192.168.0.222/gps
Liefert eine json-Datei mit den aktuellen Positionsdaten.
Links
NTP Server
Wikipedia - NTP
Getting NMEA unknown msg*58 and other garbage from my NEO-6M-0-001 GPS module