RPIGPS: Porovnání verzí
(→Instalace ovladače GPS - new) |
(→Instalace ovladače GPS - new) |
||
Řádka 76: | Řádka 76: | ||
== Instalace ovladače GPS - new == | == Instalace ovladače GPS - new == | ||
− | wget http://git.savannah.gnu.org/cgit/gpsd.git/snapshot/release-3.16.tar.gz | + | wget http://git.savannah.gnu.org/cgit/gpsd.git/snapshot/gpsd-release-3.16.tar.gz |
Rozbalit do adresáře, třeba | Rozbalit do adresáře, třeba | ||
~/prog/gpsd/3.16 | ~/prog/gpsd/3.16 |
Verze z 29. 7. 2017, 21:19
Raspberry a GPS - zde se pokusím shrnout způsob rozchození GPS modulu na Raspberry V.3 - Jessie.
Obsah
Příprava
Po vytvoření image na microCD musíme ještě nahrát prázdný soubor ssh aby byl funkční přístup přes SSH. Teprve poté se můžeme k Raspberry přihlásit přes SSH. Ve výchozím nastavení je IP adresa načtena z DHCP serveru. Výchozí login je "pi" a heslo "raspberry". U instalace FlightAware je heslo "flightaware".
Po prvním spuštění je vhodné spustit příkaz "sudo raspi-config" pro dokončení plného nastavení vlastního Raspberry.
Následně provedeme upgrade celé distribuce:
sudo apt-get update sudo apt-get dist-upgrade sudo rpi-update sudo apt-get upgrade
Zablokování sériové konzoly
Prvně musíme systému Linux odebrat nastavení pro spuštění sériové konzole. Pokud by jsme tak neučinili, tak nám sériový port obsadí systémová konzole a nešel by následně použít pro GPS. To provedeme editací souboru /boot/cmdline.txt
sudo nano /boot/cmdline.txt
kde změníne
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
na ( odeberte console=ttyAMA0,115200 a pokud existuje, kgdboc=ttyAMA0,115200 )
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Poznámka:
- může se zobrazit konzola = serial0,115200 nebo console = ttyS0,115200 a měla by odstranit ty části řádku, pokud jsou k dispozici.
- na Raspberry v.3 také konzole nastavena být nemusí. Lze to též docílit pomocí raspi-config.
Povolení sériového rozhraní
Na Raspberry V.3 je standartní sériové rozhraní využito pro Bluetooth. Proto musíme dodatečně povolit sériové rozhraní na GPIO portech v souboru /boot/config.txt
sudo nano /boot/config.txt
kde na konec přidáme parametr
enable_uart=1 dtoverlay=pps-gpio,gpiopin=4
Dále do souboru /etc/modules přidáme
sudo nano /etc/modules pps-gpio
Poté restartujeme celé Reaspberry
sudo reboot
Poznámka:
- Toto nastavení lze také provést pomocí raspi-config.
Ověření GPS
Před pokračováním je dobré se přesvědčit že má GPS dostatek dat ze satelitů a že je komunikace přes sériový port v pořádku. Dostatek dat je signalizováno 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:
stty -F /dev/ttyS0 raw 9600 cs8 clocal -cstopb cat /dev/ttyS0
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 ovladače GPS - balíček
Po přípravě sériového portu pro komunikaci z GPS můžeme nainstalovat vlastní podporu pro GPS "gpsd":
sudo apt-get update sudo apt-get dist-upgrade sudo rpi-update sudo apt-get install gpsd gpsd-clients python-gps pps-tools
Následně otevřeme konfigurační soubor /etc/default/gpsd kde nastavíme parametry
USBAUTO="false" DEVICES="/dev/ttyS0" GPSD_OPTIONS="-n"
a můžeme ověřit zda GPS funguje příkazem
cgps -s
nebo
gpsmon
Instalace ovladače GPS - new
wget http://git.savannah.gnu.org/cgit/gpsd.git/snapshot/gpsd-release-3.16.tar.gz
Rozbalit do adresáře, třeba
~/prog/gpsd/3.16
Doinstalujeme pomocné balíčky
sudo apt-get install python-dev libncurses5-dev sudo apt-get install libxlt1-dev docbook-xsl xmlto asciidoc
Přesunout se do zdrojového adresáře a vytvořit sestavu
scons && scons check && sudo scons udev-install
Pokud se to podaří gpsd a gpsdctl budou instalovány zde:
/usr/local/sbin/
Ostatní klienti a nástroje budou instalovány zde:
/usr/local/bin/
Tyto jsou:
cgps, gps2udp, gpsctl, gpsdecode, gpsmon, gpspipe, gpxlogger, lcdgps, ntpshmmon
NTP z GPS
Pro synchronizaci času musíme mít na Rasberry nainstalovanou službu NTP. Ta je ale již součástí image, tudíž tento krok můžeme přeskočit.
sudo apt-get install ntp
Ale aby si NTP server bral čas z GPS, musíme upravit konfigurační soubor /etc/ntp.conf kam přidáme
# gps ntp server 127.127.28.0 minpoll 4 fudge 127.127.28.0 time1 0.183 refid NMEA server 127.127.28.1 minpoll 4 prefer fudge 127.127.28.1 refid PPS
a následně službu NTP restartujeme pro načtení změn
sudo service ntp restart
Po chvíli by jsme měli vidět, že se synchronizuje čas z GPS
pi@raspberrypi:~$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ns1.luns.net.uk 33.117.170.50 2 u 54 64 7 65.454 2.666 5.800 +resntp-b-vip.lo 127.151.91.34 3 u 45 64 17 55.704 -5.169 8.482 +bart.nexellent. 194.242.34.149 2 u 17 64 17 76.585 -4.271 57.595 +v01.s01.be.it2g 193.190.230.65 2 u 20 64 37 86.464 -2.374 228.460 xSHM(0) .NMEA. 0 l 11 16 377 0.000 144.714 3.026 SHM(1) .PPS. 0 l - 16 0 0.000 0.000 0.000
Dokončení
Odstranit soubor /etc/dhcp/dhclient-exit-hooks.d/ntp abychom zabránili přepsání konfigurace ntp z dhcp.
rm /etc/dhcp/dhclient-exit-hooks.d/ntp rm /var/lib/ntp/ntp.conf.dhcp