Я хочу попробовать что-то немного другое со скоростью Wi-Fi. Я не хочу знать, какая скорость в МБ или КБ / с. Я хочу знать свою скорость в м / с и хочу рассчитать расстояние от ноутбука до маршрутизатора. Например, или для других ноутбуков или телефонов - я хочу посмотреть, смогу ли я создать карту с объектами, к которым я могу подключиться или увидеть.

Это возможно? может кто-нибудь помочь мне в направлении? Есть ли программы или вещи, которые уже делают это?

3 ответа3

4

Я сомневаюсь, что вы получите какие-либо точные цифры из-за ряда факторов, которые влияют на доставку пакетов и время выполнения заказа. В Stackoverflow обсуждается, что вы пытаетесь сделать: https://stackoverflow.com/questions/684781/how-to-get-distance-using-wi-fi

3

Я предполагаю, что ваш вопрос спрашивает, можете ли вы определить расстояние от компьютера до маршрутизатора с помощью Wi-Fi, и ответ - да ... вроде.

Допустим, вы отправляете сигнал со своего ноутбука на маршрутизатор, и маршрутизатор отвечает тем же, и что этот двусторонний прием занимает 20 наносекунд, то есть 10 нс в каждую сторону. Зная, что скорость света c = 3,0 * 10 ^ 8 м / с в воздухе (на самом деле, немного меньше, но это значение соответствует двум значащим цифрам), мы можем определить расстояние по d = c * t, которое получается быть 3м.

Тем не мение...

Ответ не будет отправлен маршрутизатором немедленно. Требуется время, чтобы декодировать пакет и составить ответ, и вы не будете знать, сколько времени это займет. Пакет может находиться в очереди в течение нескольких наносекунд, что, как мы видели выше, составляет дополнительный метр или около того. К счастью, вам не нужно беспокоиться о мультиплексировании во временной области, что может ухудшить ситуацию.

Ой, подождите, есть еще ...

Без непосредственного управления оборудованием (в данном случае контроллерами ввода-вывода радиомодуля Wi-Fi) вы фактически не знаете, когда отправляется ваш исходный пакет или когда получен ответ. Обычно ОС находится между вашей программой и оборудованием. Вы собираетесь запустить таймер рано и остановить его поздно.

Существует также проблема, заключающаяся в том, что, хотя технически выполнимо выполнять синхронизацию с разрешением наносекунды с ноутбуком, не все комбинации ОС и оборудования обеспечат вам разрешение наносекунды. Что дает микросекундное время? 2 кратчайших расстояния - 0 м и 300 м, что находится за пределами диапазона вашего обычного Wi-Fi.

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

0

Это возможно, хотя и не со скоростью (это будет слишком сильно колебаться и зависит от слишком многих факторов). Вы можете использовать силу сигнала для оценки местоположения. Я попробую найти тебе гида.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .