piątek, 4 stycznia 2008

Programowanie GPS

Zainteresowało mnie to jak programuje się GPS w komórkach z systemem Symbian 9. Mam zewnętrzny odbiornik GPS Nokia LD-3W, który jest odbiornikiem działającym w Bluetooth 2.0 przesyłającym dane w formacie NMEA 0183 v. 3.01. Na początek postanowiłem sprawdzić działanie w takich aplikacjach jak Google Mobile Maps i w Nokia Maps. Jak zdążyłem zauważyć Google Mobile Maps jest aplikacją J2ME, a Nokia Maps aplikacją Symbianową. Osobiście najbardziej mi przypadła do gustu aplikacja Google z tego powodu, że przekazywała mi informację o tym, że oczekuje informacji od odbiornika GPS i stan otrzymanych informacji np: o satelitach GPS z którymi udało się nawiązać kontakt. Natomiast Nokia Maps jest aplikacją offline, trzeba było załadować do karty pamięci mapy za pomocą aplikacji Nokia Map Loader, w przypadku Polski to było jakieś 9 MB danych.

Jak wiadomo dane są są przesyłane w NMEA 0183 Jest to format tekstowy do wymiany danych od satelitów do odbiorników GPS. Więcej o tym można przeczytać w tym dokumencie (po polsku). W tej sytuacji trzeba znać się na programowaniu Bluetooth aby te dane odebrać do komórki. Nokia LD-3W wykorzystuje profil Serial Port Profile. W internecie znalazłem informacje i przykładowe aplikacje o tym jak zaprogramować aplikację przetwarzającą dane z tego odbiornika. W J2ME dobrze pokazano to na tym przykładzie parsera NMEA, oraz aplikacji Bluetooth Jest jeszcze przykład z J4ME Bluetooth GPS package który pozwala na wykorzystanie z JSR-179 Location API. Ale najciekawsze to były przykłady z Pythonem. Pewien programista Nick Burch napisał sporo kodu w PyS60 Ja ściągnąłem mnea_info_v3_027.sis rozpakowałem to programikiem SISXplorer a następnie wypakowałem skrypty default.py, geo_helper.py oraz pexif.py i przegrałem je do komórki. Tak więc na podstawie tego kodu miałem parser NMEA, komunikację z odbiornikiem Bluetooth, czy robienie zdjęć z zapisanymi danymi EXIF. Więcej informacji o tym programiku można znaleźć w wpisie na blogu autora.

2 komentarze:

Blog test pisze...

"NMEA 0183 Jest to format tekstowy do wymiany danych od satelitów do odbiorników GPS"

NMEA nie przesyła danych z satelity do odbiornika tylko z odbiornika do kompa przez port serialowy.

Przemysław pisze...
Ten komentarz został usunięty przez administratora bloga.