определить свое местоположение, используя только сигналы Wi-Fi? - PullRequest
4 голосов
/ 07 февраля 2009

Я буду работать над проектом, который попытается определить вашу позицию, используя уровень сигнала Wi-Fi от нескольких точек доступа. Мне было интересно, если кто-нибудь знал о каких-либо подобных проектах или каких-либо статей на эту тему

если кому-то все равно: это исследовательский проект в моем университете. Приложение написано, используется в качестве игровой площадки для разработки новой антенны Wi-Fi, которая лучше подходит для этого типа использования. я работаю только над частью кода проекта. о, и это написано с использованием C #, который не является обязательным


уточнение: это только Wi-Fi. у нас нет GPS, потому что он должен работать в помещении программное обеспечение должно определять ваше местоположение, используя известные местоположения точек доступа и их силу сигнала, чтобы сказать вам, где вы находитесь. в настоящее время его точность составляет около 4-5 метров кроме того, у меня уже есть рабочий прототип, и мне просто интересно, было ли что-то похожее сделано ранее или у кого-нибудь есть какие-либо советы или идеи для / о проекте

Ответы [ 7 ]

6 голосов
/ 07 февраля 2009

Отбрасывая первые 2 ответа, где им нужно использовать GPS и A-GPS в первом и известную сеть WiFi во втором, мой ответ:

Звучит просто, но сначала нужно сделать домашнее задание, опрос.

  • вам нужно будет измерить и создать овальную форму (на бумаге) с точками и процентами всех маршрутизаторов Wi-Fi в лагере.
  • когда, давайте представим, что вы собрали информацию о 2 маршрутизаторах, вы готовы к работе.
  • получить текущие точки Wi-Fi и уровень сигнала от ноутбука / устройства пользователя и запросить базу данных, используя эти значения.
  • предоставить пользователю их текущее местоположение.

Пример:

  • в баре кампуса вы измерили, что для того, чтобы быть в этом месте, вы должны иметь около 55% мощности сигнала, получаемого от WiFi Router 1 и 25% WiFi Router 2.

Чтобы использовать все это в C #, вы должны начать с этой статьи проекта кода , чтобы получить уровни сигнала. Затем просто используйте эти возвращенные значения с вашими данными, которые вы измеряли ранее при проведении первого опроса.

Надеюсь, это поможет :) По крайней мере, именно так я бы и поступил, чтобы подойти к этой проблеме.

4 голосов
/ 08 февраля 2009

Мы сделали это в проекте, уже определяющем расстояние от точек доступа, но без триангуляции сигнала (здесь уже упоминалось о других ответах).

У меня есть рекомендация от отдела "человек, я бы хотел, чтобы мне не приходилось возвращаться и делать это" - было бы потратить дополнительное время на 2 области:

  1. Простой и повторяемый метод калибровки с использованием Несколько точек данных . Например, падение от «очень близко» к «вроде как близко» будет намного больше, чем от «очень далеко» до «действительно очень далеко». Это не будет линейный уклон.
  2. Сглаживание данных. Во время движения сила сигнала будет изменяться пропорционально вашему движению (из-за препятствий на пути). Ваши результаты станут намного более точными, если вы возьмете скользящее среднее из последних 5–10 выборок уровня сигнала, а не только последнюю выборку.
1 голос
/ 07 февраля 2009

Я бы не подумал, что сила сигнала будет работать хорошо: слишком много вещей мешают ему (например, стены). Но вы можете попробовать измерить время пинга, особенно если вы бросили сотню пингов в точку доступа и взяли среднее значение. Большую часть времени AP будет переваривать пинг и генерировать понг, но для сигналов также будет присутствовать компонент времени пролета. Если время отклика точки доступа постоянное, вы должны вычесть его и, следовательно, вычислить расстояние до точки доступа. По известной гиперболической математике вы можете найти свою позицию из 3 или 4 точек доступа.

Paul.

1 голос
/ 07 февраля 2009

Возможно, вы захотите взглянуть на Google Gears Geolocation API . Я не знаю, насколько легко использовать C #, но это может быть полезно / актуально.

(Отказ от ответственности: я работаю в Google, но не имею никакого отношения к API геолокации.)

0 голосов
/ 28 января 2019

вы можете попробовать проект FIND3, вот документация https://www.internalpositioning.com/doc/, его API можно использовать для этой цели и использовать алгоритм обучения для постоянного изучения вашей позиции с точностью. У них также есть мобильные приложения (только для Android). Я собираюсь сделать что-то подобное.

0 голосов
/ 16 августа 2013

Goto Wifi в системе позиционирования (WPS), где мы используем несколько точек доступа Wifi для отслеживания местоположения. это реализуется многими системами, такими как Google, horizon и т. д., обеспечивая дополнительную безопасность 4 конфиденциальности. Я тоже, не зная этого, пытался реализовать такую ​​технику .. В любом случае, мы можем упростить его сложность различными способами, достигнув ИННОВАЦИОННОСТИ в существующей инфраструктуре. Я рекомендую вам перейти к управлению и использованию надстроек маршрутизатора Wi-Fi, прежде чем делать это.

0 голосов
/ 07 февраля 2009

Skyhook приходит на ум. Хотя это зависит от людей, регистрирующих расположение своих точек доступа.

...