the watchme project presented by: elad weiss nir maoz supervised by: edward bortnikov

27
The WatchMe Project Presented by: Elad Weiss Nir Maoz Supervised by: Edward Bortnikov

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

The WatchMe Project

Presented by:Elad WeissNir Maoz

Supervised by:Edward Bortnikov

Problem Description

What is "WatchMe”?

Location Awareness

You Are Here Until today…

?

Location Awareness

You Are Here Until today…The WatchMe way

?And Going Home

Project Goals

1. A Server-Client Application1. A Server-Client Application

2. Static Location Recognition2. Static Location Recognition

3. Dynamic Location Recognition 3. Dynamic Location Recognition

4. Implementation Over SIP4. Implementation Over SIP

Implementation

Algorithms & System Operation

Figuring out your location:

• Get the strengths of the access points’ signals.• Calculate the distance to each access point.

• Use the triangulation technique to find your true location using as many access points as possible.

Location Pinpointing

30

64

10Csignal

signaldisntance

Location Pinpointing cont.

Real Signals & Distances:

0

5

10

15

20

25

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m]

All

A plot of real signal strengths and their corresponding distances from the access point.

Location Pinpointing cont.

Real Signals & Distances:

y = 0.0042x2 + 0.1424x + 1.0455

R2 = 0.8385

0

5

10

15

20

25

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m]

All

Poly. (All)

Our Equation:

0.00

5.00

10.00

15.00

20.00

25.00

30.00

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m] 71

EC

AA

A plot of real signal strengths and their corresponding distances from the access point.

We used the equation from another project, and changed the constant multiplying the exponent, to a function of the signal strength (determined by many tests & measurements).

This was later realized to be very much like a polynomial curve fit, as shown above.

Path Recognition

0%20%40%60%Path Completion Percentage:

50%Path Required Activation Percentage:

Path X is now active.

Your status is: X.

And for your friends:

Communication

ServerCommunication

HandlerClient

CommunicationHandler

INVITE sip:[email protected] SIP/2.Via: SIP/2.0/UDP 123.12.1.5:1103Max-Forwards: 70From: "Alice W." <sip:[email protected]: "Bob G." <sip:[email protected]: [email protected]: 1 INVITEContact: <sip:123.12.1.5:11038>Content-Type: application/sdpContent-Length: 105

The server acts as a bridging unit between the RTC and SIP

protocols.

Communication cont.

SIP messages content in XML!

<xml><header>ADD_STATUS</header><status name=“X” /><point>

<signal ap=“00-02-2D-08-02” str=“-50” /><signal ap=“00-02-2D-08-61” str=“-70” /><signal ap=“00-02-2D-08-AA” str=“-60” />

</point><point>

<signal ap=“00-02-2D-<signal ap=“

<xml><header>REMOVE_STATUS</header><status name=“X” /></xml>

<xml><location x=“5” y=“4” z=“3”

map=“floor3.jpg” /></xml>

Server structure

ServerCommunication

Handler

Server Application 1

Server Application 2

Server Application n

ServerData

SIP method = “…”WatchMe header = “…”

Synchronized

Database

SQL

Request 1:

SIP method = “…”WatchMe header = “…”

Thread Assignment

Call Flow

ServerCommunication

HandlerSIP Request Request n

Request 3

Request 2

Request 1

Work Queue

Server Application Xrunning on the

assigned thread

The Development Process

Difficulties & Solutions

Difficulties

The RTC client implements the SIMPLE protocol, which has not been officially published yet.

Documentation is poor. There is no standard for the specifications. Some examples:

Offline (SIMPLE) = Away (RTC) RTC sends SIP MESSAGE requests through a session.

In SIMPLE, these SIP requests are not bound to a session. Some headers are critical for RTC to work, but RTC seems

to forget sending them himself.

Solution: Trial & Error. Some more Trial & Error.

Difficulties cont.

The RTC Client doesn’t run on an iPAQ. Solution:

Switching to a laptop.

Difficulties cont.

Wireless signal detection Packages only available for Windows CE and

Java™. There exists a Win32 C++ package that uses

a method, which won’t be supported in the future.

Solution: Writing our own package (WirelessNet.dll). We used WMI for accessing the driver.

Microsoft encourages the use of WMI over other methods – such as device IOCTL (which we had tried).

The Development Process

Conclusions & Acknowledgements

Accomplishments

What we’ve learned: Dealing with new environments:

iPAQs / Laptops with wireless adapters. Programming close to the driver level (this was not planned). New communication protocols:

SIP, SIMPLE (RTC). New MIME formats:

XML, SDP, PIDF. Programming in various environments and languages:

.NET Framework. Java™ C# SQL

Working with several packages: JAIN-SIP, RTC, OpenNetCF (though we did not use it eventually).

Remaining Problems

The use of signal amplitudes (a.k.a. RSSI) for distance determination is highly inaccurate.

Some interfering factors are: Background noise. Obstacles (such as walls, doors etc…). Angle confronting the AP. Each NIC has its own accuracy.

Proposals for the Future

AM is known to be more prone to interference and distortion.

Possible solutions:I. Arranging the APs in such a way, as to get a

better signal from as many APs as possible.II. A GPS guided laptop, would make the

program much more realistic, improving the accuracy of location & path recognition to a great degree.

III. Adding a third dimension could help improve location determination by a small factor.

Proposals for the Future cont.

iPAQ issues: WinXP WinCE will require the client

program to use a different GUI, since the one already employed, uses a lot of WinXP features, not to be found in WinCE.

The benefit, of course, will be the increased mobility.

Signal detection should be easy to convert since WinCE allows you to use OpenNETCF’s wireless interface.

Software We Used

Microsoft Visual Studio.NET 2003 Eclipse Microsoft Office Visio 2003 Microsoft PowerPoint 2003 Microsoft Word 2003 Adobe Photoshop 7.0 Notepad …

Related Links

http://msdn.microsoft.com/ - RTC https://jain-sip.dev.java.net/ - JAIN SIP http://www.ietf.org/ - RFC’s, documents… http://www.faqs.org/rfcs/rfc3261.html - The SIP Protocol http://www.microsoft.com/whdc/devtools/ddk/default.mspx - DDK

http://www.google.com/ - Google

Acknowledgements

We would like to thank:

Victor Kulikov Yoram Yihyie, Hai

Vortman

Yoel Davidson Orit Shteif Palram Industries