2013-12-06 4 views
0

Я новичок IOS. Мне нужно рассчитать расстояние между устройствами Bluetooth. Когда я google, я не мог найти формулу для измерения расстояния между устройствами, все в теории, которое я не мог понять. Поэтому, если есть какая-либо прямая формула для измерения расстояния с использованием силы сигнала, это будет круто , Любая помощь приветствуется.формула для расчета расстояния между устройствами Bluetooth?

+1

Моя первая мысль была бы, что это невозможно. Для этого перевода существует множество неизвестных факторов. Интерференция или сила антенны, например. Я видел разные уровни сигнала на равных расстояниях на разных устройствах. Недопустимый для измерения расстояний, возможно, – fguchelaar

+0

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

ответ

1

Если есть на стороне сервера участвует в вашем приложении, вы можете получить координаты оба устройства используют класс CLLocationManager, а затем вычисляют расстояние, используя следующую функцию.

#define d2r (M_PI/180.0) 

+(float) haversine_km:(float)lat1: (float)long1: (float)lat2: (float)long2 
{ 
float dlong = (long2 - long1) * d2r; 
float dlat = (lat2 - lat1) * d2r; 
float a = pow(sin(dlat/2.0), 2) + cos(lat1*d2r) * cos(lat2*d2r) * pow(sin(dlong/2.0), 2); 
float c = 2 * atan2(sqrt(a), sqrt(1-a)); 
float d = 6367 * c; 

return d; 
} 


Где LAT1, long1 координаты первого устройства и LAT2, long2 координаты второго устройства. Результат будет в километрах, и, конечно же, вы можете преобразовать его в желаемую единицу.

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