Ответ 1
Вы можете измерить расстояние со звуком.
Цель не иметь реального расстояния. Это нечто более простое.
Цель состоит в том, чтобы проверить , находится ли другое устройство очень близко. Правда или ложь. Скажем, 10 или 15 см близко, поэтому наш чек истинен, и любое другое устройство выходит из строя, и оно неверно.
Мой первый подход заключался в использовании метода api fetchUuidsWithSdp()
, но он не удался!
Задержка казалась такой же, будь то устройства, расположенные на расстоянии нескольких см или на другом конце большой комнаты!
Любое решение, даже без bluetooth, приемлемо. Например, я совершенно не знаком с протоколом wifi direct p2p. Может быть, может быть что-то полезное для приблизительной оценки расстояния.
Изменить: я читаю о индикаторе прочности принятого сигнала (RSSI). Это может быть использовано для нашего конкретного случая, приблизительная оценка расстояния между устройствами. Но, возможно, может быть что-то совместить, чтобы повысить точность.
Изменить: я поставил Ralgha на тест. Я установил соединение и имел небольшой протокол для пинг-понга среди устройств.
Когда ping-ponged с 1 байт средняя латентность составляла 22.6000 мс, когда была очень близка и 22.6087 мсек, когда на другом углу комнаты.
Когда ping-ponged с 1024 байт средняя латентность составляла 40.3173 мс, когда была очень близка и даже меньше, 32.3138 мс, когда на другом углу комнаты.
В конце концов, действительно, латентность не несет никакой информации о расстоянии!
Спасибо!
Вы можете измерить расстояние со звуком.
Единственный возможный способ сделать это, о котором я могу думать, - это NFC. Чтобы использовать Bluetooth или Wi-Fi, вам придется делать это с помощью силы сигнала, но каждый передатчик отличается тем, что не будет надежным вообще.
Задержка довольно бесполезна, так как радиоволны движутся со скоростью света, а разница во времени между пробелом в дюймах и миле равна нулю. Чтобы измерить эту разницу, вам потребуется гораздо более высокое разрешение, чем в телефоне.Вы не указали цель для этого обнаружения расстояния, но если бы вы могли добавить некоторые дополнительные требования к этому (например, ориентация телефона и вспышка), возможно, был бы использован совершенно другой подход.
Если оба устройства ориентированы таким образом, что обе камеры обращены друг к другу, фонарь может использоваться для проверки правильного телефона и расстояния. Размер белого пятна, сгенерированного на снимке камеры, быстро уменьшается с расстоянием, и определенная последовательность вспышек может различать другую вспышку телефона и другие источники света.
Это может потребовать некоторой настройки для работы на открытом воздухе, так как для того же расстояния размер пятна будет намного меньше...
С уважением.
Я искал расположение Bluetooth-устройств, и это не так просто, как обнаружение силы сигнала. Для получения действительно точных результатов вам также необходимо учитывать типы телефонов, которые вы используете, тип батареи и состояние батареи. Вы также должны учитывать окружающую среду и то, как она может влиять на уровень сигнала, а также препятствия, которые могут мешать сигналу, например, людям, стенам, таблицам и т.д.
Чтобы определить расстояние, вам также необходимо будет использовать методы триангуляции для определения положения мобильного устройства. Вы также можете настроить число передатчиков в своей среде и измерить их. Зная положение этих передатчиков, вы можете затем определить положение телефона.
Однако сильные стороны сигнала будут отличаться, и вам придется выполнять большую калибровку. Там есть ряд научных статей, которые дают некоторое представление о требуемых алгоритмах. Есть также несколько компаний, которые предоставляют это как услугу, используемую в торговых центрах, музеях и т.д.
Тем не менее, если вы можете получить силу сигнала, тогда вы должны иметь возможность выработать базовый близкий или далекий результат, он просто не будет полностью точным, и в этом случае я все еще думаю, что количество передатчиков будет все еще очень помогают.
Бумага, некоторые из подводных камней PDF (скачать), еще один документ
Есть множество бумаг, которые я прочитал из определения местоположения Bluetooth, которое даст вам несколько указателей.