仅使用wifi信号确定您的位置?

时间:2023-01-13 07:29:09

i will be working on a project that tries to determine your position using the wifi signal strength from a few access points. i was wondering if anyone knew of any similiar projects or any articles on that topic

我将开发一个项目,尝试使用来自几个接入点的wifi信号强度来确定您的位置。我想知道是否有人知道任何类似项目或有关该主题的任何文章

if anyone cares: its a research project in at my university. the app is written is used as a playing ground to develop new wifi antenna that are better suited for this type of usage. i only work on the coding part of the project though. oh and its written using c# which is not optional

如果有人关心:它是我大学的研究项目。应用程序编写用作开发新的wifi天线,更适合这种类型的使用。我只是在项目的编码部分工作。哦,它用c#写的,不是可选的


clarification: its ONLY wifi. no GPS goodnes for us becaus its supposed to work indoors the software is supposed to determine your location by using the known locations of the access points and their signal strenghts to tell you where you are. its currently at around 4-5 meters of accuracy aside from that i already have a working prototype and was just wondering if anything similiar has been done before or if anyone has any tips or ideas for/about the project

澄清:它唯一的无线网络。我们没有GPS优势,因为它应该在室内工作,软件应该通过使用接入点的已知位置及其信号强度来确定您的位置,以告诉您您的位置。它目前大约4-5米的精度,除了我已经有一个工作原型,只是想知道之前是否有任何相似的事情,或者是否有任何关于该项目的任何提示或想法

6 个解决方案

#1


Discarding the first 2 answers, where they need to use GPS and A-GPS in the first and a known WiFi network in the second, my answer is:

丢弃前2个答案,他们需要在第一个使用GPS和A-GPS,在第二个答案中使用已知的WiFi网络,我的答案是:

it sounds easy, but you need to do some homework first, a Survey.

这听起来很容易,但你需要先做一些功课,一项调查。

  • you will need to measure up and create a oval shape (in a paper) with points and percentages of all wifi routers in the camp.
  • 你将需要测量并创建一个椭圆形状(在纸上),其中包含营地中所有wifi路由器的点数和百分比。

  • when, lets imagine that you compile 2 routers information, you are ready to go.
  • 什么时候,让我们想象你编译2路由器的信息,你准备好了。

  • get the current wifi points and signal strengths from the user laptop/device and query the database using those values.
  • 从用户的笔记本电脑/设备获取当前的wifi点和信号强度,并使用这些值查询数据库。

  • give the user their current location.
  • 给用户他们当前的位置。

Example:

  • in the campus bar you measured that to be in that place you need to have around 55% strength of the signal provided from WiFi Router 1 and 25% of the WiFi Router 2.
  • 在校园酒吧,你测量到在那个地方你需要有大约55%的信号强度从WiFi路由器1和25%的WiFi路由器2提供。

To use all this in C#, you should start in this Code Project article to get the signal strengths. Then is just use those returned values with your data that you measured before when doing the first survey.

要在C#中使用所有这些,您应该从这篇Code Project文章开始,以获得信号强度。然后,只需将这些返回值与您在执行第一次调查之前测量的数据一起使用。

Hope it helps :) At least, that was what I would do in order to approach this problem.

希望它有所帮助:)至少,这是我为了解决这个问题所要做的。

#2


We did this on a project already determining distance from Access Points, but without the signal triangulation (already covered on other answers here).

我们在已经确定了与接入点的距离的项目上做了这个,但是没有信号三角测量(这里已经涵盖了其他答案)。

I do have a recommendation from the "man, I wish I didn't have to go back and do this" department - it would be to spend extra time on 2 areas:

