IBeacon 測量距離方法
IBeacon 可通過RSSI(信號強(qiáng)度)和設(shè)備在一米時(shí)的RSSI值粗略計(jì)算出距離.
計(jì)算公式
d = 10 ^ (abs(RSSI) - A) / (10 * n);
d ----- 計(jì)算得到的距離.
RSSI - 接收信號的強(qiáng)度(負(fù)值).
A ----- 發(fā)射端和接收端相隔一米時(shí)的信號強(qiáng)度.
n ----- 環(huán)境衰減因子.
JAVA 代碼計(jì)算公式
// 使用這個(gè)測量距離
public static double calculateDistance(int txPower,int rssi){
// 信號值得絕對值.
int absRssi = Math.abs(rssi);
// txPower 一米值. 暫時(shí)使用經(jīng)驗(yàn)值 59 .需要替換成自己的真實(shí)值.
txPower = 59;
double power = (absRssi - txPower)/(10 * 2.0);
return Math.pow(10,power);
}
參考鏈接 : http://blog.csdn.net/njchenyi/article/details/46981423