] > Sony Ericsson, GPS i Java - Karol „Zal” Zalewski - Blog

Sony Ericsson, GPS i Java

2009-06-20, Sobota 12:20:19 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Ktoś by mógł pomyśleć, iż poniższy fragment kodu w Javie ME wykonany na telefonie Sony Ericsson z wbudowanym GPS-em przekaże poprawne dane NMEA 0183 do zmiennej nmea.

package net._4zal.gps;
 
import javax.microedition.location.*;
 
public class GPS implements LocationListener {
 
	// ...
 
	public void locationUpdated(LocationProvider lp, Location location)
	{
		double lon = 0, lat = 0, alt = 0;
 
		if (location.isValid()) {
			QualifiedCoordinates c = 
				location.getQualifiedCoordinates();
 
			lon = c.getLongitude();
			lat = c.getLatitude();
			alt = c.getAltitude();
		}
 
		String nmea = location.getExtraInfo(
			"application/X-jsr179-location-nmea");
 
	}
 
  // ...
 
}

Miałby on rację, ale tylko w pewnym zakresie. Kod ten będzie niestety niekompletny, a zawierać będzie jedynie sentencje typu GSV. Na przykład:

$GPGSV,3,1,10,03,73,236,,06,73,185,,22,63,139,,19,53,292,43*7A

Są to informacje dot. m.in. położenia wykrytych satelitów GPS. Zaś to, co dla nas najważniejsze, czyli np. GLL (szerokość i długość geograficzna), nie znajdzie się w zmiennej nmea. Oznacza to, że dane NMEA tego typu należy samodzielnie wygenerować bazując na tym, co znajdziemy w klasie Location. Słodko, prawda?

$GPGLL,54.38379406929016,N,18.619401454925537,E,225444,A,*0F

I tym oto sposobem, chcąc stworzyć program w Javie, który byłby w stanie udostępnić wewnętrzny moduł GPS telefonu zewnętrznym urządzeniom poprzez Bluetooth (z wykorzystaniem NMEA) należy się nieco napracować. Przynajmniej w przypadku telefonów Sony Ericsson. Bazować można na kodzie javowej wersji GPSd (opartej o fragment Barbelo) - zbudowanie aplikacji wymaga jedynie Wireless Toolkita 2.5.2. Może w wolnej chwili pobawię się w stworzenie wersji pod SE.

Na marginesie - na dłuższą metę nie warto się bawić z zabawkami pokroju wspomnianych telefonów z GPS-em. Zewnętrzny moduł zapewnia zdecydowanie wyższy komfort użytkowania.

Komentarze do wpisu Sony Ericsson, GPS i Java
  1. Michał Górny powiedział(a):

    > Sony Ericsson
    > poprawne dane

    Can't happen.

  2. Zal powiedział(a):

    @Michał: Tja, irytujące ustrojstwo. A jeszcze za czasów firmware od Orange nie dało się z tego nawet sensownie telefonować.

    A tak swoją drogą - nie tylko SE ssie. Ostatnio bawiłem się chińskim modułem GPS-a (oznaczenie GPS-009 - widać takie u różnych producentów) z interfejsem Bluetooth i przy próbie zmiany prędkości portu szeregowego... zaczął sypać binarną sieczką. Aby było zabawniej - ustawienie sobie zapamiętał i nie pozwolił na sensowny powrót do wartości standardowych. Bateria przylutowana do płytki, brak sprzętowego wyłącznika/resetu.

    Baterię rozładowywałem przez ponad dzień :>

  3. Michał Górny powiedział(a):

    Ach, porty szeregowe i równoległe. Z tymi to dopiero cuda są. Nagle ci przestaje всё działać i nawet nie wiesz co jest grane.

    Jak mi PLIP przestał działać (po prostu jedna maszyna drugiej nie odpowiadała) kombinowałem z przeróżnymi ustawieniami, zmianą wersji jajka, nawet kabel sprawdzałem miernikiem (oczywiście w miarę możliwości, jakiegoś pojedynczego zwarcia mogłem nie zauważyć) — i nic nie poradziłem.

    Zmontowałem więc sobie terminal przez port szeregowy, jako alternatywę. Przez jakiś czas działał ładnie, aż w końcu przestał — i pluje tylko binarną sieczką, pomimo że ustawienia portu wydają się poprawne (i takie same po obu stronach).

  4. slevi powiedział(a):

    Can you direct me to the complete example?
    I don't speak Polish :(

    Thanks!

  5. Zal powiedział(a):

    Hi slevi! Take a look at the GPSd4SE - GPS.java file :]

  6. slevi powiedział(a):

    Nice!
    Thanks a lot!

Dodaj komentarz:

Możesz wykorzystać Markdown. Znaczniki HTML nie działają!

Wysyłając komentarz wyrażasz zgodę na jego publikację na zasadach licencji CC BY-NC-SA 3.0. Jeżeli się na to nie zgadzasz - nie komentuj.

Uwaga! Niniejszy serwis przechowuje adres IP osoby pozostawiającej komentarz. Chcesz pozostać anonimowy? Skorzystaj z Tora, lub bezpiecznego proxy. Z mojej strony gorąco polecam Tora w połączeniu z systemem GNU/Linux, przeglądarką Firefox oraz rozszerzeniem Torbutton.

Polecam: Tor Project

Powyższe logo jest zarejestrowanym znakiem handlowym The Tor Project, Inc.

Podgląd komentarza: