Forum Nokia Mobile Location Framework Presentation ADenever December 2004

  • Upload
    mika74

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    1/47

    Get Connectedw.forum.nokia.com

    Mobile Location Framework

    (V) A. Denevr

    December 01st, 2004

    Technology Expert

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    2/47

    Get Connectedw.forum.nokia.com

    Overview

    Location technologies

    from the beginning of times to nowadays Nokia in Location technology

    Mobile Location Framework

    Smart phones and accessories

    Positioning implementation

    Hands on sessions

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    3/47

    Get Connectedw.forum.nokia.com

    Contents

    Introduction

    History

    Nokia in location technology Location Based Services

    Positioning technologies

    Mobile Location FrameworkArhitecture

    Location Acquisition API

    Landmarks API

    Security & Privacy UI

    Smart phones support

    Phone accessories

    Exercises

    Configure the emulator

    Location Acquisition API

    Detect positioner modules

    Acquire position

    Listen to position

    Advanced features

    Read Raw NMEA sentences

    Show Accuracy, satellites

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    4/47

    Get Connectedw.forum.nokia.com

    Introduction

    Prerequisites

    Client-Server Architecture

    Active objects

    Objectives Be confident with using theMobile Location Framework APIs

    Familiar with the Emulator tools, andSDK help documentation

    Have an overview onPositioning Technologies

    Exercises related to the presentation:

    1_Exercise

    2_MLFW

    2_MLFW_sol

    3_MLFW

    3_MLFW_sol

    4_MLFW_sol

    5_lbsreference 6_MLFW_sol

    Tools required:

    ActivePerl

    Series 60 SDK Feature Pack 2, Final alpha

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    5/47

    Get Connectedw.forum.nokia.com

    Navigation History

    Constant object in the environment

    Astronomy

    Compass in use

    Radio waves -1950

    Satellites - 1978 GPS Positioning -1995

    2000 May 1, GPS signal accuracy improved

    GSM Location Services standard

    Image recognition

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    6/47

    Get Connectedw.forum.nokia.com

    Nokia Products

    1996, Nokia Smart Traffic Products, car telematics

    2000, Nokia mPosition, location based services for networks

    2002, Nokia LAM-1 GPS module for Nokia 9210communicator, with 3rd party developer support

    2004 Series 60 phones supporting Location request 75 operators world wide have location servers

    2004 Nokia Xpress-on 5140 GPS shell

    2004 Nokia SDKs with Mobile Location Framework

    2005 Nokia Wireless GPS Module LD-1W

    http://press.nokia.com/

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    7/47

    Get Connectedw.forum.nokia.com

    Location Based Services

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    8/47

    Get Connectedw.forum.nokia.com

    Posit ioning Technologies

    Standalone GPS

    Assisted GPS Advantage over standalone

    3GPP Location Standards

    Cell-based networkpositioning

    Global Posit ion ingSystem

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    9/47

    Get Connectedw.forum.nokia.com

    Standalone GPS

    Features

    Space-based signals arevery weak even in line-of-sight condit ions

    Time-to-first-fix > 30

    seconds in cold start Positioning accuracy in

    urban areas is week

    Power consumption can behigh

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    10/47

    Get Connectedw.forum.nokia.com

    Assisted GPS

    Why Assisted GPS ?

    Improved accuracy Better sensitivity

    Shorter Time-to-first-fix Less power consumptio

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    11/47

    Get Connectedw.forum.nokia.com

    Cell-Based Posit ioning

    Benefits

    Sufficient accuracy for most

    location-based applications Indoors coverage

    Accuracy Cell Id (CI) 300m to 15km Cell ID and Timing Advance (CITA) 500m to 1k

    Cell ID, TA and Rx-level (CITARx) 100m to 1km

    Service Area Indicator (SAI) 300m to 15km

    Require 2G, 2,5G or 3G netw ork

    Known limitation:

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    12/47

    Get Connectedw.forum.nokia.com

    Summary

    All technologies have:

    Benefits Accuracy

    Cost

    Availability

    Depend on the user preferences, applications have to adopt their behaviour

    In Location Framework user can choose the preferred module

    Mobile location Framework hide the complexity of each technology!

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    13/47

    Get Connectedw.forum.nokia.com

    Location Structure

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    14/47

    Get Connectedw.forum.nokia.com

    Location Documentation

    Mobile Location Protocol

    LIF/MLP

    MLP specification available from OMA pages http://www.openmobilealliance.org/release_program/docs/MLP/OMA-LIF-

    MLP-V3_1-20040316-C.pdf

    Java JSR 179 API

    Not part of the Series 60 Feature part 2

    Downloadable from Forum Nokia site

    jsr179_Final_Release10.pdf

    NMEA standards http://www.nmea.org/

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    15/47

    Get Connectedw.forum.nokia.com

    Mobile Location Framework

    Generic Location Acquisition API

    Positioning technology independent

    Simultaneous access to location data Cross platform

    Positioning plug-in modules (Psy)

    A-GPS, Bluetooth GPS, cell id, Simulation

    Dynamically installed and used

    Applications select location source

    Accuracy,

    CostPrivacy management

    Landmark API

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    16/47

    Get Connectedw.forum.nokia.com

    Location Framework Architecture

    Location Acquisition API

    Location Server

    Client Application

    Mobile Location Fram ew ork

    Privacy Managem ent

    Positioning plug-in FW

    Landmark API

    Bluetooth GPS PsyNetw ork PsySim ulation Psy

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    17/47

    Get Connectedw.forum.nokia.com

    Emulator Tools

    Simulation Psy configurator

    Simulation Psy Route generator

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    18/47

    Get Connectedw.forum.nokia.com

    Location Acquisit ion API

    Allows applications to communicate with the Positioning server:

    Client may open client/server sessions by

    specifying posit ioning module name

    using the user preferred module, default module

    selecting PSY based on Quality of Posit ion parameters

    Client may request from the server

    Location one by one

    Subscribe to periodic location updates Subscribe to periodic NMEA output

    Server returns whatever is applicable:

    Basic position info: Latitude, longitude, altitude, phone time, ...

    Address info: Street, city, country,

    GPS specific information: Satellite info, dilution of precision, GPS time,

    Advanced info: Speed, movement direction, orientation,

    Error estimates for basic and advanced info

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    19/47

    Get Connectedw.forum.nokia.com

    Landmarks

    Landmarks API

    Generic API for storing and retrieving Points of Interest Locally stored database supported

    Landmarks may be grouped by category

    Variety of search mechanisms

    Name

    Address Position

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    20/47

    Get Connectedw.forum.nokia.com

    Waypoints

    BT GPS device itself does not store any waypoints.

    Applications can utilize Landmarks API for creating and managinglandmarks.

    There is no ready made tools for convert ing other WayPoints (Point ofInterest) or other Landmark formats into Nokia format.

    Application developer can easily create a tool which for example readssome 'waypoint format' file and stores waypoints as Landmarks by usingLandmarks API (in 7710)

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    21/47

    Get Connectedw.forum.nokia.com

    Privacy Protection and Management

    Privacy UI is built in NokiaSymbian OS phones containing

    Mobile Location Framework

    App does not need to beuninstalled to temporarily

    remove access Each and every request is

    authorised

    History of received requests

    Locat ion inform at ion isconsidered t o be sensit iveand private inform at ion.

    Locat ion information MUSTNOT be disclosed to

    any 3rd party w it hout usersconsent

    Privacy Management

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    22/47

    Get Connectedw.forum.nokia.com

    Privacy UI

    From Series 60 Feature pack 1

    Nokia 7610, 6670, 6260, 3230, Nokia 6630, 9500,9300,

    7610

    95006260

    6670

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    23/47

    Get Connectedw.forum.nokia.com

    Receiving Request and Not ification

    A location request comes from network to the phoneasking for permission to have the location information.

    Request contains information about the sender.

    User can accept or reject the request

    (Location verification). When user has defined a rule in the network for

    automatic handling, network may send a notificationto the user (Location notification).

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    24/47

    Get Connectedw.forum.nokia.com

    Hidden Privacy UI

    Built in Mobile Location Framework

    Nokia 6630 , Nokia 3230 Privacy notification, when mobile

    terminated location request arrive

    Smartphone add on, SDK plugin,

    Nokia 6600

    All Symbian OS 7.0s based phone advantage of mass market

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    25/47

    Get Connectedw.forum.nokia.com

    Phones without Location Framework

    One application can use the GPS only at a time

    Nokia 9210i, 9000 GPS can be attached via its serial port

    Nokia 7650

    Bluetooth GPS accessible via bluetooth serial profile

    Similar to Symbian OS 6.1 based Series 60 devices

    5140 is Series 40 No access to GPS cover

    N-Gage Q

    7650

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    26/47

    Get Connectedw.forum.nokia.com

    GPS Accessories

    Nokia LAM-1 for Nokia Communicator 9210i

    12 channel GPS

    Quick start up

    Integrated GPS antenna External antenna for indoor use

    NMEA-0183 V3.0

    API open via serial interface

    LAM-1 Client Application Development Guide Revision 1.2

    CKon UI support CEikLatitudeEditor, CEikLongitudeEditor

    Nokia GPS Module FAQ version 1.0

    Forum Nokia Discussion board

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    27/47

    Get Connectedw.forum.nokia.com

    Nokia Wireless GPS Module LD-1W

    Interface:

    Bluetooth 1.1. Specification, Serial Port Profile,

    NMEA 0183 v. 3.01 (with proprietary extension

    sentences)Compatibility

    Nokia 3650, 3660, 6260, 6600, 6630, 6670 and 7610phones, Nokia 9300 and 9500 communicators,

    Dimensions: 78.4 x 45.4 x 16.5 mm

    Weight: 62 g (including battery)

    Colour: Black and grey

    Power: Battery BL-5CLi-ion

    Operation time: up to 10 hours

    Operating distance for wireless connection:up to 10 meters

    GPS receiver: 12 parallel channels

    GPS Antenna: Internal , external antennaconnector

    Accuracy: 25 m horizontal, 95 % open sky

    Update rate: 1 s

    Acquisit ion times: approximately 60 s/45 s/10 s(cold/warm/hot start)

    Position format: WGS84

    Operating temperature: 10Cup to 40

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    28/47

    Get Connectedw.forum.nokia.com

    Implementing Location Aware Application

    Visit Forum Nokia

    Download Series 60 SDK Feature Pack 2 Series 80, Communicator 9500 SDK

    Series 90, 7710 SDK

    Set up the emulator

    Set up the simulation module

    Use Mobile location Framework classes

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    29/47

    Get Connectedw.forum.nokia.com

    Simulation Module Configurator

    Emulator can provide location data

    Epoc32\winscw\c\documents\simpsydata\

    GUI Psy configurator

    Exercise 1, Launch the configurator

    Select a config file

    Get location test data Confirm the result with file content - SIM_2.sps

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    30/47

    Get Connectedw.forum.nokia.com

    NMEA support

    The Simulation PSY supports the NMEA sentences from thefollowing GPS devices:

    Garmin:o eTrex - basic

    o eTrex - Legend

    o III pluso 12 cx

    Magellan:

    GPS 315 Meridian Gold

    Tracker

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    31/47

    Get Connectedw.forum.nokia.com

    Location Acquisit ion API

    Main Classes

    RPositionServer

    RPositioner

    CRequestor

    TPositionInfo

    TPositionIn order to use the Location Acquisit ion API:

    Include the system header lbs.H.

    Link against the library: lbs.DLL (

    lbs.LIB)

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    32/47

    Get Connectedw.forum.nokia.com

    Posit ioning Server

    RPositionServer

    Connect()

    Close()

    GetNumModules()

    GetModuleInfoByIndex()

    GetModuleStatus ()

    TPositionModuleInfo

    KPositionMaxModuleName

    Exercise 2, List the supported module(s)

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    33/47

    Get Connectedw.forum.nokia.com

    Solut ion

    #include // Location Framework

    #include // Maximum size of module name

    // LBS.lib added to the MMP file

    / / 1. Connect to the Location server

    RPosit ionServer Posit ionServer;

    User::LeaveIfError(Posit ionServer.Connect());TUint NumOfModules;

    / / 2. Get the amount of pos modules available

    User::LeaveIfError(PositionServer.GetNumModules(NumOfModules));

    / / 3. List them

    TPositionModuleInfo ModuleInfo;

    TBuf ModuleName;

    // KPositionMaxModuleName

    TBuf ListItem;

    _LIT(KNameFormat,"\ t ");

    for (TUint i=0;iAddLineL(ListItem);

    }

    Posit ionServer.Close();

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    34/47

    Get Connectedw.forum.nokia.com

    Positioner

    RPositioner

    Open()

    Close()

    SetRequestor()

    SetUpdateOptions () GetLastKnownPosition()

    NotifyPositionUpdate()

    CancelRequest()

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    35/47

    Get Connectedw.forum.nokia.com

    Requestor

    CRequestor

    NewLC()

    TRequestorType ERequestorUnknown

    ERequestorService

    ERequestorContact

    RRequestorStack - RPointerArray

    Append();

    Reset()

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    36/47

    Get Connectedw.forum.nokia.com

    Posit ion Info

    TPositionInfo

    GetPostion() SetPostion()

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    37/47

    Get Connectedw.forum.nokia.com

    Position

    TPositionTime()

    SetTime()

    SetCurrentTime()

    Speed()

    TLocality VerticalAccuracy()

    HorizontalAccuracy()

    SetVerticalAccuracy()

    SetAccuracy()

    Distance()

    BearingTo()

    TCoordinate Latitude()

    Longitude()

    Altitude()

    SetCoordinate()

    Distance

    BearingTo

    Move SetDatum()

    WGS-84

    NaN

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    38/47

    Get Connectedw.forum.nokia.com

    Exercise 3

    Query the last known position

    Inform the location server who is requesting the locationinformation.

    Use an e-mail for service identification

    Use the default positioner module

    Get familiar with location responses

    lbserrors.h

    E32std.h

    Use the Privacy UI, to accept all request

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    39/47

    Get Connectedw.forum.nokia.com

    Solut ionTPositionInfo PositionInfo; // Position info if any

    RPositi oner Posit ioner;

    / / 1. Connect to the Location server

    RPositionServer PositionServer;

    User::LeaveIfError(Posit ionServer.Connect ());

    CleanupClosePushL(Positi onServer);

    // 2. Open the default posit ioner module

    User::LeaveIfError(Positi oner.Open(Positi onServer)); / / Symbian way

    CleanupClosePushL(Positi oner);

    / / 3. Set Requestor informat ion

    User::LeaveIfError(Posit ioner.SetRequestor(CRequestor::ERequestorService, CRequestor::EFormatMail , _L("[email protected]")));

    TRequestStatus status;

    // 4. Get one Notif ication on the Postion update

    Positi oner. GetLastKnownPosition(Posit ionInfo, status); // Issuea Location Request

    User::WaitForRequest(status); // UI is blocked

    / / Cleanup

    CleanupStack::PopAndDestroy(2); / / this wil l call Close() method contact,service,posit ioner

    User::LeaveIfError(status.Int()); // Handle the problem

    // 5. Analyze Results

    TPosition Position;

    Positi onInfo.GetPosit ion(Position);

    TBuf ListI tem;

    iEikonEnv->InfoMsg(_L("Location info is ready"));

    _LIT(KNameFormat," \ t %d");

    _LIT(KDegree,"");

    ListItem.Zero();

    //ListItem.Append(KNameFormat);

    ListItem.Format(KNameFormat, (TInt)Position.Latitude());

    ListItem.Append(KDegree);

    iAppContainer->AddLineL(ListItem);

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    40/47

    Get Connectedw.forum.nokia.com

    Exercise 4

    Listen to the location

    Continuously

    Asynchronously

    Optimize the listening frequency for power saving

    Separate the location engine from the app UI

    Request the position as an application

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    41/47

    Get Connectedw.forum.nokia.com

    Solut ion

    / / Connect to the position module set to default by the phone user

    User::LeaveIfError(iPositionListener.Open(iPositionServer));

    / / Set Requestor information

    User::LeaveIfError(positioner.SetRequestor(CRequestor::ERequestorService,

    CRequestor::EFormatApplication, _L("Forest GreenPage")));

    / / Set max update age high for power save mode- By default update age is 0,

    / / location data always the latest availableTPositionUpdateOptions updateoptions;

    updateoptions.SetMaxUpdateAge(TTimeIntervalMicroSeconds(2000));

    User::LeaveIfError(iPositionListener.SetUpdateOptions(updateoptions));

    iPositionListener.NotifyPositionUpdate(iPositionInfo, iStatus);

    SetActive();

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    42/47

    Get Connectedw.forum.nokia.com

    Location Reference Example

    Study the example to

    Identify the class return theamount of satellites

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    43/47

    Get Connectedw.forum.nokia.com

    Solut ion

    TPositionSatelliteInfo::NumSatellitesInView()

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    44/47

    Get Connectedw.forum.nokia.com

    Request the position in the name of a remote party

    Use HPositionGenericInfo Use Address Capability

    Read raw Nmea Sentences

    Specify the positioning module by its UID

    Exercise 6

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    45/47

    Get Connectedw.forum.nokia.com

    Setting the requestor stack

    _LIT(KCntPhone, "+358503555055"); / / Boss or Emergency request our position

    _LIT(KSrvName, "Work App"); / / through Work Safety App

    RRequestorStack stack;

    CRequestor* contact = CRequestor::NewLC(

    CRequestor::ERequestorContact,

    CRequestor::EFormatTelephone,

    KCntPhone);

    stack.Append(contact);CRequestor* service = CRequestor::NewLC(

    CRequestor::ERequestorService,

    CRequestor::EFormatApplication,

    KSrvName);

    stack.Append(service);

    User::LeaveIfError(iPositionListener.SetRequestor(stack));

    stack.Reset()

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    46/47

    Get Connectedw.forum.nokia.com

    Solut ion

    HPositionGenericInfo

    EPositionFieldNMEASentences

    ECapabilityAddress

    Positioning modul by UID

    #if ( __WINS__ | | __WINSCW__ )// The id of the Simulation psy

    moduleId.iUid = 0x101F7A81 ;

    #else

    / / The id of the Bluetooth GPS PSYmoduleId.iUid = 0x101fd1df ;

    #endif

  • 8/9/2019 Forum Nokia Mobile Location Framework Presentation ADenever December 2004

    47/47

    Get Connectedw.forum.nokia.com

    Questions?