Ugryźć GPSa czyli usprawniamy SiRF Star III

27 sierpnia 2008, 12:02:43
W moim poprzednim wpisie poruszyłem temat GPSa. Dziś będzie zdecydowanie bardziej technicznie. Na rozkładówce znajdzie się chipset SiRF Star III na przykładzie opisanego wcześniej MainNav MG-950D. Na wstępie przestrzegam również, że "zabawa" ta może się skończyć uszkodzeniem odbiornika GPS (no w każdym bądź razie utratą komunikacji).
Chipset SiRF Star III jest ostatnio dość popularny i znajduje się w wielu urządzeniach. Teoretycznie poniższe informacje da się wykorzystać do każdego urządzenia wyposażonego w ten chipset.
Większość oprogramowania umożliwiającego "zabawę" z zaawansowanymi opcjami GPS jest dostępna tylko i wyłącznie na nasz ukochany system. Będzie nam potrzebny program SirfDemo w wersji 3.87 oraz dokumentacja programu do poczytania. Po lekturze i zainstalowaniu programu możemy wybrać port COM i baudrate. Odpowiedni port COM możemy wybrać analizując menadżer urządzeń, zaś baudrate powinien być podany w instrukcji obsługi urządzenia. W naszym przypadku wypadło na port COM 6 i baudrate 9600. Po połączeniu powinniśmy ujrzeć podobny widok:



Urządzenie "nadaje" dane w trybie NMEA. Tryb ten może służyć w zasadzie tylko do monitorowania danych "pozycyjnych" pobieranych przez GPS, do wykorzystania przez wszelkiej maści monitory/programy GPS (np GPSViewer, TrekBuddy). Ciekawsze rzeczy można zrobić przechodząc w tryb SiRF binary. Aby to uczynić wybieramy z menu Action, Transmit Serial Message i wpisujemy:
PSRF100,0,9600,8,1,0

przy czym 9600 jest naszym baudrate z jakim urządzenie pracuje w trybie SiRF binary. Jako protocol wrapper wybieramy NMEA i Send. Czy udało nam się stwierdzimy po pojawieniu się logów w Response View, a przy okazji ujawni nam się wersja firmware urządzenia. Tak powinien wyglądać ekran w trybie binarnym:



W trybie binarnym uaktywni nam się kilka opcji w menu Action, Navigation oraz Poll. Tutaj znowu zaapeluje o rozwagę, bo można stracić komunikację z urządzeniem. Zdarzyło mi się pary razy przy przechodzeniu między trybami NMEA/binary coś skopać, na szczęście pomagało wyjęcie baterii na kilka minut. Jeżeli już coś pozmieniamy i urządzenie nie będzie funkcjonować tak jak powinno zawsze możemy poratować się restartem fabrycznym ( Action->Initialize Data Source:Factory Reset i Send).
Najbardziej interesującymi nas opcjami będą Static Navigation oraz SBAS/EGNOS. W skrócie, jeżeli wykorzystujemy GPS przy prędkościach powyżej 20 km/h nawigacja statyczna powinna być włączona, zaś gdy prędkości są niższe (rower, nawigacja piesza) lepiej mieć statyczną nawigację wyłączoną, dzięki czemu zyskujemy lepszą dokładność. Mój odbiornik, jako że przeznaczony jest na rower miał domyślnie wyłączoną nawigację statyczną. Przełączać między trybami nawigacji statycznej możemy z menu Navigation->Static Navigation. Drugą rzeczą, którą warto przetestować na swoim sprzęcie to system korekcji SBAS/EGNOS. Teoretycznie da się dzięki temu uzyskać nie tyle co dokładniejszy pomiar, co zwiększenie ilości poprawnych pomiarów, co może się przełożyć na dokładniejsze podawanie pozycji. Tutaj niestety niemiła informacja, gdyż nie wszystkie odbiorniki GPS mają wkompilowaną obsługę SBAS. Trzeba poszukać informacji w instrukcji obsługi urządzenia lub w internecie. Kolejną złą informacją jest to, że ciężko jest złapać silny sygnał satelity należącego to tego systemu. Są one dość nisko nad horyzontem, więc jest duża szansa że okoliczne zabudowania skutecznie zablokują sygnał. Jak widać na załączonym obrazie udało mi się złapać sygnał satelity o numerze 124, który należy do systemu EGNOS, jednak sygnał był za słaby aby pobierać dane. GPS leżał na balkonie, więc się nie dziwię ;). W przyszłości postaram się zrobić testy na ile EGNOS poprawia namierzanie, jak złapie porządny sygnał (trzeba wybrać się gdzieś gdzie nie ma zabudować - pewnie przyjdzie mi iść na wycieczkę na lotnisko ;)) Włączanie korekcji EGNOS przy nawigowaniu samochodem nie ma większego sensu, lecz gdy mowa o geocachingu, to każde pół metra się liczy. Aby uruchomić kanał SBAS wybieramy Navigation->DGPS Mode: Mode Automatic, Timeout 18; Navigation->DGPS Source:Source SBAS Channel. Powinniśmy mieć już aktywne SBAS, aby to sprawdzić wywołujemy Poll->Nav Parameters i szukamy wpisu w Reponse View "DGPSSrc: SBAS". Pozostało już tylko przełączenie urządzenia w tryb NMEA. W moim przypadku trzeba było przesłać (Transmit Serial Message):
A0A20018 810201010001010105010101000100010001000100012580 013AB0B3

