RPIGPS Bookworm: Porovnání verzí
(→Ověření PPS) |
(→Instalace Chrony) |
||
Řádka 89: | Řádka 89: | ||
Poznámka: V případě že GPS přijímač je připojen přes seriové rozhraní, tak pro PPS signál se využívá jeden z pinů DCD, RI a DSR. | Poznámka: V případě že GPS přijímač je připojen přes seriové rozhraní, tak pro PPS signál se využívá jeden z pinů DCD, RI a DSR. | ||
== Instalace Chrony == | == Instalace Chrony == | ||
+ | Vlastní instalace. Pozor, pokud jiz je nainstalovane NTP, tak jej odinstaluje. | ||
+ | sudo apt install -y chrony | ||
+ | Pote upravíme nastavení chrony, kde přidáme řádku pro GPS, PPS a upravíme z jakého rozsahu budeme službu NTP nabízet: | ||
+ | * refclock SHM 0 refid NMEA offset 0.200 | ||
+ | * refclock PPS /dev/pps0 refid PPS lock NMEA | ||
+ | * allow | ||
+ | sudo nano /etc/chrony/chrony.conf | ||
+ | |||
+ | ###### pod tímto řádkem jsou vlastní změny konfigurace ####### | ||
+ | server 10.98.1.1 iburst minpoll 3 maxpoll 5 | ||
+ | server time-a-b.nist.gov iburst | ||
+ | server time-d-b.nist.gov | ||
+ | server utcnist.colorado.edu | ||
+ | server time.windows.com | ||
+ | server time.apple.com | ||
+ | |||
+ | # zpoždění bylo určeno experimentálně nastavením noselect a poté sledováním po dobu několika hodin | ||
+ | # 0,325 znamená, že časová věta NMEA dorazí 325 milisekund po pulzu PPS | ||
+ | # zpoždění nastaví dopředu | ||
+ | refclock SHM 0 delay 0.325 refid NMEA | ||
+ | refclock PPS /dev/pps0 refid PPS | ||
+ | |||
+ | allow 10.98.1.0/24 # my home network | ||
+ | ###### nad tímto řádkem jsou vlastní změny konfigurace ####### | ||
+ | |||
+ | ###### pod tímto řádkem jsou standardní chronické věci ####### | ||
+ | keyfile /etc/chrony/chrony.keys | ||
+ | driftfile /var/lib/chrony/chrony.drift | ||
+ | #log tracking measurements statistics | ||
+ | logdir /var/log/chrony | ||
+ | maxupdateskew 100.0 | ||
+ | hwclockfile /etc/adjtime | ||
+ | rtcsync | ||
+ | makestep 1 3 | ||
== Instalace NTP == | == Instalace NTP == |
Verze z 9. 3. 2024, 22:33
Nová verze Raspberry a Debianu přináší také jiný způsob instalace.
Obsah
Úvod
Po vytvoření image si nastavíme obvyklé rozhraní. Pozor, prvni odstavec je fakt jen pro mne ...
sudo su root apt install -y mc cd /root sed -i 's/#alias ll=/alias ll=/' .bashrc sed -i 's/#alias la=/alias la=/' .bashrc cd /home/tydyt sed -i 's/#alias ll=/alias ll=/' .bashrc sed -i 's/#alias la=/alias la=/' .bashrc sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/' .bashrc exit
Následně provedeme upgrade celé distribuce:
sudo apt-get update && sudo apt-get dist-upgrade -y sudo apt-get upgrade -y && sudo apt autoremove -y sudo rpi-update
Nastavení COM
Pokud budeme GPS přijímač připojovat přes sériové rozhraní Raspberry (nikoliv přes USB), je potřeba z něj odpojit konzoli a nechat aktivoní sériový port. To provedeme pomocí konfiguraččního nástroje pro Raspberry.
sudo raspi-config
Následné volíme:
3 Interface Options Configure connections to peripherals I5 Serial Port Enable/disable shell messages on the serial connection Would you like a login shell to be accessible over serial? <No> Would you like the serial port hardware to be enabled? <Yes>
Nakonec provedeme reboot, aby se změna nastavení sériového portu projevila.
Nastaveni PPS
Pro funkci PPS musíme vyčlenít jeden pin GPIO,
sudo bash -c "echo '# Set PPS on GPIN' >> /boot/firmware/config.txt" sudo bash -c "echo 'dtoverlay=pps-gpio,gpiopin=4' >> /boot/firmware/config.txt"
a přidat modul pps.
sudo bash -c "echo 'pps-gpio' >> /etc/modules"
Pro aplikování opět provést restart.
Zapojení
Ověření GPS
Před pokračováním je dobré se přesvědčit že modul GPS má dostatek dat ze satelitů a že je komunikace přes sériový port v pořádku. U některých modelů je dostatek dat signalizován led "Fix" na modulu:
- Bliká v intervalu 1s - No Fix (nedostatek dat)
- Blikne jednou za 10s - OK Fix
Je možné,že bude nutné přijímač GPS dát blíže k oknu, nebo připojit externí anténu. Pak můžeme pokračovat v ověření "surových" dat z přijímače přímo ze sériového portu:
cat /dev/serial0
Následně by se nám měli zobrazit "surová" data, například
$GPGGA,193338.000,4909.7635,N,01643.8563,E,1,10,0.87,221.4,M,43.4,M,,*6C $GPGSA,A,3,03,11,31,22,01,17,09,14,06,23,,,1.57,0.87,1.30*01 $GPRMC,193338.000,A,4909.7635,N,01643.8563,E,0.21,357.98,220717,,,A*64 $GPZDA,193338.000,22,07,2017,,*56 $GPGGA,193339.000,4909.7635,N,01643.8563,E,1,10,0.87,221.4,M,43.4,M,,*6D $GPGSA,A,3,03,11,31,22,01,17,09,14,06,23,,,1.57,0.87,1.30*01 $GPRMC,193339.000,A,4909.7635,N,01643.8563,E,0.11,57.42,220717,,,A*52
Pokud tomu tak je, můžeme pokračovat ....
Instalace GPS a PPS
Nainstalujeme vlastní ovladače pro GPS a PPS.
sudo apt-get install -y gpsd gpsd-clients pps-tools
Následně otevřeme konfigurační soubor /etc/default/gpsd kde nastavíme parametry
sudo nano /etc/default/gpsd
DEVICES="/dev/serial0" GPSD_OPTIONS="-n" USBAUTO="false"
Poté restartujeme službu, aby se změny projevily.
sudo systemctl restart gpsd.service
Ověření gpsd
Ověření funkčnosti GPS je možné použít několik pomocných programů které jsou součástí předchozí instalace. Například:
- gpsmon
- cgps -s
- sudo ntpshmmon
Ověření PPS
Prvně ověříme, že je modul PPS načtem
lsmod | grep pps
Měli by jsme dotat následující (obdobnou) informaci:
pps_gpio 16384 0
K ověření pulzů PPS můžeme použít:
sudo ppstest /dev/pps0
Následně by jsme měli získat podobný výpis
trying PPS source "/dev/pps0" found PPS source "/dev/pps0" ok, found 1 source(s), now start fetching data... source 0 - assert 1504898420.000395033, sequence: 2859 - clear 0.000000000, sequence: 0 source 0 - assert 1504898421.000394391, sequence: 2860 - clear 0.000000000, sequence: 0 source 0 - assert 1504898422.000394114, sequence: 2861 - clear 0.000000000, sequence: 0
Pokud by se zobrazil výpis " time_pps_fetch() error -1 (Connection timed out) " tak PPS pulzy nejsou na daném rozhraní k dispozici.
Poznámka: V případě že GPS přijímač je připojen přes seriové rozhraní, tak pro PPS signál se využívá jeden z pinů DCD, RI a DSR.
Instalace Chrony
Vlastní instalace. Pozor, pokud jiz je nainstalovane NTP, tak jej odinstaluje.
sudo apt install -y chrony
Pote upravíme nastavení chrony, kde přidáme řádku pro GPS, PPS a upravíme z jakého rozsahu budeme službu NTP nabízet:
- refclock SHM 0 refid NMEA offset 0.200
- refclock PPS /dev/pps0 refid PPS lock NMEA
- allow
sudo nano /etc/chrony/chrony.conf
###### pod tímto řádkem jsou vlastní změny konfigurace ####### server 10.98.1.1 iburst minpoll 3 maxpoll 5 server time-a-b.nist.gov iburst server time-d-b.nist.gov server utcnist.colorado.edu server time.windows.com server time.apple.com # zpoždění bylo určeno experimentálně nastavením noselect a poté sledováním po dobu několika hodin # 0,325 znamená, že časová věta NMEA dorazí 325 milisekund po pulzu PPS # zpoždění nastaví dopředu refclock SHM 0 delay 0.325 refid NMEA refclock PPS /dev/pps0 refid PPS allow 10.98.1.0/24 # my home network ###### nad tímto řádkem jsou vlastní změny konfigurace ####### ###### pod tímto řádkem jsou standardní chronické věci ####### keyfile /etc/chrony/chrony.keys driftfile /var/lib/chrony/chrony.drift #log tracking measurements statistics logdir /var/log/chrony maxupdateskew 100.0 hwclockfile /etc/adjtime rtcsync makestep 1 3