我确实得到了“男人,我希望我没有必要回去做这个”部门的建议 - 这将是在2个方面花费额外的时间:

  1. An easy and repeatable method of calibration using Multiple Data Points. For example, the dropoff from being "very close" to "kinda close" will be a lot more than "really far away" to "really really far" away. It's not going to be a linear slope.
  2. 使用多个数据点的简单且可重复的校准方法。例如,从“非常接近”到“有点接近”的下降将远远超过“真正遥远”到“非常接近”。它不会是线性斜率。

  3. Data Smoothing. As you move, the signal strength will vary unproportionally to your movement (due to obstacles in the path). It will make your results much more accurate if you take a rolling average of the last 5-10 samples of the signal strength rather than just taking the last sample.
  4. 数据平滑。当您移动时,信号强度将与您的移动不成比例地变化(由于路径中的障碍物)。如果您采用信号强度的最后5-10个样本的滚动平均值而不是仅采用最后一个样本,它将使您的结果更加准确。

#3


You might like to look at the Google Gears Geolocation API. I don't know how easy it is to use from C#, but it may be useful/relevant.

您可能希望查看Google Gears Geolocation API。我不知道从C#使用它有多容易,但它可能有用/相关。

(Disclaimer: I work for Google, but haven't had anything to do with the Geolocation API.)

(免责声明:我在Google工作,但与Geolocation API没有任何关系。)

#4


I wouldn't have thought that signal strength would work well: too many things interfere with it (like walls). But you might try measuring ping times, especially if you threw a hundred pings at the AP and took the average. Most of the time will be the AP digesting the ping and generating the pong, but there will also be a time-of-flight component for the signals. If the AP response time is consistent then you should be able to subtract it and hence compute the distance to the AP. By well-known hyperbolic maths you can then find your position from 3 or 4 APs.

我不会想到信号强度会很好地工作:太多东西会干扰它(就像墙壁一样)。但你可能会尝试测量ping时间,特别是如果你在AP上扔了一百个ping并取平均值。大部分时间都是AP消化ping并生成乒乓,但是信号也会有一个飞行时间组件。如果AP响应时间一致,那么您应该能够减去它,从而计算到AP的距离。通过众所周知的双曲线数学,您可以从3个或4个AP中找到您的位置。

Paul.

#5


Skyhook springs to mind. It depends on people registering the llocation of their APs though.

Skyhook让人想起。这取决于人们注册他们的AP的位置。

#6


Goto Wifi in positioning System(WPS), where we use multiple Wifi AP to track a location.. this is implemented by many systems like Google, horizon etc by providing extra security 4 privacy.. I too without knowing this tried on immplimenting this sort of technique.. All d best, we can simplify its complexity by various methods there-by achieving INNOVATIVE to existing infrastructure. I recommend u to go to the wifi router add-in management & usage before pursing this.

Goto Wifi定位系统(WPS),我们使用多个Wifi AP跟踪位置..这是由谷歌,地平线等许多系统实现的,通过提供额外的安全性4隐私..我也不知道这试图改变这种类型技术最好,我们可以通过各种方法简化其复杂性 - 通过实现对现有基础设施的创新。在推荐这个之前,我建议你去wifi路由器加载项管理和使用。

#1


Discarding the first 2 answers, where they need to use GPS and A-GPS in the first and a known WiFi network in the second, my answer is:

丢弃前2个答案,他们需要在第一个使用GPS和A-GPS,在第二个答案中使用已知的WiFi网络,我的答案是:

it sounds easy, but you need to do some homework first, a Survey.

这听起来很容易,但你需要先做一些功课,一项调查。

  • you will need to measure up and create a oval shape (in a paper) with points and percentages of all wifi routers in the camp.
  • 你将需要测量并创建一个椭圆形状(在纸上),其中包含营地中所有wifi路由器的点数和百分比。

  • when, lets imagine that you compile 2 routers information, you are ready to go.
  • 什么时候,让我们想象你编译2路由器的信息,你准备好了。

  • get the current wifi points and signal strengths from the user laptop/device and query the database using those values.
  • 从用户的笔记本电脑/设备获取当前的wifi点和信号强度,并使用这些值查询数据库。

  • give the user their current location.
  • 给用户他们当前的位置。

Example:

  • in the campus bar you measured that to be in that place you need to have around 55% strength of the signal provided from WiFi Router 1 and 25% of the WiFi Router 2.
  • 在校园酒吧,你测量到在那个地方你需要有大约55%的信号强度从WiFi路由器1和25%的WiFi路由器2提供。

To use all this in C#, you should start in this Code Project article to get the signal strengths. Then is just use those returned values with your data that you measured before when doing the first survey.

要在C#中使用所有这些,您应该从这篇Code Project文章开始,以获得信号强度。然后,只需将这些返回值与您在执行第一次调查之前测量的数据一起使用。

Hope it helps :) At least, that was what I would do in order to approach this problem.

