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?