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

LARK 35.6 subiektywne porady i recenzja

Jako, że jestem użytkownikiem Neostrady i przyszło mi przedłużyć umowę - mogłem wybrać sobie gadżet - drukarkę, albo nawigację GPS - wybrałem oczywiście to drugie. Po pewnym czasie otrzymałem do domu paczkę z urządzeniem Lark 35.6.

Dane techniczne nawigacji LARK FreeBird 35.6

  • 3,5″ dotykowy ekran LCD w rozdzielczości 320×240 pikseli
  • System operacyjny WINCE 5.0 Core
  • Procesor Samsung
  • Wbudowany 20 kanałowy odbiornik GPS SiRF Star III
  • Pamięci RAM 64 MB SDRAM
  • Wbudowana pamięć flash 1GB
  • Obsługa kart SD - gdzieś czytałem (jakieś forum), że SDHC też
  • Wbudowany głośnik 1,5W
  • Zasilanie: akumulator litowo-jonowy
  • Gniazdo słuchawek
  • Gniazdo mini-USB

Funkcje LARK FreeBird 35.6 (przyznam, że z większości nie korzystam)

  • Nawigacja - oprogramowanie MapaMap - ale jest możliwość jego zmiany
  • Odtwarzacz plików audio i wideo
  • Odczyt dokumentów tekstowych (funkcja E-Book) - pliki TXT
  • Wbudowana przeglądarka plików graficznych

Moja subiektywna opinia

Generalnie nie mam większych zastrzeżeń do samego urządzenia - prócz baterii - starcza ona na godzinkę jazdy. Wiele osób uparcie twierdzi, że nie działa ładowanie przez USB, ale ja powiem, że nie miałem póki co żadnego problemu - a może po prostu na to uwagi nie zwracam - bo GPSa wpinam do gniazda 12V w samochodzie i jadę.

Mankamentem całego zestawu jest jakość wykonania uchwytu przytwierdzającego nawigację do szyby, zdarzyło się już, że raz goniłem już urządzenie po samochodzie (Polskie drogi i duże dziury).

Dołączone oprogramowanie - MapaMap nie jest wspaniałe, ale spełnia swój cel - pozwala na wytyczenie drogi z punktu A do punktu B. Niestety wielu mniejszych miast ono po prostu nie obsługuje (dołączona jest wersja Easy), ale bardzo łatwo można zainstalować AutoMapę (którą oczywiście pierw trzeba kupić i zainstalować - opis instalacji w linkach).

Podsumowując

Nawigacja Lark 35.6 to fajne urządzenie, które po zainwestowaniu w AutoMapę jest bardzo dobrym nawigatorem. Dzięki bardzo dużym opcjom spersonalizowania interfejsu użytkownika (można poprawić menu żeby było ładniejsze - niestety to wymaga trochę grzebania), a to w połączeniuz tym, że "ubicie" Larka wcale nie jest proste sprawia, że mogę polecić tą nawigację (dla osób, które nie wymagają jakiegoś mega wypasionego sprzętu, a głównym kryterium oceny jest stosunek cena/wydajność) - tym bardziej, że w promocji Neostrady jest ona dodawana za darmo do umowy na 3 lata.

Dodatkowe zasoby, które mogą okazać się przydatne

Dodatkowe zasoby związane z AutoMapą

Inne recenzje Lark FreeBird 35.6

19 Aug 2009

Bio-OpenSolaris repository idea

Już pisałem o OpenSolarisie jako bardzo fajnym systemie operacyjnym (starczy spojrzeć na cheatsheet pokazujący możliwości - dostępny na genunix), niestety od tego czasu nie miałem czasu się nim pobawić bardziej i zupełnie nie zapowiada się by obecnie stało się inaczej.

Czego tam brakuje?

Z tego co pamiętam na OpenSolarisa nie ma przeportowanych wielu paczek z dziedziny biologii, fizyki, chemii i ogólnie nauk bio*. Jako, że są to prężnie rozwijające się dziedziny można było by się pokusić o stworzenie paczek IPS z tego typu programami.

Co trzeba by przenieść?

Niemalże wszystko to co jest w BioLinux, oraz:

Jak zacząć?

Jeśli o mnie chodzi to pewnie zacząłbym od przyjrzenia się ebuildom w Gentoo oraz próbie wyselekcjonowania pakietów które już mają spełnione zależności w Open Solarisie (by nie konwertować za wielu bibliotek niezbędnych dla programów). No i później konwertować coraz bardziej zależne pakiety. Na pewno fajnie by było nawiązać współpracę z twórcami tego oprogramowania tak by być informowanym o nowych releasach. Osoba, która by się podjęła takiego zadania powinna dla każdej paczki mieć przygotowany skrypt coś na kształt ebuilda - zapewne ilość różnic w zależnościach nie zmienia się znacząco z wersji na wersję, a to znacznie by przyspieszyło proces dostarczania nowych paczek ;).

Czy natywne paczki są niezbędne?

Pewnie nie ;) - możliwe, że udało by się skorzystać z mechanizmu BrandZ do emulacji Linux Zones.