270 likes | 368 Views
The WatchMe Project. Presented by: Elad Weiss Nir Maoz Supervised by: Edward Bortnikov. Problem Description. What is "WatchMe”?. Location Awareness. You Are Here. Until today…. ?. Location Awareness. You Are Here. The WatchMe way. Until today…. And Going Home. ?.
E N D
The WatchMe Project Presented by: Elad Weiss Nir Maoz Supervised by: Edward Bortnikov
Problem Description What is "WatchMe”?
Location Awareness You Are Here Until today… ?
Location Awareness You Are Here The WatchMe way Until today… And Going Home ?
Project Goals 1. A Server-Client Application 2. Static Location Recognition 3. Dynamic Location Recognition 4. Implementation Over SIP
Implementation Algorithms & System Operation
Location Pinpointing • 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 cont. • A plot of real signal strengths and their corresponding distances from the access point.
Location Pinpointing cont. • 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 Path Completion Percentage: 0% 20% 40% 60% Path Required Activation Percentage: 50% Path X is now active. Your status is: X.
Communication INVITE sip:bob@123.1.1.1 SIP/2. Via: SIP/2.0/UDP 123.12.1.5:1103 Max-Forwards: 70 From: "Alice W." <sip:alice@123. To: "Bob G." <sip:bob@123.1.1.1 Call-ID: aabbccdd0123@123.12.1 CSeq: 1 INVITE Contact: <sip:123.12.1.5:11038> Content-Type: application/sdp Content-Length: 105 The server acts as a bridging unit between the RTC and SIP protocols. Server Communication Handler Client Communication Handler RTC SIP
Communication cont. SIP messages content in XML! <xml> <location x=“5” y=“4” z=“3” map=“floor3.jpg” /> </xml> <xml> <header>REMOVE_STATUS</header> <status name=“X” /> </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=“
Server Application 1 Server Application 2 Server Application n SIP method = “…” WatchMe header = “…” Server structure Server Communication Handler Server Data SQL Synchronized Database
Call Flow Thread Assignment Work Queue Request 1: SIP method = “…” WatchMe header = “…” Server Communication Handler Request 1 Request 2 Request 3 … SIP Request Request n Server Application Xrunning on theassigned 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: • Arranging the APs in such a way, as to get a better signal from as many APs as possible. • A GPS guided laptop, would make the program much more realistic, improving the accuracy of location & path recognition to a great degree. • 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