这些天我正在学习灯塔并对此有疑问
在我的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中检测到ibeacon'定位信标'应用程序。
但是此应用程序中出现的rssi值与我设置的值不同。
这是我的想法:var measuredPower = -50;
是我测量的beacon值,如果我测量距离信标发射器1米远的信标rssi值。
但即使距离它1米远,它的价值似乎并不接近......
你能解释一下吗?
答案 0 :(得分:0)
在其初始配置期间在信标上设置measuredPower
字段,然后由每个分组中的信标发送它。它应该被设置为接收设备在一米远处测量的RSSI值。通过将传输中接收的measuredPower
值与接收机测量的实际RSSI进行比较,接收机可以判断信标是否大于或小于一米,甚至可以使用公式粗略估计距离。
您在一米处看到明显不同的RSSI值可能意味着您的发射器的-50 measuredPower
字段不正确。您可以使用定位应用程序进行“校准”,这将在大约30秒内平均一米的RSSI测量值,然后您可以在代码中使用此值。
有几点需要注意:
如果更改信标的传输功率(如果发射器允许),则需要重新校准并设置measuredPower
由于天线增益差异,每种设备类型将略微不同地测量RSSI。后来的iPhone型号通常用作标准参考。