我注意到有时RSSI值不正确。 我的代码只需调用启动扫描功能:onLeScan回调在Android上使用蓝牙低功耗(BLE)扫描返回异常正的RSSI值
mBluetoothAdapter.startLeScan(mLeScanCallback);
,然后我读了回调的结果,并保存在一个文件中的结果:
private static BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
String objScanRec = bytesToHex(scanRecord);
outStr = rssi + ";" + objScanRec + ";" + device.getName() + ";" + beaconLocation + ";\n";
try {
Raw_log.write(outStr);
Raw_log.flush();
} catch (IOException e) {
e.printStackTrace();
}
// }
}
};
的问题是,我读了积极的RSSI值,也如果信标处于固定距离。 例如我在离手机(或智能手表)30厘米的灯塔处读取了约-45的值,这些值是现实的,但值也在+80或+100左右(这是不现实的),这些值约为测量值的20%。 有什么我失踪? 谢谢
我可能是错的,但是这是电磁学是如何工作的?你无法得到确切的阅读,因为它们受到很多事物的干扰。 – dominik4142 2014-10-17 00:14:10
嗨,不,你没有错,RSSI值本质上是一个近似的衡量标准,并不稳定。但是我期望的是标称值附近的振荡,比如从-45dBm到-35dBm,而不是正值,我也得到了100dBm(正值),这在智能手机中是不可能的(信号功率将达到几百KW) [链接] http://www.rapidtables.com/convert/power/dBm_to_Watt.htm 但感谢您的评论 – Filartrix 2014-10-17 01:00:54
感谢您的链接!我刚刚检查了关于rssi的维基百科详情:它显示了从天线吸收的功率。也许读数来自WiFi /移动天线干扰蓝牙?我知道这些是不同的频率,但经过反弹或其他可能发生的事情后,可能会影响蓝牙天线的工作方式? – dominik4142 2014-10-17 01:07:24