iBeacon получает аномальный сигнал RSSI

Я разработал ios-приложение на основе ibeacon, но сигнал RSSI, который он получил, скачет между 0 и нормальным значением во время маяка(есть своего рода шаблон, показывающий нормальный сигнал RSSI каждые 4-6 нулевых RSSI).

Я пытаюсь позволить моему iphone иметь ответ в реальном времени, основанный на полученном сигнале RSSI, но я ничего не смогу сделать с этим нестабильным сигналом. Я не знаю, что это из-за аппаратного обеспечения или проблемы с батареей или чего-то еще. Любая идея оценена.

1 ответ

  1. При ранжировании для маяков на iOS, Если никакие пакеты маяка не были получены в последнюю секунду (но пакеты маяка были получены в последние пять секунд), Маяк будет включен в список объектов CLBeacon в обратном вызове, но ему будет дано значение rssi 0.

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

    Если вы видите, что он отскакивает назад и вперед между 0 и нормальным значением, это указывает, что пакеты маяка принимаются только каждые несколько секунд. Наиболее вероятной причиной является передатчик маяка, который редко отправляет пакеты (скажем, каждые 3-5 секунд). Некоторые производители продают маяки, которые делают это, чтобы сохранить срок службы батареи.

    Для достижения наилучшей дальнобойности включите рекламную частоту до 10 Гц, если это позволяет производитель маяка, а также увеличьте мощность передатчика до максимума. Это будет использовать гораздо больше батареи, но облегчит пятна, которые вы видите.