jako protocol wrapper należy wybrać tym razem SiRF binary. Tu znowu pojawia się problem baudrate "12580" odpowiada baudrate 9600 ale jak zmienić na cokolwiek innego to nie wiem ;). Więc jeśli Twoje urządzenie pracuje w 9600 sprawę masz załatwioną, jeśli inny baudrate ... no cóż polecam forum gpspassion do przeszukania i popytania.
Na koniec jeszcze jedna uwaga, o ile w trybie binarnym widzimy naszego satelitę od EGNOS, o tyle w trybie NMEA już nie będziemy go widzieć, jednak oprogramowanie naszego odbiornika GPS będzie wykorzystywać jego dane do korekcji.
Jest jeszcze program SiRFTech, dzięki któremu też możemy zmieniać zaawansowane opcje naszego GPSa, jednak ja jakoś nie mogłem się z nim porozumieć ;)

Wszelkie zawarte tu informacje są moimi spostrzeżeniami i umieszczone są tutaj w celach edukacyjnych. Nie odpowiadam za szkody powstałe w wyniku zastosowania w/w rad.

Życzę miłej (i udanej) zabawy z Twoim odbiornikiem GPS.

TrekBuddy 0.9.81

23 sierpnia 2008, 22:29:40
Dziś ukazała się nowa wersja programu TrekBuddy. Zainteresowanych zachęcam do pobierania.

Zaczęło się ... czyli "licznik" rowerowy i GPS

14 sierpnia 2008, 16:55:40
W ramach prezentu urodzinowego stałem się posiadaczem "licznika" rowerowego. Jako że lubię wszystko w jednym wybór padł na Mainnav MD-950D. Jak się domyślacie nie jest to zwykły licznik rowerowy, jest to również odbiornik GPS z funkcją zapisywania przebytej trasy. W pudełku znalazłem kabelek miniUSB, ładowarkę sieciową (ciekawe rozwiązanie - "kostkę" wkładamy do gniazdka elektrycznego, a do "kostki" podłączamy kabelek miniUSB), ładowarkę z wtyczką zapalniczki samochodowej, elementy do montażu na kierownicy rowerowej oraz płytkę z oprogramowaniem (oczywiście tylko na windows - a jak) i instrukcją.

