Skip to content

Bluetooth LE, Android: Вычисление расстояний до устройств вокруг, фильтрация шумов фильтром Калмана, точное определение поднесения доверенного устройства (смарт-часов) близко к смартфону на выбранное расстояние, с уведомлениями о событиях

License

Notifications You must be signed in to change notification settings

lifestreamy/android_ble_detection

Repository files navigation

Вычисление расстояния до устройства Bluetooth LE

Простое приложение для Android, демонстрирующее измерение расстояний между смартфоном и окружающими его устройствами Bluetooth LE, с применением фильтра Калмана для удаления шумов (чем дольше работает поиск, тем точнее отсекает шумы фильтр).

Демонстрация

ble_detection_app_demo.mp4

Описание

  • Оценка расстояния исключительно по силе сигнала (RSSI) Bluetooth на больших дистанциях ненадежна и неточна, однако возможно настроить стабильное обнаружение в выбранном небольшом радиусе (до 20 см) вокруг смартфона, чтобы определять, когда устройство (например, умные часы) появляется, находится в нём и покидает его.

  • Константы для фильтра Калмана и преобразования силы сигнала (RSSI) в расстояние выбираются опытным путем. Калибровка происходит на расстоянии 1 м.

    См. источник для информации об использованном фильтре Калмана

  • Было протестировано с 2 разными смартфонами, что возможно надежно определять, когда умные часы (Xiaomi Smart Band 7) входят или покидают выбранный радиус 10 см вокруг каждого устройства с высокой точностью (+-1 см).

Потенциальное применение

  • Безопасное подтверждения финансовых операций, передачи данных и других действий пользователя на его смартфоне.

  • Использование в качестве электронного пропуска

  • Оповещение об отдалении устройства от смартфона (например, устройство забыто в такси).

Использованные технологии и методы:

Android, Kotlin, Jetpack Compose, Dagger-Hilt, Coroutines, Flows, Gradle Version Catalogs, Bluetooth LE, Чистая Архитектура, MVI


About

Bluetooth LE, Android: Вычисление расстояний до устройств вокруг, фильтрация шумов фильтром Калмана, точное определение поднесения доверенного устройства (смарт-часов) близко к смартфону на выбранное расстояние, с уведомлениями о событиях

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages