28 Aug 2009

Nowa zabawka: GPS Logger, czyli Holux M-241 i Linux

Słowem wstępu nadmienię, że to jest jeden z tych artykułów, który przeleżał u mnie z 6 miesięcy nim go dokończyłem (a i tak nie jest w takim kształcie w jakim bym chciał go widzieć).

M-241 to urządzenie do zapisywania przebytej trasy na podstawie sygnału GPS.

Dane techniczne Holux M-241

  • Zasilane baterią AA - paluszek - powinien starczyć na 12h nieprzerwanej pracy - po wyłączeniu Bluetooth
  • Interfejs Bluetooth v1.2 class 2 (Serial Port Interface SPP) - max 10 metrów zasięgu - może służyć jako nawigacja w połączeniu z telefonem lub komputerem
  • Wyświetlacz LCD o rozmiarach 32mm x 8.9mm - pokazujący pozycję, prędkość, ilość miejsca do zapisu, datę i czas
  • Możliwość zapisu 130 000 punktów w pamięci urządzenia -punkty są zapisywane na podstawie interwału czasowego lub po przebyciu określonej odległości
  • Możliwość rejestrowania czasu w milach i kilometrach, 3 języki interfejsu do wyboru (Angielski, Tradycyjny Chiński, Uproszczony Chiński)

Holux M-241 jest oparty na chipie GPS firmy MTK, pozwala on na wyszukiwanie do 32 satelit jednocześnie, chip ten jest dosyć czuły -159dBm. Urządzenie posiada wbudowany demodulator WAAS/EGNOS/MSAS, oraz obsługę protokołu NMEA0183 V 3.01 data protocol.
GPS logger Holuxa posiada wbudowaną antenę co przy rozmiarach 32.1mm X 30mm X 74.5mm i wadze 39g czyni z niego bardzo zwartą konstrukcję wielkości paczki papierosów. Teoretycznie w najgorszym przypadku urządzenie powinno znaleźć sygnał GPS po 36 sekundach (cold boot), a w najlepszym po 1s (Hot boot) - o ile ta druga wartość często się sprawdza jeżeli wyłączymy GPSa na chwilkę, o tyle pierwsza rzadko działa gdy jesteśmy w ruchu :(.

Aktualizacja oprogramowania

Producent w miarę często - co najmniej raz na rok wypuszcza nowe wersje oprogramowania, które naprawdę mają nowe funkcje (ostatnio pojawiła się możliwość wyłączenie Bluetooth)! Nowe oprogramowanie można pobrać z serwera ftp lub ze strony producenta.

Holux M-241 i Linux

Podłączenie GPS Holux M-241 do komputera poprzez Bluetooth

Z tego co właśnie przetestowałem Holuxa M-241 można podłączyć do komputera poprzez bezprzewodowy protokół Bluetooth - kroki jakie wykonałem są zaczerpnięte z Bloga Karola Zalewskiego. Wyszukiwanie urządzenia:
johny@jambia:~$ hcitool scan
Scanning ...
 00:1B:C1:03:FC:DF HOLUX_M-241
Wyświetlenie listy dostepnych usług i ich kanałów:
johny@jambia:~$ sdptool search --bdaddr 00:1B:C1:03:FC:DF SP
Searching for SP on 00:1B:C1:03:FC:DF ...
Service Name: SPP Slave
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Nawiązanie połączenia z GPS:
johny@jambia:~$ rfcomm connect 0 00:1B:C1:03:FC:DF 1
Connected /dev/rfcomm0 to 00:1B:C1:03:FC:DF on channel 1
Press CTRL-C for hangup
Uruchomienie GPSD:
johny@jambia:~$ gpsd -b -N -D 2 /dev/rfcomm0
W sumie całość by wymagała jakieś automatyzacji, ale nie jest źle Następnie należy uruchomić tango GPS możemy się zlokalizować na mapie, natomiast jeżeli by zaszła potrzeba skorzystania z Map Google i TangoGPS, można to uczynić jak pisze Zal poprzez dodanie następujących wpisów:
  • Mapa ulic: http://mt1.google.com/mt/v=w2.92&hl=pl&z=%d&x=%d&y=%d&s=Galileo
  • Mapa satelitarna: http://khm1.google.com/kh/v=40&hl=pl&z=%d&x=%d&y=%d&s=Galileo
  • Mapa topograficzna: http://mt1.google.com/mt/v=w2p.87&hl=pl&z=%d&x=%d&y=%d&s=Galileo
Tak więc mając na pokładzie samolotu loggera i laptopa teoretycznie szło by wyświetlać swoje położenie na mapie ;) (tylko by trzeba połączyć się kablem i czytać dane w formacie NMEA) - korzystanie z GPS nie jest zabronione podczas lotu samolotem - ponieważ jest to urządzenie pasywne pozostaje problem przesyłania tych danych do laptopa :).

