所以我目前正在使用一台设备作为具有特定主要和次要值的发射机,并使用
进行广播self.peripheralData = [[[CSMBeaconRegion alloc] initAsTransmitter] peripheralDataWithMeasuredPower:nil];
[self.peripheralManager startAdvertising:self.peripheralData];
我正在使用接收器开始测距并显示发射器的主要和次要值。
一切都运作良好。但是,当我开始离开设备,并超过10米,我失去联系。当我走回去时,我仍然没有联系。我距离变送器不到1米时才能重新启动连接。
如何将发射器的范围增加到MAX?
我应该为peripheralDataWithMeasuredPower
设置一些值吗?
答案 0 :(得分:0)
iBeacon信号的功率基于BLE,您无法更改它。 peripheralDataWithMeasuredPower仅用于校准信标上的测距。 关于您回到范围内时未连接的信标,这是iBeacon系统的内部信息。它应该可以工作,但有时在你的设备检测到信标范围之后会有延迟。
答案 1 :(得分:0)
这里出了点问题。当使用iPad或iPhone作为发射器时,即使您无法达到50米标称范围,您也应该能够检测到超过10米的iBeacon传输。你在一个有很多障碍物的地方进行测试吗?
即使它在10米处下降,你也不必再回到1米来再次检测它(这是一个错字吗?)。如果您只是在10米外等待,您确定它不会再次检测到它吗?
虽然@ Patrick-Tescher是正确的,你不能改变充当iBeacon的iOS设备的发射功率,但像Radius Networks的RadBeacon这样的硬件iBeacons可以让你配置他们的发射机功率。但是,您通常使用特定于信标的专有机制来更改发射机功率,而不是使用iOS API。
此外,虽然您的iOS设备可能有短距离,但专用硬件iBeacons的范围通常超过蓝牙LE的50米标称范围。
完全披露:我是Radius Networks的员工。