Upload
willis-barnard-sherman
View
225
Download
0
Tags:
Embed Size (px)
Citation preview
SKKU Embedded Software Lab.
23
1
Tizen Location Framework
SKKU Embedded Software Lab.
23
2
• Provides location based services(LBS)– Position information– Satellite information– GPS status
• Based on GeoClue• Features
– Hybrid positioning solution(GPS, WPS, SPS)– Get the current position, last known position, distance &
velocity– Get satellite information of GPS and GLONASS– Geo-fencing– Geocoding and reverse geocoding– Search POI(Point of interests), Calculate route
Introduction
SKKU Embedded Software Lab.
23
3
Location Library
Location Framework Architecture
Application
GeoClue library
GPS Provider
GPS Plug-in
SPS Provider
WPS Provider
GeoClue providers
Telephony
Message Sensor libnetwork libxml2 libcurl libsoup
External ComponentsKernel
(UART)
GPS Receiver AGPS Server WPS Server
Map Service Server
Location componentLocation Plug-in
Open Source
GPS Plug-in
Kernel
Remote Server
SKKU Embedded Software Lab.
23
4
• Support vendor specific device’s plugin by shared library
Location Components
SKKU Embedded Software Lab.
23
5Location Use Cases
SKKU Embedded Software Lab.
23
6How to Interact between Components
SKKU Embedded Software Lab.
23
7
• Wi-Fi and Cell-ID based positioning– Provide fast and accurate
location to Wi-Fi capable devices in indoor and outdoor environment
• Standard Assisted GPS(SUPL)– Communication between SET and
SUPL server is transported over a secured IP connection
• Predicted GPS– Extends the validity of assistance
from 2-4 hours to 7 days. Assistance data is downloaded from a server
• Self Assisted GPS– Mobile GPS clients generate
assistance data without network connection
Positioning Technologies for Fast Position Fix
SKKU Embedded Software Lab.
23
8Comparison of Positioning Technologies
SKKU Embedded Software Lab.
23
9
• A software framework utilizing the D-Bus inter-process communication(IPC) mechanism to provide location information, and applications can use it to become geo-aware
• Can geocode (getting a Position(longitude/latitude coordinate) from an Address) and reverse-geocode (getting an Address from a Position)
• Licensed under the GNU LGPL– WiFi-based geolocation (accuracy: in meters)– GPS(A) receivers (accuracy: in centimeters)– 3G modems (accuracy: in kilometers, unless modem has
GPS)– GeoIP (accuracy: city-level)
GeoClue
SKKU Embedded Software Lab.
23
10
• Started during GNOME Summit 2006 in Boston• Provides a convenient way to find out where the
user is, from a number of sources such as GPS, GSM cell, WiFi network, internetwork
History & Goal
SKKU Embedded Software Lab.
23
11Examples
GPS GSM IP address
User trackingWiFi
SKKU Embedded Software Lab.
23
12
• Gobject• Glib• D-Bus• GPSD
– A GPS daemon on most Debian like system– http://gpsd.berlios.de
• Gypsy– Written by lain Holmes at o-hand– A GPS multiplexing daemon which allows multiple clients
to access GPS data from multiple GPS sources concurrently
– http://gypsy.freedesktop.org/wiki/
Dependencies (1/2)
SKKU Embedded Software Lab.
23
13
• Wammu– A program to manage data in your cell phone such as
contacts, calendar or messages– http://wammu.eu/
• OpenCellID (basement station ID)– Aiming to create a complete database of CellID
worldwide, with their locations– http://opencellid.org/
Dependencies (2/2)
SKKU Embedded Software Lab.
23
14
• A set of geoinformation interfaces– For querying “current situation”
• Position• Address• Velocity
– Use a method / signal architecture• Ex : To get current position,
Components (1/7)
geoclue_position_get_position() method or“position-changed” signal with a callback function
SKKU Embedded Software Lab.
23
15
• Class of Interfaces– Position: GeocluePosition
• Via gpsd, gypsy, hostip, plazes, gsmloc– Address: GeoclueAddress
• Via hostip, plazes, manual, localnet– Velocity: Geocluevelocity
• Via gpsd, gypsy– Geocode: GeoclueGeocode
• Via nominatim (http://nominatim.openstreetmap.org/), geonames (http://www.geonames.org/), yahoo (http://developer.yahoo.com/maps/rest/V1/geocode.html)
– ReverseGeocode: GeoclueReverseGeocode• Via nominatim, geonames
– Accuracy: GeoclueAccuracy• Reports the horizontal and vertical accuracy levels
Components (2/7)
SKKU Embedded Software Lab.
23
16
• Provider– Implement more than one Geoclue interface– All Geoclue providers are D-Bus services– Do not have to run as daemons, as D-Bus will start them
when needed (providers may also shut down when they’re no longer used)
Components (3/7)
SKKU Embedded Software Lab.
23
17
• Type of Providers
Components (4/7)
Type Service Description
Hostip Position, Address A web service that guesses location based on the current IP address.
http://www.hostip.info
Plazes Position, Address A web service that gets location based on your current router mac address.
Interfaces with a user’s Plazes accounthttp://plazes.com
Manual Address A user-specified address
Localnet
Address User-specified address that maps to a routers mac address (home, office).
SKKU Embedded Software Lab.
23
18
• Type of Providers
Components (5/7)
Type Service Description
Gsmloc Position Gets cell ID data, and estimates location from a web service based
upon that data
Gypsy Position, Velocity A GPS daemon that supports bluetooth and serial GPS devices
GPSD Position, Velocity A GPS daemon that uses TCP sockets
Yahoo Geocode A web service that converts an address to a position
Geonames
Geocode, ReverseGeocode
A web service that can convert an address to a position. Conversely, it
can also find the nearest address to a given position.
SKKU Embedded Software Lab.
23
19
• Problem on using Providers– A single provider cannot be the best solution to all problems– The “best” providers will be different depending on the user
• Master Provider– Single window for user to use providers
• It is an attempt to take away all of the complications of choosing the right provider
– Choose the best provider to provide what you are looking for based on client requirements and provider availability, accuracy and resource requirements
– The provider that is actually used may change over time as conditions change, but the client can just ignore this
Components (6/7)
SKKU Embedded Software Lab.
23
20
• Usage of Master Provider– A typical Master provider use :
• Getting a client-specific GeoclueMasterClient from GeoclueMaster
• Setting GeoclueMasterClient requirements (such as accuracy)
• Starting the wanted interfaces (such as Position)• Using the client just like a regular provider
– Master provider is fairly new and may not be as stable as the rest of Geoclue
Components (7/7)
SKKU Embedded Software Lab.
23
21Example : Master Provider
SKKU Embedded Software Lab.
23
22Example : Master Provider
SKKU Embedded Software Lab.
23
23
• http://www.slideshare.net/wiliwe/geoclue-the-geolocation-service
• http://www.freedesktop.org/wiki/Software/GeoClue/
• https://download.tizen.org/misc/media/conference2012/wednesday/ballroom-b/%202012-05-09_1145-1225-overview_of_tizen_location.pdf
• Isaac K Adusei, K. Kyamakya, Klaus Jobmann, “Mobile Positioning Technologies in Cellular Networks: An Evaluation of their Performance Metrics”
References