基于RSSI的三角形质心定位算法的室内蓝牙定位系统的设计与实现( ibeacon)
【醍醐灌顶】我研究的蓝牙定位技术,太实战了,我会把技术精华整理成笔记,有实际的项目,想要的仅需30元,支付后给我留言或加我微信。
微信:
通过无需连接的特性发送广播获得信标的rssi通过距离算法获得与信标的距离,通过三个信标的距离与坐标用三点定位算法得到手机位置。扫描是使用的第三方库,扫描更快更稳定。
一,距离算法和三点定位算法
1,三点定位算法是最简单的测距方法,距离算法基于无线电衰减模型,rssi与距离的对数正比。即可得到公式
d = 10^((abs(RSSI) - A) / (10 * n))
d - 计算所得距离
RSSI - 接收信号强度(负值)
A - 发射端和接收端相隔1米时的信号强度
n - 环境衰减因子
double Rssi = Math.abs(rssi);
double power = (Rssi - 60) / (10.0 * 3.3);
//93=10米 60=1米
String location=String.valueOf(Math.pow(10, power));
Textview1.append("\n 距离为:"+location.substring(0,6)+"米");
2,三点定位算法,在基于无线电衰减模型中能获得固定的一个点坐标。
已知三个信标的坐标,已经通过三个信标的RSSI得到与信标的距离。即可得到定位的坐标。
二。效果图