Полагаю, вы говорите о BLE.По крайней мере, это подходящее решение.
На Android вы можете прочитать значение RSSI соседних устройств из ответа сканирования BLE.У вас есть два возможных способа:
- Применить значение RSSI по умолчанию на расстоянии 1 м
- Считать уровень мощности передачи из рекламы, если это значение присутствует.Для получения дополнительной информации см. Что такое txPower для Bluetooth LE и как он используется?
По значению RSSI полученных рекламных объявлений вы можете оценить расстояние, Больше или меньше.Если вы увидите « Руководство по разработке аксессуаров для устройств Apple », вы заметите, что по крайней мере подходящие для Apple устройства должны содержать уровень мощности передачи в своих рекламных данных.
Более того, стандарт BLE предусматривает некоторыехарактеристика для передачи положения маяков.Поиск местоположения на:
https://www.bluetooth.com/specifications/gatt/characteristics
Таким образом, в целом, любое устройство может предоставить свой TxPowerLevel на расстоянии 1 м, и его местоположение определяется характеристиками BLE.Теперь это зависит от того, что вы действительно хотите сделать.Найдите другой маяк BLE?Или определить местонахождение вашего пользователя по обнаружению известного маяка?И то и другое возможно с использованием упомянутых данных.