Garmin GPS
Posiadam odbiornik GPSMap 76CSx firmy Garmin z dodatkowym uchwytem na rower. Wraz z odbiornikiem zakupiłem GPMapa 2007, ale dodatkowych aktualizacji już nie kupowałem.
Darmowe mapy do Garmin GPSMap 76CSx.
Miałem załadowaną do niego mapę UMP-PL TOPO. Mapa ta nadawała się doskonale do jazdy na rowerze, po wcześniejszym załadowaniu trasy. Powodem tego jest to, że posiada zaznaczone dużo obiektów i szlaków, których próżno szukać na innych mapach oraz to, że uaktualniana jest prawie codziennie.
Dnia 2016.06.01 znalazłem informację, jak załadować mapy OpenStreetMap do odbiorników firmy Garmin. No i w tym momencie chyba muszę stwierdzić, że te właśnie mapy są dużo lepsze niż wyżej wspomniana UMP-PL TOPO. Jedynym minusem może być brak topografi terenu w mapie rowerowej (podstawowej mapy dokładnie nie sprawdzałem).
Mapy do mojego GPS’a wygenerowane na podstawie danych OpenStreetMap ściągnąłem spod garmin.openstreetmap.nl.
Pobrałem mapy w wersjach Generic Routable, Generic Routable (New Style) oraz Routable Bicycle (Openfietsmap Lite).
Mapę topograficzną OpenTopoMap znalazłem na garmin.opentopomap.org.
Mapę do jazdy MTB pobrałem z openmtbmap.org.
Programy do obróbki danych GPS.
Do zarządzania danymi z mojego GPS znalazłem fajny program o nazwie QMapshack, a do wysyłania danych do odbiornika używam GPS Babel (a dokładniej jego interfejs graficzny).
W momencie pisania tego akapitu używam systemu Arch Linux z jądrem systemu w wersji 4.5.4.
Aby w programie QMapshack było widać listę logów z GPSMap 76CSx (i podobnych), trzeba uruchomić automatyczne montowanie urządzeń USB-Storage (opis jest tu). Należy jeszcze w katalogu Garmin na karcie pamięci odbiornika zapisać plik GarminDevice.xml.
Pozwoli to przynajmniej na odczyt zapisanych śladów z odbiornika, po przełączeniu go w tryb pamięci masowej.
Do obróbki i oglądania danych statystycznych z zapisanych logów GPS używam programu Viking.
Wysyłanie danych do GPSMap 76CSx.
Aby można było użyć GPS Babel do wymiany danych z odbiornikiem, należy wykonać kilka rzeczy.
- Zablokować ładowanie modułu garmin_gps. W /etc/modprobe.d/garmindev.conf dopisać:
blacklist garmin_gps
- Przyznać odpowiednie prawa dostępu dla urządzenia, aby można go było używać jako zwykły użytkownik systemu. W pliku /etc/udev/rules.d/51-garmin.rules dopisać:
ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0666", GROUP="users"
- Wyłączyć zarządzanie energią urządzeń USB dla naszego odbiornika. Zakładając, że używamy pakietu tlp, w pliku /etc/default/tlp dopisujemy:
USB_BLACKLIST="091e:0003"
- Restartujemy komputer.
Dane wysokości terenu.
Mapy OpenStreetMap bardzo mi odpowiadają z powodu swojej szczegółowości. Jedyne czego mi w nich brakuje, to profil wysokości terenu.
Można sobie z tym poradzić dodając te dane do mapy. Pytanie tylko jak je zdobyć? Otóż sprawa jest dość prosta. W moim przypadku użyłem danych SRTM3 w postaci plików GeoTiff dostępnych dla interesującego nas obszaru, które można znależć tu.
Najpierw sprawdziłem dokładnie na jakich koordynatach leży Polska (robimy to przesuwając kursorem myszki na mapie świata i powyżej wyświetla nam interesujące nas dane). Na podstawie tych danych w punkcie 2 (Data selection method) wybieramy Input coordinates i wpisujemy odpowiednie dane geograficzne. Potem wciskamy przycisk Mark area i sprawdzamy, czy zaznaczyło nam nasz obszar. Jeśli interesuje nas tylko format GeoTiff, to nic nie zmieniamy w trzecim punkcie na tej stronie i możemy rozpocząć przeszukiwanie bazy dla zaznaczonego obszaru.
Nie ma sensu zaznaczania niepotrzebnych nam terenów, gdyż dane te zajmują dość dużo miejsca. Dla przykładu teren Polski wymagał ściągnięcia danych dla dziewięciu segmentów. Po rozpakowaniu zajęły one 620MB miejsca na dysku.
Gdy już mamy pobrane interesujące nas dane, trzeba je rozpakować do jednego katalogu. Ja osobiście mapy trzymam w katalogu ~/maps, a dane wysokościowe SRTM3 w ~/maps/DEM/srtm.
Teraz trzeba wygenerować index danych wysokościowych, które pobraliśmy. Jest on potrzebny w programie QMapshack.
Robimy to przez wybranie opcji (Menu Tool -> VRT Builder).
Teraz pozostaje już tylko wskazanie katalogu z tym indeksem w programie QMapshack i możemy się cieszyć dostępnością danych o wysokości na mapach OpenStreetMap.
Jeśli chcesz dokładne dane wysokościowe dla całej Europy, to możesz je ściągnąć z adresu EEA. Potrzebne są pliki eudem_dem_3035_europe.tif i eudem_dem_3035_europe.tif.ovr. Ten pierwszy ma 22,5GB objętości, a drugi 2,2GB. Dane te są dokładniejsze niż SRTM3. Niestety od jakiegoś czasu nie są już one dostępne pod tym adresem.
Nowszą ich wersję można pobrać z tego adresu. Trzeba tylko założyć sobie konto w ich serwisie, aby można było te dane pobrać. Mają one dużą objętość. Dla całej Europy jest tego ok. 45 GB.
Dane routingu.
Zostało jeszcze dodać dane służące do wyznaczania tras. Oczywiście nie pobieramy danych dla całej Europy, ponieważ zajmują one ponad 21GB. Wybieramy tylko kraj, w którym mamy zamiar podróżować (może ich być kilka, albo może to być też tylko jedno województwo). Dokładnie chodzi o pliki .osm.pbf. W tym celu trzeba pobrać je z http://download.geofabrik.de/europe.html (Polska, Niemcy).
Napisałem sobie skrypt (co jakiś czas jest on poprawiany), który się uruchamia na jednym z moich serwerków Raspberry Pi. Jest on uruchamiany codziennie o 4:40 rano. Sprawdza on czy pliki dostępne na serwerze w internecie są nowsze niż te, które już mamy. Jeśli tak jest, to zostanie pobrana ich nowa wersja i wygenerowane zostaną nowe dane dla programu QMapshack (mapa dla odbiornika Garmin z użyciem skryptu create_omtb_garmin_img.sh).
Po zalogowaniu się na serwer trzeba zapisać ten skrypt w odpowiednie miejsce. U mnie jest to /home/pi/.bin/gps.
Następnie musimy jeszcze ustawić uruchamianie tego skryptu przez cron:
$ crontab -e
40 4 * * * /home/pi/.bin/gps
Wystarczy teraz udostępnić katalog z wygenerowanymi plikami przez protokół NFS lub SAMBA i można po jego zamontowaniu na komputerze z Linuksem skopiować na nasz system i wskazać je w programie QMapshack.
Znalazłem też darmowe oprogramowanie OpenGTS do śledzenia aktualnej pozycji przez GPS, ale jeszcze nie próbowałem go ustawiać.
c.d.n.
Przydatne linki:
- USB Garmin on GNU/Linux
- OpenGTS - śledzenie pojazdów