降低 Android 设备上的蓝牙信号强度
Posted
技术标签:
【中文标题】降低 Android 设备上的蓝牙信号强度【英文标题】:Reduce Bluetooth signal strength on Android device 【发布时间】:2019-09-25 05:41:35 【问题描述】:是否有高级(Java)或低级方式(使用本机代码)将 android 设备上的蓝牙信号强度降至最低?
目标是使设备在 20 厘米范围内可被发现? 在 Internet 上根本找不到任何关于此的内容。
【问题讨论】:
扫描时如果想过滤掉距离较远的设备,可以使用rssi参数获取信号强度。 RSSI 不是您可以用来测量与其他设备的准确距离的东西。我的意思是你可以试试,但准确度不是很好。正如这里提到的altbeacon.github.io/android-beacon-library/…:“在大约 1 米附近,您可以看到 0.5-2 米之间的距离估计” 【参考方案1】:您可以在 android 上使用自定义 BLE 广告来执行此操作,您可以使用以下模式来设置您的蓝牙发现范围。
//Use AdvertiseSettings class
ADVERTISE_MODE_BALANCED : Perform Bluetooth LE advertising in balanced power mode.
ADVERTISE_MODE_LOW_LATENCY : Perform Bluetooth LE advertising in low latency, high power mode.
ADVERTISE_MODE_LOW_POWER : Perform Bluetooth LE advertising in low power mode.
ADVERTISE_TX_POWER_LOW : Advertise using low TX power level.
ADVERTISE_TX_POWER_ULTRA_LOW : Advertise using the lowest transmission (TX) power level.
参考detail 文档
【讨论】:
昨天我尝试了 ADVERTISE_MODE_LOW_POWER 和 ADVERTISE_TX_POWER_ULTRA_LOW。该设备在 3 米内可被发现,这对于我的目标(20 厘米)是不可接受的。但是您正确回答了我的问题,我可能应该接受它,但是如果可以使用低级方式控制TX功率,请等待其他cmets? 您可以在如此短的距离内使用接近传感器 哇!这是个好主意,我会考虑这个以上是关于降低 Android 设备上的蓝牙信号强度的主要内容,如果未能解决你的问题,请参考以下文章