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)
Holux 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
Ostrzeżenie
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 …¶
które powinny korzystać z tych formatów: