javascript - 'detected rssi value' 和 'rssi that I set' 和有什么区别?

标签 javascript ibeacon

我这几天在研究beacon,有一个问题。
在我的javascript广告ibeacon程序中,我可以设置measurePower值,如下所示:

var Bleacon = require('bleacon');

var uuid = 'E2C56DB5-DFFB-48D2-B060-D0F5A71096E0';
var major = 1;
var minor = 2;
var measuredPower = -50;

console.log('starting advertising ...');
Bleacon.startAdvertising(uuid, major, minor, measuredPower);

当我启动此程序时,在 iOS“Locate Beacon”应用程序中检测到 ibeacon。

但是此应用程序中出现的 rssi 值与我设置的值不同。

这是我的想法:varmeasuredPower = -50;是如果我测量距离信标发射器1米远的信标RSSI值,我会得到的RSSI值。

但即使距离它一米,数值看起来也不太接近......

请您解释一下吗?

最佳答案

测量功率字段在信标初始配置期间设置,然后由信标在每个数据包中传输。它应该设置为接收设备在一米外测量到的 RSSI 值。通过将传输中接收到的测量功率值与接收器测量的实际 RSSI 进行比较,接收器可以判断信标距离是否大于或小于一米,甚至可以使用公式粗略估计距离。

您在一米处看到明显不同的 RSSI 值这一事实可能意味着您的发射器的 -50 measuredPower 字段不正确。您可以使用 Locate 应用程序进行“校准”,该应用程序将在大约 30 秒内对一米处的 RSSI 测量值进行平均,然后您可以在代码中使用该值。

需要注意的几点:

  • 如果您更改信标的发射功率(如果发射器允许),您将需要重新校准并设置measuredPower

  • 由于天线增益差异,每种设备类型测量 RSSI 的方式略有不同。通常使用较新型号的 iPhone 作为标准引用。

关于javascript - 'detected rssi value' 和 'rssi that I set' 和有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35102881/

相关文章:

ios - 集成 iBeacon 和 core蓝牙外设

xcode - 根据最近的信标播放来自 url 的视频

ios - stopRangingBeaconsInRegion 有可能停止受监控区域的通知吗?

ios - iBeacon 接收器无法识别传输的信号

javascript - 当用户向下滚动时显示 Div

javascript - 将 Opus 音频数据文件解码为原始数据文件 Node JS

javascript - 使用 Paper.js、Meteor 和 MongoDB 存储和检索路径

javascript - 有没有办法将名字和姓氏的第一个字母大写并使其成为Javascript中的首字母

javascript - Jasmine 在测试函数中等待异步函数

java - 尝试将 BeaconParser 添加到 AltBeacon 库时出现异常