RPIGPS Bookworm
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
- 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.