2014-02-19 3 views
0

Как я могу получить числовое расстояние от IBeacon:Числовой расстояние от IBeacon

NSString *proximity; 
switch (beacon.proximity) { 
    case CLProximityNear: 
     proximity = @"Near"; 
     break; 
    case CLProximityImmediate: 
     proximity = @"Immediate"; 
     break; 
    case CLProximityFar: 
     proximity = @"Far"; 
     break; 
    case CLProximityUnknown: 
    default: 
     proximity = @"Unknown"; 
     break; 
} 

Я хочу иметь значения, как 2.4m

+2

Невозможно. Нет никакого способа получить реальное мировое расстояние надежно от силы сигнала. Вы можете попробовать RSSI, но он все равно не сделает это за вас. – Linuxios

+0

Возможный дубликат [Каковы номинальные расстояния для iBeacon «Far», «Near» и «Immediate»] (http://stackoverflow.com/questions/19007306/what-are-the-nominal-distances-for- ibeacon-far-near-and-moment) – rckoenes

+0

Хотя вопрос, заданный по ссылке, несколько отличается, для всех практических целей это следует рассматривать как дубликат, поскольку ссылка обсуждает присущее ограничение механизма, что было бы еще более для этой цели, чем для этого. –

ответ

2

Там отличный ответ здесь на переполнение стека: What are the nominal distances for iBeacon. Простой ответ: нет числового значения, которое вы можете легко экстраполировать. Более длинный ответ заключается в том, чтобы получить числовое значение, которое вам нужно либо для нескольких iBeacons, либо для большой удачи, чтобы создать точную цифру.

+0

Да, приблизительные вычисления расстояния (например, что делает CoreLocation с iBeacons) НЕ ТОЧНЫ. В основном это хорошая работа, но это часто бывает неправильно. –

0

Простой и надежный способ сделать это. Вы можете перевести его на значение близости (немедленное, рядом, далеко). Кроме того, вы можете попытаться сыграть с RSSI (который меняется постоянно, иногда довольно быстро) и сравнивают его с TxPower, который является измеренной силой сигнала на расстоянии 1 метра от маяка. Как я уже упоминал в начале, это не будет надежным методом, но вы можете попробовать, как хорошо он будет работать для вас. Я не ожидаю, что это значение изменится линейным образом, но, возможно, вы найдете хороший метод, который будет работать в вашем случае.

1

Если вы используете Estimote маяки, они имеют свойство distance автоматически рассчитать расстояние между устройством и маяком

+0

Привет, это правда, и это технически находится в метрах, хотя, как уже упоминалось ранее, расчёты расстояний неточны и их следует рассматривать только как приближение. –

+0

@ chingi3 http://estimote.github.io/iOS-SDK/Classes/ESTBeacon.html кажется мертвым ... сага о маяке и триангуляции продолжается! – koconder

0

Точность параметр возвращает числовое расстояние в метрах. Близость значения, как Immediate, Ближнего, Дальнего и Unknown предопределены яблока на основе RSSI (интенсивность силы сигнала ПОЛУЧАЛ), Точность (расстояние в метрах) и Tx Мощность (Измеряемая сила сигнала на расстоянии 1 м от маяк). Если вы хотите создать свой собственный алгоритм, вы всегда можете использовать параметры этих параметров, но они ненадежны, поскольку RSSI слишком сильно колеблется. Итак, вам нужно провести тестирование для оптимальных значений этих параметров в соответствии с вашим окружением.

Смежные вопросы