SKKU Embedded Software Lab. 23 1 Tizen Location Framework.

Post on 22-Dec-2015

225 views 0 download

Tags:

transcript

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