views:

579

answers:

4

Many scientists have published papers documenting how devices connected via WLAN can be tracked by measuring its Signal Strength, Time Of Arrival, Round Trip Time, etc. Any idea how I can access these values in Windows using any .NET API?

Or do you know of software SDKs already available for location tracking?

+2  A: 

Windows itself provides a Location API now.

GraemeF
Good idea, but no mention of WLAN tracking, they're assuming we have GPS devices... slow and inaccurate.
Jenko
The Location API is by "default" technology agnostic, meaning it can have input from any type of location source. If you want to use WLAN it is just a matter of writing a source "driver" for Windows. This will allow all Location API capable applications to tap into your source, and similarly your application can use several sources. However, you will find that for indoor positioning WLAN isn't the best available solution.
andy
+4  A: 

The Managed Wifi API will provide signal strength information. Here's a code snippet adapted from a question I previously posed and was answered here:

static void Main(string[] args)
{
    WlanClient client = new WlanClient();
    foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces )
    {
        Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 );
        foreach ( Wlan.WlanAvailableNetwork network in networks )
        {
            Console.WriteLine( "Found network with SSID {0} and Siqnal Quality {1}.", GetStringForSSID(network.dot11Ssid), network.wlanSignalQuality);
        }
    }
}

static string GetStringForSSID(Wlan.Dot11Ssid ssid)
{
    return Encoding.ASCII.GetString(ssid.SSID, 0, (int) ssid.SSIDLength);
}
Taylor Leese
+1 That is a nice answer. Very clear!
Will Marcouiller
A: 

wen i run dis code i m gettin d following error: The type or namespace name 'Wlan' could not be found (are you missing a using directive or an assembly reference?)

sanjana
A: 

Hi all,

Actually i already use managed wifi api but wlan function seem cannot be applied and getting the folowing error "The type or namespace name 'Wlan' could not be found (are you missing a using directive or an assembly reference?)".

I'm using Visual Studio 2010 and Windows 7. Is there any features in Visual Studio 2010 can help to get SSID and RSSI from Windows 7.

Anyone there have any ideas?

p/s: sanjana do u get a solution?

ailhaddin