我希望我的 Android 设备选择范围内具有最佳 RSSI 的 BT 设备并连接到它。有没有办法实现这样的事情?
例如:我家里有 5 个基于 ESP32 的设备,需要我的手机重新连接到最近的设备(RSSI 最强)。有没有办法让应用程序自动从可用设备列表中选择最佳 RSSI,终止之前的连接并重新连接到具有最佳 RSSI 的设备?
非常感谢您的帮助。谢谢。
最佳答案
是的,这绝对是可行的。您的应用程序需要执行的操作如下:-
- 在特定时间间隔(例如 5 秒)内扫描设备。
- 根据名称过滤扫描到的设备(即您要确保只有 ESP32 设备,而不是其他随机蓝牙设备)。
- 查找 RSSI 最佳的设备。
- 连接到具有最佳 RSSI 的设备。
- 如果您希望该过程连续进行,请返回步骤 1。
但是,请记住,RSSI 并不总是等同于距离/范围。具有最佳 RSSI 的设备实际上可能比其他设备更远。下面的链接介绍了这一点以及您的应用程序可能需要的其他一些有用数据:-
关于android - 连接到具有最佳 RSSI 的蓝牙设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67155887/