Пытаемся понять базовую концепцию того, как может работать дистанцирование с помощью ibeacon (маяк / Bluetooth-lowenergy / BLE). Есть ли какая-нибудь достоверная документация о том, как далеко может измерять ibeacon? Допустим, я нахожусь на расстоянии 300 футов ... может ли Иибакон это обнаружить?
Специально для v4 и. v5 и с iOS, но обычно с любым устройством BLE.
Как на это влияет частота и пропускная способность Bluetooth? Могут ли маяковые устройства увеличивать или ограничивать расстояние / улучшать базовый BLE?
т.е.
| Range | Freq | T/sec | Topo |
|–—–––––––––––|–—––––––––––|–—––––––––––|–—––––––––––|
Bluetooth v2.1 | Up to 100 m | < 2.481ghz | < 2.1mbit | scatternet |
|-------------|------------|------------|------------|
Bluetooth v4 | ? | < 2.481ghz | < 305kbit | mesh |
|-------------|------------|------------|------------|
Bluetooth v5 | ? | < 2.481ghz | < 1306kbit | mesh |
Я очень тщательно исследую вопрос точности / rssi / близости с iBeacons, и я действительно считаю, что все ресурсы в Интернете (блоги, сообщения в StackOverflow) ошибаются.
Дэвидгён (принятый ответ,> 100 голосов) говорит:
На самом деле, большинство людей так говорят, но я понятия не имею, почему! Из документации очень ясно, что CLBeacon.proximity:
Повторюсь: точность до одной сигмы в метрах . На всех 10 главных страницах Google по этой теме есть термин «одна сигма» только в цитате из документов, но ни одна из них не анализирует этот термин, который является основным для понимания этого.
Очень важно объяснить, что такое точность до одной сигмы . Следующие URL-адреса для начала: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
В физическом мире, когда вы проводите какое-либо измерение, вы всегда получаете разные результаты (из-за шума, искажения и т. Д.), И очень часто результаты образуют распределение Гаусса. Кривая Гаусса описывается двумя основными параметрами:
одна сигма - это еще один способ описать, насколько узкая / широкая гауссова кривая.
Он просто говорит, что если среднее значение измерения равно X, а одна сигма равна σ, то 68% всех измерений будут между
X - σ
иX + σ
.Пример. Мы измеряем расстояние и в результате получаем гауссово распределение. Среднее значение 10м. Если σ равно 4 м, это означает, что 68% измерений были между 6 и 14 м.
Когда мы измеряем расстояние с помощью маяков, мы получаем RSSI и калибровочное значение в 1 метр, что позволяет нам измерять расстояние в метрах. Но каждое измерение дает разные значения, которые образуют гауссову кривую. И одна сигма (и точность) - это точность измерения, а не расстояние!
Это может ввести в заблуждение, потому что, когда мы перемещаем маяк дальше, одна сигма фактически увеличивается, потому что сигнал хуже. Но с разными уровнями мощности маяков мы можем получить совершенно разные значения точности без фактического изменения расстояния. Чем выше мощность, тем меньше погрешность.
В блоге есть подробный анализ этого вопроса: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
У автора есть гипотеза, что точность - это расстояние. Он утверждает, что маяки от Kontakt.io неисправны, потому что, когда он увеличил мощность до максимального значения, значение точности было очень маленьким для 1, 5 и даже 15 метров. До увеличения мощности точность была довольно близка к значениям расстояния. Я лично считаю, что это правильно, потому что чем выше уровень мощности, тем меньше влияние помех. И странно, почему маячки Estimote так не ведут себя.
Я не говорю, что я прав на 100%, но помимо того, что я разработчик iOS, у меня есть степень в области беспроводной электроники, и я думаю, что мы не должны игнорировать термин «одна сигма» из документации, и я хотел бы начать обсуждение этого вопроса.
Возможно, алгоритм Apple для определения точности просто собирает последние измерения и анализирует их гауссовское распределение. Вот как он устанавливает точность. Я не исключаю возможность того, что они используют акселерометр информационной формы для определения того, движется ли пользователь (и насколько быстро), чтобы сбросить предыдущие значения расстояния распределения, потому что они определенно изменились.
источник
accuracy
- это функция обоихrssi
иtx power
. Не совсем возможно, что Estimote решила перепроектироватьaccuracy
функцию и начала предоставлятьtx power
такие значения, чтобы чтениеaccuracy
оценивало расстояние. Это упрощает разработчикам оценку расстояния, но нарушает определение Appleaccuracy
. Другие бренды могут остаться более верными определению Appleaccuracy
и фактически предоставить «оценку в 1 метр», а не значение, полученное методом обратной инженерии, которое позволяетaccuracy
оценить расстояние.Выходная мощность iBeacon измеряется (калибруется) на расстоянии 1 метр. Предположим, что это -59 дБм (просто пример). IBeacon будет включать этот номер в свою рекламу LE.
Подслушивающее устройство (iPhone и т. Д.) Будет измерять RSSI устройства. Предположим, например, что это, скажем, -72 дБмВт.
Поскольку эти числа даны в дБм, отношение мощности на самом деле является разницей в дБ. Так:
Чтобы преобразовать это в линейное соотношение, мы используем стандартную формулу для дБ:
Если мы предположим сохранение энергии, то сила сигнала должна упасть как 1 / r ^ 2. Так:
power = power_at_1_meter / r^2
. Решая относительно r, получаем:В Javascript код будет выглядеть так:
Обратите внимание: если вы находитесь внутри стального здания, возможно, будут внутренние отражения, из-за которых сигнал будет затухать медленнее, чем 1 / r ^ 2. Если сигнал проходит через тело человека (воду), то сигнал ослабляется. Очень вероятно, что антенна не имеет одинакового усиления во всех направлениях. Металлические предметы в комнате могут создавать странные интерференционные узоры. И т. Д. И т. Д. YMMV.
источник
ratio_dB = txCalibratedPower - RSSI
? Поскольку оба показателя выражены в дБм, я бы предположил, что результат также будет в дБм?iBeacon использует Bluetooth Low Energy (LE) для отслеживания местоположения, а расстояние / диапазон Bluetooth LE составляет 160 футов ( http://en.wikipedia.org/wiki/Bluetooth_low_energy ).
источник
Расстояния до источника рекламных пакетов в формате iBeacon оцениваются по затуханию на пути прохождения сигнала, вычисляемому путем сравнения измеренной мощности принятого сигнала с заявленной мощностью передачи, которую передатчик должен кодировать в рекламных данных.
Схема, основанная на потерях на трассе, подобная этой, является только приблизительной и может изменяться в зависимости от таких вещей, как углы антенны, мешающие объекты и, предположительно, шумная радиочастотная среда. Для сравнения, системы, действительно предназначенные для измерения расстояний (GPS, радар и т. Д.), Полагаются на точные измерения времени распространения, а в тех же случаях даже проверяют фазу сигнала.
Как указывает Джиару, 160 футов, вероятно, выходят за рамки предполагаемого диапазона, но это не обязательно означает, что пакет никогда не пройдет , только то, что не следует ожидать, что он сработает на таком расстоянии.
источник
Это возможно, но это зависит от выходной мощности маяка, который вы принимаете, других источников РЧ поблизости, препятствий и других факторов окружающей среды. Лучше всего попробовать это в интересующей вас среде.
источник
При наличии нескольких телефонов и маяков в одном месте будет сложно измерить расстояние с какой-либо высокой степенью точности. Попробуйте использовать Android-приложение «b and l bluetooth le scanner», чтобы визуализировать изменения силы сигнала (расстояния) для нескольких маяков, и вы быстро обнаружите, что для обеспечения любой формы согласованного измерения приближения могут потребоваться сложные адаптивные алгоритмы. .
Вы увидите множество решений, просто инструктирующих пользователя «пожалуйста, держите свой телефон здесь», чтобы уменьшить разочарование клиентов.
источник