Licznik raczej do urodziwych nie należy (oczywiście jest to moja subiektywna opinia), ale ma podstawowe funkcję na których mi zależało. Na żywo możemy sprawdzić godzinę (ustawia się automatycznie sygnałem GPS), prędkość aktualną, średnią, przebyty dystans - czyli wszystko to, czego należy spodziewać się po liczniku rowerowym.
Zabawa zaczyna się po uruchomieniu zapisu trasy. Oczywiście na efekty tego należy poczekać do momentu zrzucenia zapisu przebiegu trasy do komputera. Możemy zapisać trasę w formacie GPX, KML, CSV i kilku innych. Mając plik KML jesteśmy w stanie pooglądać sobie naszą wycieczkę w programie Google Earth lub na Google Maps. Korzystając z pliku GPX i serwisu uTrack możemy wygenerować raport z wykresami z naszej wycieczki. Możemy też sami opracować dane korzystając z dobrodziejstw formatu CSV.
Na tym nie koniec, gdyż licznik jest wyposażony w Bluetooth, dzięki czemu może służyć jako odbiornik GPS dla (chyba) każdego sprzętu wyposażonego w Bluetooth. Można więc zbudować sobie nawigację z wykorzystaniem PDA/laptopa, lub, co ja uczyniłem, zacząć zabawę z komórką. Aktualnie jestem posiadaczem Nokii 6230i, jednak model telefonu jest raczej mało istotny, telefon musi posiadać po prostu bluetooth oraz obsługiwać JaVę. Chwila rozmowy z google celem poszukania oprogramowania i mam - wybór padł na TrekBuddy. Na telefonie zainstalowałem wersję 0.9.81, która działa szybciej od poprzedniczek. Zanim zaczniemy zabawę z programem, warto poczytać forum. Moje pierwsze kroki skierowałem ku programowi Googleak, dzięki któremu przygotowałem mapę okolicy. Mapa została wgrana do telefonu i już można zacząć korzystać z programu. Gotowe mapy Polski i istotnych zakątków turystycznych można kupić w internetowym sklepie wydawnictwa COMPASS. Możemy również sami przygotować sobie mapy skanując i kalibrując, bądź wyszukać skalibrowane mapy w internecie. Niestety nie mam pojęcia jak jest z legalnością tego typu rozwiązań. Jeszcze raz zachęcę do poczytania forum programu TrekBuddy. Dowiesz się tam wszystkiego na temat tworzenia i kalibrowania map. Kilka programów przydatnych do pracy z mapami i TrekBuddym: GPSBabel, GPSMapEdit, TBCutter, TBMapper, OziExplorer
Jeżeli jesteś zapalonym fotografem na pewno zainteresuje Cię Geotagging/Phototagging. Za pomocą odpowiednich programów, możesz łączyć zdjęcia które wykonałeś z koordynatami uzyskanymi z logów GPS'a. Jeżeli Twój GPS nie ma funkcji logowania trasy, nic straconego, TrekBuddy pozwala zapisywać te dane. Od teraz nie musisz pamiętać kiedy i gdzie zrobiłeś zdjęcie, teraz zrobi to oprogramowanie! Ja takie oprogramowanie dostałem razem licznikiem/GPSem. Istnieje też projekt Happy Camel, dzięki któremu zrealizujesz powyższe cele.
Jeśli już mamy GPS, skonfigurowany TrekBuddy oraz mapy Polski/okolicy i nudzimy się, lub też uwielbiamy piesze lub rowerowe wycieczki to GeoCaching jest dla nas. Idea jest prosta, wgrywamy do TrekBuddy koordynaty skarbu i ruszamy w teren aby go znaleźć. Więcej informacji znajdziemy na www.opencaching.pl
Dzięki TrekBuddy oraz Google Maps, możemy sobie zaplanować trasy, przydatne przy Geocachingu, a także traktować telefon + GPS jako "nawigację" dla roweru, motoru czy samochodu. Więcej informacji na ten temat znajdziecie na forum TrekBuddyw tym i w tym temacie. Od pewnego czasu "nawigacja" ta ma proste komendy głosowe, np. 50 m przed osiągnięciem punktu trasy (waypointu), ktory wyznacza skręt w inną ulicę miły (lub nie) głos poinformuje "skręć w prawo". Rozwiązanie to nie jest zbyt wygodne, gdyż wcześniej trzeba przysiąść i przygotować odpowiedni plik z trasą by móc "nawigować". Trwa to jednak kilka minut, a jak to się mówi "lepszy rydz, niż nic" ;).
No to został jeszcze deser. TrekBuddy może być wykorzystywany po prostu jako atlas drogowy z pokazywaniem aktualnej pozycji na mapie. Na pewno się przyda, gdy nieoczekiwanie nasz skrót drogowy poprowadzi nie tam gdzie trzeba (to na pewno nie będzie nasza wina - złe oznaczenia drogowe). Gdy posiadamy mapę drogową na naszym komputerze, możemy dzięki programowi OziExplorer oraz dzięki plikowi, który znajdziemy na forum TrekBuddy stworzyć sobie mapę drogową Polski z zaznaczonymi radarami, miejscami częstych kontroli, niebezpiecznymi przejazdami kolejowymi, czarnymi punktami. Niestety będzie to tylko informacja obrazkowa, aczkolwiek zauważalna gdy od czasu do czasu zerkniemy na ekran telefonu.

Mam nadzieję że te "kilka" słów kogoś zainteresuje, jeśli nie, to nic straconego, wpis powstał by zebrać wszystkie informacje które znalazłem w ciągu ostatnich kilku dni. Miłego GPSowania :)