希望它有所帮助:)至少,这是我为了解决这个问题所要做的。

#2


We did this on a project already determining distance from Access Points, but without the signal triangulation (already covered on other answers here).

我们在已经确定了与接入点的距离的项目上做了这个,但是没有信号三角测量(这里已经涵盖了其他答案)。

I do have a recommendation from the "man, I wish I didn't have to go back and do this" department - it would be to spend extra time on 2 areas:

我确实得到了“男人,我希望我没有必要回去做这个”部门的建议 - 这将是在2个方面花费额外的时间:

  1. An easy and repeatable method of calibration using Multiple Data Points. For example, the dropoff from being "very close" to "kinda close" will be a lot more than "really far away" to "really really far" away. It's not going to be a linear slope.
  2. 使用多个数据点的简单且可重复的校准方法。例如,从“非常接近”到“有点接近”的下降将远远超过“真正遥远”到“非常接近”。它不会是线性斜率。

  3. Data Smoothing. As you move, the signal strength will vary unproportionally to your movement (due to obstacles in the path). It will make your results much more accurate if you take a rolling average of the last 5-10 samples of the signal strength rather than just taking the last sample.
  4. 数据平滑。当您移动时,信号强度将与您的移动不成比例地变化(由于路径中的障碍物)。如果您采用信号强度的最后5-10个样本的滚动平均值而不是仅采用最后一个样本,它将使您的结果更加准确。

#3


You might like to look at the Google Gears Geolocation API. I don't know how easy it is to use from C#, but it may be useful/relevant.

您可能希望查看Google Gears Geolocation API。我不知道从C#使用它有多容易,但它可能有用/相关。

(Disclaimer: I work for Google, but haven't had anything to do with the Geolocation API.)

(免责声明:我在Google工作,但与Geolocation API没有任何关系。)

#4


I wouldn't have thought that signal strength would work well: too many things interfere with it (like walls). But you might try measuring ping times, especially if you threw a hundred pings at the AP and took the average. Most of the time will be the AP digesting the ping and generating the pong, but there will also be a time-of-flight component for the signals. If the AP response time is consistent then you should be able to subtract it and hence compute the distance to the AP. By well-known hyperbolic maths you can then find your position from 3 or 4 APs.

我不会想到信号强度会很好地工作:太多东西会干扰它(就像墙壁一样)。但你可能会尝试测量ping时间,特别是如果你在AP上扔了一百个ping并取平均值。大部分时间都是AP消化ping并生成乒乓,但是信号也会有一个飞行时间组件。如果AP响应时间一致,那么您应该能够减去它,从而计算到AP的距离。通过众所周知的双曲线数学,您可以从3个或4个AP中找到您的位置。

Paul.

#5


Skyhook springs to mind. It depends on people registering the llocation of their APs though.

Skyhook让人想起。这取决于人们注册他们的AP的位置。

#6


Goto Wifi in positioning System(WPS), where we use multiple Wifi AP to track a location.. this is implemented by many systems like Google, horizon etc by providing extra security 4 privacy.. I too without knowing this tried on immplimenting this sort of technique.. All d best, we can simplify its complexity by various methods there-by achieving INNOVATIVE to existing infrastructure. I recommend u to go to the wifi router add-in management & usage before pursing this.

Goto Wifi定位系统(WPS),我们使用多个Wifi AP跟踪位置..这是由谷歌,地平线等许多系统实现的,通过提供额外的安全性4隐私..我也不知道这试图改变这种类型技术最好,我们可以通过各种方法简化其复杂性 - 通过实现对现有基础设施的创新。在推荐这个之前,我建议你去wifi路由器加载项管理和使用。