Я экспериментировал с использованием устройств iOS в качестве вещателей и получателей, используя новый API-интерфейс iBeacon в iOS 7.
Документы не вдаются в подробности, на каких расстояниях принимающее устройство должно видеть каждый индикатор приближения, и специально называют их относительными. Экспериментируя с демонстрационным приложением, я наблюдал следующие расстояния (iPhone == приемник, iPad == вещатель):
Далеко - 50 футов?
Вблизи — 2–3 фута
Немедленно – 2 дюйма
Мне они показались очень маленькими, и, возможно, в справочнике по классу CLBeaconRegion есть подсказка, которая позволяет указать уровень сигнала вашего устройства на расстоянии 1 м.
периферийные данные с измеренной мощностью:
Извлекает данные, которые можно использовать для объявления текущего устройства в качестве маяка.
Параметры
измеренная мощность
Значение индикатора мощности принятого сигнала (RSSI) (измеряется в децибелах) для устройства. Это значение представляет собой измеренную мощность маяка на расстоянии одного метра и используется во время измерения дальности. Укажите nil, чтобы использовать значение по умолчанию для устройства.
Моя любительская калибровка дала -60, которую я выставил и перепроверил:
Далеко — сотни футов
Рядом – ~50 футов
Немедленно – 1 метр (чуть меньше)
Являются ли результаты моего второго теста идеальными для Apple? Они действительно далеки от настроек по умолчанию, которые я испытал в первом тесте.
Или, возможно, я должен считать эти диапазоны калибруемыми в зависимости от моих потребностей?