Holux M-241 i połączenie kablowe - zgrywanie tras itp.

Test M-241 jest dostępny tutaj, ale jak to urządzenie współpracuje z systemem Linux? Juz dosyć dawno (prawie półtora roku temu) obsługę Holuxa M-241 pod linuxem opisywał Mariusz Chilmon, a także inni bloggerzy. Obecnie obsługa Holuxa pod Linuxem jest trochę prostsza. Urządzenie to działa także na Macintoshu. Do niedawna żeby móc pobrać dane z Holuxa trzeba było kompilować GPSBabel z CVS. Ale obecnie co najmniej od wersji 1.3.6 nie jest to wymagane (to jest paczka z oficjalnego repozytorium Ubuntu). Całość obsługi sprowadza się do uruchomienia paru poleceń (od razu skonwertujemy naszą trasę do plików *.kml - Google Earth, *.gpx - Najpopularniejszy format wymiany danych)

Hiolux jest identyfikowany w logach w ten sposób:
[ 5293.485399] usbcore: registered new interface driver usbserial
[ 5293.485488] USB Serial support registered for generic
[ 5293.485621] usbcore: registered new interface driver usbserial_generic
[ 5293.485627] usbserial: USB Serial Driver core
[ 5293.507672] USB Serial support registered for cp2101
[ 5293.507799] cp2101 2-1:1.0: cp2101 converter detected
[ 5293.617221] usb 2-1: reset full speed USB device using uhci_hcd and address 2
[ 5293.764747] usb 2-1: cp2101 converter now attached to ttyUSB0
[ 5293.764842] usbcore: registered new interface driver cp2101
[ 5293.764866] cp2101: v0.07:Silicon Labs CP2101/CP2102 RS232 serial adaptor driver

Pobieranie danych

Do pobierania danych z GPS Loggera Holux-M41 służy komenda:
gpsbabel -i m241 -f /dev/ttyUSB0
Dane zostaną zapisane w pliku data.bin, by dokonać ich konwersji z formatu M241-bin do jednego z popularnych formatów danych GPS, w naszym przypadku KML, należy wykonać polecenie:
gpsbabel -i m241-bin -r -t -w -f data.bin -o kml,units=m -F a.kml
Innymi formatami którymi się warto zainteresować, są (linki prowadzą do stron pomocy programu GPSBabel):

Skrypt pozwalający na zgrywanie ścieżek z GPSa

#!/bin/bash
gpsbabel -i m241 -f /dev/ttyUSB0
gpsbabel -i m241-bin -r -t -w -f data.bin -o kml,units=m -F tracks.kml
gpsbabel -i m241-bin -r -t -w -f data.bin -o gpx -F tracks.gpx
Uwagi: Konieczne może się konwertowanie typu zapisanych punktów (ale to też potrafi GPSBabel)

Inne ciekawe urządzenia korzystające z GPS do kupienia na Allegro

Inne urządzenia oparte o chip MTK ...

... powinny korzystać z tych formatów: MTK Format, MTK Binary File Format

