Archive Development LBS Resources

Jan VystrčilOctober 18, 2010 0 Archive, Development, LBS, Resources

Location Based Services (LBS)

Při implementaci LBS je možné se vydat dvěma cestami:

  • Parsování NMEA-0183 zpráv, pomocí kterých GPS komunikuje s jinými zařízeními
  • Pokud cílové zařízení má Location API (JSR 179), je možné ho využít. Implementace aplikace pro Location API je velmi snadná - viz příklad.


NMEA 0183 - Wikipedia, the free encyclopedia
Stručný popis NMEA protokolu na Wikipedii
NMEA data
Popis NMEA řetězců používaných v GPS systémech při komuniokaci s jiným zařízením
Handy Geocaching
Projekt vašeho kolegy Davida Vávry - ve zdrojovém kódu je vidět práce s NMEA protoklem
GPS Track
Open source LBS projekt zalozeny na parsovani NMEA protkolu

Location API

J2ME and Location-Based Services
Článek o LBS a Location API od SUNu
Real-Life Use of JSR 179: Location API for the J2ME™ Platform
Přednáška o praktickém použití Loacation API a LBS
JavaME Location API Example application with Source Code.
Jednoduchá ukázková aplikace použití Location API + zdrojový kód
JSR-179 Location API for J2ME v1.0.1
Java Doc k Location API (online verze)
JSR 179 Location API for J2ME™version 1.0.1 - HTML javadoc version
JAVADOC pro Location API
MIDP: Location API Example - Tourist Route
Příklad použití Location API od Nokie

Location API

What Location-Based Services Do…
Location-based services answer three questions: Where am I? What's around me? How do I get there? They determine the location of the user by using one of several technologies for determining position, then use the location and other information to provide personalized applications and services. As an example, consider a wireless 911 emergency service that determines the caller's location automatically. Such a service would be extremely useful, especially to users who are far from home and don't know local landmarks. Traffic advisories, navigation help including maps and directions, and roadside assistance are natural location-based services. Other services can combine present location with information about personal preferences to help users find food, lodging, and entertainment to fit their tastes and pocketbooks.
Zdroj SUN

Choose the Most Efficient Location Method That Meets Requirements

  • Many applications request precise location fixes when they could easily make do with a general fix
  • If zip code is used for looking up weather, for instance, don’t use battery power and time to get a GPS fix
  • Geo-fencing in some areas can be done with cell site coordinates—saves battery life

Zdroj SUN

NMEA protokol

NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer (wind speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the U.S.-based National Marine Electronics Association.

The NMEA 0183 standard uses a simple ASCII, serial communications protocol that defines how data is transmitted in a "sentence" from one "talker" to one "listener" at a time. Through the use of intermediate expanders, a talker can have a unidirectional conversation with multiple listeners, and using multiplexers, multiple sensors can talk to a single computer port. Zdroj Wikipedia

GLL - Geographic Latitude and Longitude is a holdover from Loran data and some old units may not send the time and data active information if they are emulating Loran data. If a gps is emulating Loran data they may use the LC Loran prefix instead of GP.

     GLL          Geographic position, Latitude and Longitude
     4916.46,N    Latitude 49 deg. 16.45 min. North
     12311.12,W   Longitude 123 deg. 11.12 min. West
     225444       Fix taken at 22:54:44 UTC
     A            Data Active or V (void)
     *iD          checksum data.

Zdroj NMEA data

Ukázka NMEA ASCI řetězců

$GPRMC,162352,A,5053.10,N,00849.14,E,150.0,235.3,301294,,*10 $GPRMB,A,0.42,L,EDFN,EDFQ,5102.20,N,00840.80,E,010.5,330.1,-018.6,V*08 $GPWPL,5052.50,N,00848.88,E,EDFN*41 $GPGLL,5053.10,N,00849.12,E*6F $PGRMZ,635,f,3*1B $GPXTE,A,A,0.41,L,N*6B $GPBWC,162352,5102.20,N,00840.80,E,330.2,T,,M,010.5,N,EDFQ*3C $GPRMC,162358,A,5053.07,N,00848.76,E,150.0,286.0,301294,,*12 $GPRMB,A,0.20,L,EDFN,EDFQ,5102.20,N,00840.80,E,010.4,331.3,103.4,V*2A $GPWPL,5102.20,N,00840.80,E,EDFQ*5D $GPGLL,5053.08,N,00848.74,E*67 $PGRMZ,635,f,3*1B $GPXTE,A,A,0.19,L,N*66 $GPBWC,162358,5102.20,N,00840.80,E,331.4,T,,M,010.4,N,EDFQ*30 $GPRMC,162404,A,5053.19,N,00848.42,E,150.0,310.9,301294,,*13 $GPRMB,A,0.06,L,EDFN,EDFQ,5102.20,N,00840.80,E,010.2,332.0,139.6,V*23 $GPWPL,5052.50,N,00848.88,E,EDFN*41 $GPGLL,5053.20,N,00848.40,E*6A $PGRMZ,635,f,3*1B $GPXTE,A,A,0.06,L,N*68 $GPBWC,162404,5102.20,N,00840.80,E,332.1,T,,M,010.2,N,EDFQ*3E


There are no comments for this article yet. Leave a comment!