iBeacons: Обнаруживает ходьбу задом наперёд?

Я исследовал и прочитал ряд различных статей о том, на что способны iBeacons и приложения, связанные с маяками. Однако я не смог найти ответов на вопрос, который возник, когда я читал одну из этих статей.

Возможно ли, чтобы один маяк одновременно посылал разные сигналы, чтобы приложение могло определять, движется ли человек вперед или назад?

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

Большое спасибо


person user3153278    schedule 12.10.2016    source источник


Ответы (1)


Есть два основных подхода к этой проблеме, но оба имеют ограниченную надежность:

  1. Полное решение для внутренней навигации, использующее маяки в качестве небольшого стандартного блока более крупной системы, которая оценивает положение пользователя с течением времени. Используя такую ​​систему, вы можете определить, идет ли пользователь неправильным путем, зная его текущее положение и положение пункта назначения, а также наблюдая, увеличивается или уменьшается расчетное расстояние до пункта назначения с течением времени. Создание и использование такой системы намного сложнее, чем программирование приложения с использованием маяков, поэтому стоит упомянуть, что это выходит за рамки форума, подобного StackOverflow.com.

  2. Простое решение с использованием двух или более маяков, один из которых находится в пункте назначения. Система будет определять, идет ли пользователь к месту назначения, просто используя оценку расстояния между пользователем и ближайшим к нему маяком. назначения. При использовании библиотеки Android Beacon Library обновления ранжирования примерно с частотой 1 Гц будут предоставлять оценку расстояния в метрах до маяка с использованием beacon.getDistance(). Наблюдая, увеличивается или уменьшается это число между несколькими обратными вызовами, вы можете определить, становится ли пользователь ближе или дальше.

Есть ряд предостережений для обоих решений, особенно для второго:

  • Оценки расстояния до маяка основаны на силе сигнала Bluetooth, поэтому точность ограничена радиошумом и многолучевым распространением. Индивидуальные оценки обычно предполагают, что вы отдаляетесь или приближаетесь, даже если вы стоите на месте.

  • Чтобы преодолеть шумовые эффекты, упомянутые выше, SDK маяков используют несколько выборок уровня сигнала, чтобы помочь сгладить оценки. По умолчанию Android Beacon Library (и iOS CoreLocation) используют примерно 20 секунд усреднения, чтобы сгладить это. Но это приводит к задержке в оценке расстояния, сообщая вам не о том, где находится пользователь в данный момент, а о том, где он находился в среднем за последние 20 секунд. В Android вы можете уменьшить этот интервал усреднения, но это повысит частоту ошибок оценок.

Следовательно, создание собственной системы, которая делает это, означает множество компромиссов между задержкой во времени, частотой ошибок и временными интервалами, в течение которых более точное/дальнейшее определение может быть определено с достаточной точностью. Сможете ли вы заставить это решение работать достаточно хорошо для вашего варианта использования, зависит от специфики того, чего вы пытаетесь достичь. Лучше всего поэкспериментировать с простым приложением и посмотреть, сможете ли вы может заставить его работать достаточно хорошо для вашего варианта использования.

person davidgyoung    schedule 12.10.2016