11 comments:

  1. Ostatnio natknąłem się na informacje nt. poboru mocy przez Holux M241 w różnych trybach pracy http://martin.kaufmann.name/2009/01/27/holux-m-241-power-consumption oraz na spis ciekawego orpogramowania pod Windowsa pozwalającego na zabawę ze ściezkami GPS .

    ReplyDelete
  2. Poprawka: powinno być w tekście, ze urządzenie GPS Holux M-241 umożliwia jednoczesny odbiór sygnału z 32 kanałów, nie satelitów.

    ReplyDelete
  3. Czy można na Holux M-241 zapisać dane pojedynczego punktu ?

    ReplyDelete
  4. @Krzysztof - nie pamietam, dawno nie uzywalem tego loggera. Jak go odszukam to sprawdze i Ci odpisze (mysle, ze to bedzie koniec tygodnia - ok?).

    Obecnie raczej czesciej korzystam z aplikacji Tracks na Androida :) (choc czas zycia baterii komorki, ktora ciagle sprawdza GPSa nie jest powalajacy, ale za to sa mapy offline).

    ReplyDelete
  5. @Krzysztof z tego co widze Holux (wersja oprogramowania v1.13) nie ma mozliwosci zapisania dodatkowo informacji o pojedynczym punkcie (tj. mozesz uruchomic logowanie trasy i je wylaczyc zaraz i masz jeden punkt, ale mysle ze Tobie chodzilo o cos w rodzaju POI).

    Rozwiazaniem posrednim jest synchronizacja zegarow w aparacie i GPSie i geotagowanie zdjec i wtedy beziesz wiezial gzie zdjecie zrobiles (wiec masz de facto POI).

    pozrawiam :)

    ReplyDelete
  6. Cześć. Mam mały problem ze swoim holuxem, otóż byłem teraz na Ukrainie i zapisywałem trasę tak jak trzeba czyli przed wyłączeniem wciskałem stop. Teraz próbuję zgrać dane na komputer i nie widzi tych tras. Ściąga mi tylko jakieś stare trasy. Proszę o pomoc. Z góry dziękuje i pozdrawiam.

    ReplyDelete
    Replies
    1. Cześć Masza,

      Ciężko mi powiedzieć co się stało, teoretycznie trasy powinny być do odzyskania jeżeli tam są, jednak za bardzo nie wiem jak to zrobić (ja bym zrobił eksport informacji z urządzenia w jak najmniej zmienionym formacie - idealnie by było zrzucić zawartość pamięci), na Linuxie jest projekt GPS Babel - spróbuj z niego skorzystać (ja nie korzystam już prawie z tego GPSa). Czy oficjalne oprogramowanie na Windowsie sobie też nie radzi?

      W sumie jedna rzecz mi przyszła do głowy - czy masz absolutną pewność, że włączyłeś logowanie trasy, a nie np. pomiar ilości kilometrów które zostały przebyte?

      Oraz czy mogło się zdarzyć tak, że coś w pamięci urządzenia się nadpisało - jest taka opcja "On memmory full stop" - czy jakoś tak?

      pozdrawiam :)

      Delete
  7. Cześć. Mam mały problem ze swoim holuxem, otóż byłem teraz na Ukrainie i zapisywałem trasę tak jak trzeba czyli przed wyłączeniem wciskałem stop. Teraz próbuję zgrać dane na komputer i nie widzi tych tras. Ściąga mi tylko jakieś stare trasy. Proszę o pomoc. Z góry dziękuje i pozdrawiam.

    ReplyDelete
  8. Witam.Mam pytanie odnośnie przerzucania tras i zdjęć na facebooka. W momencie, gdy chcę wrzucić trasę na fc pojawia mi się komunikat: "Failed to get Post link". Wcześniej już przegrywałem trasy i nie było problemu. Teraz niestety nie dam rady i nie wiem jaka jest tego przyczyna.

    ReplyDelete
    Replies
    1. Cześć,

      Wygląda to na problem z samym FB, albo serwisem do którego wrzucasz ścieżki i zdjęcia. Pewnie coś ostatnio zmienili, poleciłbym Ci ściągnięcie nowego oprogramowania do zgrywania tras i robienia geokodowania zdjęć, być może to pomoże, jeżeli nie to możesz spróbować napisać do obsługi serwisu, lub skorzystać z programu GPSBabel i wysyłać ścieżki w innym formacie.

      pozdrawiam ;)

      Delete