많은 과학자들은 무선 랜을 통해 연결 장치의 신호 강도, 도착 시간, 왕복 시간을 측정하여 추적 할 수있는 방법을 문서화 papers을 게시 한 등 내가 모든 .NET API를 사용하여 Windows에서이 값에 액세스 할 수있는 방법을 어떤 생각?C# - WLAN 신호 강도 등에 액세스하려면 어떻게해야합니까?
또는 당신은 위치 추적을 위해 이미 사용 가능한 소프트웨어 SDK를 알고 있습니까?
많은 과학자들은 무선 랜을 통해 연결 장치의 신호 강도, 도착 시간, 왕복 시간을 측정하여 추적 할 수있는 방법을 문서화 papers을 게시 한 등 내가 모든 .NET API를 사용하여 Windows에서이 값에 액세스 할 수있는 방법을 어떤 생각?C# - WLAN 신호 강도 등에 액세스하려면 어떻게해야합니까?
또는 당신은 위치 추적을 위해 이미 사용 가능한 소프트웨어 SDK를 알고 있습니까?
안녕하세요 : 저는 여기에 이전에 제기하고 here 대답 한 질문에서 적응 코드입니다 내가
윈도우 자체는 지금 Location API 제공합니다.
좋은 생각을 즐길 것이 도움이 될 것입니다 희망하지만, WLAN 추적에 대한 언급, 그들이 없다고 가정하고 우리는 느리고 부정확 한 GPS 장치를 가지고 .... –
위치 API는 "기본"기술에 의존하지 않으며 모든 유형의 위치 소스에서 입력 할 수 있습니다. WLAN을 사용하려면 Windows 용 소스 "드라이버"를 작성해야합니다. 이 모든 위치 API 수있는 응용 프로그램이 소스로 활용할 수 있도록, 유사 응용 프로그램이 여러 소스를 사용할 수 있습니다. 그러나 실내 위치 확인을 위해서는 WLAN이 최상의 솔루션이 아님을 알게 될 것입니다. – andy
Managed Wifi API 신호 강도 정보를 제공 할 것이다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using NativeWifi;
class Program
{
static void Main(string[] args)
{
WlanClient client = new WlanClient();
// Wlan = new WlanClient();
try
{
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{
Wlan.WlanBssEntry[] wlanBssEntries = wlanIface.GetNetworkBssList();
foreach (Wlan.WlanBssEntry network in wlanBssEntries)
{
int rss = network.rssi;
// MessageBox.Show(rss.ToString());
byte[] macAddr = network.dot11Bssid;
string tMac = "";
for (int i = 0; i < macAddr.Length; i++)
{
tMac += macAddr[i].ToString("x2").PadLeft(2, '0').ToUpper();
}
Console.WriteLine("Found network with SSID {0}.", System.Text.ASCIIEncoding.ASCII.GetString(network.dot11Ssid.SSID).ToString());
Console.WriteLine("Signal: {0}%.", network.linkQuality);
Console.WriteLine("BSS Type: {0}.", network.dot11BssType);
Console.WriteLine("MAC: {0}.", tMac);
Console.WriteLine("RSSID:{0}", rss.ToString());
}
Console.ReadLine();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
이 좋은 코드 느릅 나무는 MAC ADRESS RSSI SSID 모든 AP를 검색 할 수 있습니다 Windows 7의 경우
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);
}
+1 좋은 답변입니다. 매우 명확한! –
안녕하세요 코디,이 예제를 확장하여 사용 가능한 무선 랜 카드 중 하나에 연결할 수 있습니까? –
이 답변은 nativewifi 네임 스페이스가 http://managedwifi.codeplex.com/ – Joe
에서 찾을 수 있음을 언급 했음에 틀림 없습니다. 802.11n, 802.11g와 같은 와이파이 모드를 찾을 수 있습니까? –