Добро пожаловать в мир Android, где каждая модель устройства имеет свою конфигурацию Bluetooth.Для целей RSSI в зависимости от расстояния, различия в приблизительном порядке важности включают:
- Различное усиление антенны Bluetooth (некоторые сильнее, чем другие)
- Другая диаграмма антенны Bluetooth(некоторые сильны в одном направлении и слабы в другом)
- Другой чип Bluetooth и другие характеристики аналого-цифрового преобразователя для изменения уровня сигнала на цифровое чтение RSSI.
- Другое объявление BluetoothСкорость прослушивания канала прослушивания.(Некоторые устройства меняют каналы один раз каждые 10 секунд, другие с частотой менее одной секунды. Каждый канал будет иметь разные характеристики приема сигнала.)
- Различные прошивки на уровне ПЗУ, которые влияют на стек Bluetooth
Те же проблемы, что и выше, влияют на оценки расстояний Eddystone точно так же, как и iBeacon и AltBeacon.Физика и аппаратные средства - в значительной степени то, что движет этой проблемой.Формат маяка не имеет значения.
При том же значении, те же проблемы влияют и на iOS.Вы действительно видите разные оценки расстояния на iPad по сравнению с различными моделями iPhone.Однако этот вариант намного меньше, чем на Android, который гораздо более фрагментирован.
На многих устройствах Android, как вы видели, этот вариант аналогичен различным устройствам iOS.Однако наверняка есть выбросы, и нет хорошего способа узнать, какие модели устройств являются выбросами, без фактического тестирования с ними.
Запланированный подход с библиотекой маяков Android состоял в том, чтобы использовать расчеты расстояния для конкретной модели.представлен сообществом для корректировки оценок расстояний в зависимости от модели.Хотя это технически осуществимо, участие не было тем, на что надеялись.Этот подход будет работать, если вы знаете модель устройства, на которую вы нацеливаетесь, и можете самостоятельно скорректировать модель расстояния, просто недостаточно представлений, чтобы полагаться на этот подход, чтобы обеспечить надежную работу на всех устройствах в целом.
Суть в том, что если у вас есть сценарий использования, который требует преобразования RSSI в расстояние в метрах, и вам нужно, чтобы он работал на всех моделях Android, с которыми вы можете столкнуться, вы будете разочарованы.Однако другие случаи использования более терпимы к таким аномалиям.