Beacon Proximity: это все еще проблема из справочника Apple API.

У нас проблема с iBeacons.

Приложение иногда делает неправильное предположение о том, в какой области близости он находится, прежде чем в конечном итоге исправить себя. Иногда это показывает Далеко, когда Близость близка. А потом позже переворачивается обратно в ближний.

Проблема на самом деле возникает, когда нам нужно запустить событие, когда мы находимся в ближнем / дальнем / непосредственном регионе. Это происходит таким образом. Приложение может потерять диапазон маяков для коротких случаев.

Есть ли другой способ решить эту проблему.

3 ответа

Для оценки приближения нормально колебаться с радиошумом, но ваш опыт звучит экстремально. Какой бренд iBeacon вы используете?

Убедитесь, что вы используете iBeacon с достаточно высокой скоростью передачи. Различные iBeacons передают рекламные объявления на разных частотах от 30 раз в секунду до одного раза в секунду или меньше. Как правило, более высокие скорости передачи дают менее шумные оценки расстояния, потому что они дают iOS больше измерений силы радиосигнала для работы.

Если iBeacon передает менее одного раза в секунду, вы можете получать прерывистые события выхода / входа.

Для тестирования попробуйте iBeacon на базе iOS, например Locate для iBeacon или EZBeacon, чтобы узнать, поможет ли это. Известно, что для передачи 30x в секунду.

Это Войтек Борович, я евангелист сообщества в Estimote.

Вычисление точной близости Маяка основано исключительно на радиоволнах, которые он передает, действительно сложно. Вы сталкиваетесь с такими факторами, как многолучевое распространение, дифракция волн, поглощение или интерференция. Именно поэтому стандарт iBeacon не пытается рассчитать точное расстояние между маяком и приемным устройством. Вместо этого он использует значение, называемое RSSI (индикатор уровня принимаемого сигнала), которое позволяет оценить близость на основе мощности сигнала. Для целей калибровки также имеется показатель, называемый "Измеренная мощность", но это не более, чем просто RSSI, измеренный на расстоянии 1 метра от Маяка. Даже откалиброванный RSSI может сильно колебаться из-за факторов, упомянутых выше.

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

Вопрос о близости может быть вызван частотой рекламы, как уже сказал Дэвид. Причина этого заключается в том, что iOS берет среднее значение чтений RSSI за сверхурочные часы и использует их для определения окончательного значения, если вы держите устройство iOS в идеальном месте (то есть, очистите линию от сайта до маяка), результат устанавливается поверх несколько секунд удержания устройства на месте. Apple описывает усреднение следующим образом: "Это значение является средним значением RSSI для выборок, полученных с момента последнего сообщения о диапазоне маяка в вашем приложении".

Однако более значительным фактором могут быть колебания в окружающей среде, RSSI резко изменится, если между iBeacon и устройством iOS появится преграда, если оба устройства iBeacon и iOS находятся на низком уровне, это может быть человек, проходящий мимо. Я опубликовал некоторые первоначальные результаты с использованием Estimote iBeacons, которые показывают изменения в расстоянии на основе оператора устройства, вращающегося на 360 градусов. Изменение расстояния на +/- 2 м не является редким изменением в этом случае и может привести к поведению, которое вы наблюдали, если устройство iOS находится вблизи границы области близости.

Другие вопросы по тегам