Устройства Bluetooth имеют уникальные MAC-адреса, поэтому я думаю, что это возможно, но имеет ряд ограничений:
- Вы бы хотели, чтобы устройства были либо обнаруживаемыми, либо уже связанными с ними
- Устройства Bluetooth, как правило, не привинчиваются к потолку, как корпоративные точки доступа, и не привязываются к телефону, как их домашние аналоги.
- Радиус действия Bluetooth, как правило, меньше, чем у WiFi, что потенциально затруднит точную локализацию.
- Насколько мне известно, такой базы данных уже не существует.
Вы можете получить информацию об уровне сигнала, необходимую для этого, из BlueZ в Linux, поэтому я предполагаю, что подобное возможно и на других платформах. Затем встает вопрос о создании базы данных измеренных уровней сигнала в известном месте, чтобы «отобразить» область. С помощью этой базы данных можно сопоставить неизвестный набор уровней сигнала с большим радиусом, просто используя набор всех известных положений всех видимых устройств. С этим знанием вы можете либо:
Триангулируйте правильно, если вы действительно знаете местоположение отдельных устройств
или
Посмотрите, какое местоположение в вашей базе данных в пределах тривиально рассчитанного радиуса лучше всего соответствует силам, которые вы измеряете на устройстве в настоящее время.