带有蓝牙 5 的 AltBeacon 库(信标可检测范围)

AltBeacon library with Bluetooth 5 (beacon detectable range)

我目前正在使用 Altbeacon 库。 我使用 ADVERTISE_MODE_LOW_LATENCYADVERTISE_TX_POWER_HIGH 作为发射器应用程序,我的设备支持蓝牙 5。所以我猜应该在大约 30~50 米的范围内可以检测到信标。但是,在大约 5~7 米的范围内检测到了信标,而不是预期的范围。

我想问的是,据我所知,蓝牙5.x是一种扩展通信范围的标准,为什么仍然只能在6-7米内检测到信标?在 BeaconManager?

中有一个扩展检测范围的选项

几点:

  • 蓝牙 5 在很大程度上是一个营销术语。仅仅因为设备说它支持蓝牙 5 并不意味着它支持所有“可选”功能。我在尝试使用 BLE 5 对 Raspberry Pi 4 进行编程时学到了这一点。远程广告是一项可选功能。

  • 当谈到远程广告时,您所说的特定功能称为编码 PHY。这是一个使用汉明码进行前向纠错的物理层。这就是即使无线电功率相同,也能在远距离检测到广告的原因。

  • Android Beacon 库的发射器和扫描器不使用 long-range BLE 5 功能,即使设备硬件和蓝牙堆栈支持它也是如此。我们没有将支持放入库中的原因是因为使用此功能的机会很少——iPhone 不支持它,很少有硬件信标支持它,甚至许多较新的 Android 设备也不支持支持一下。

  • Android 8.0+ 具有启用此功能的 API。您想使用 PHY_LE_CODED 进行广告和扫描。要使用它,您需要支持 PHY_LE_CODED 的手机。在这里阅读更多:https://source.android.com/devices/bluetooth/ble_advertising