Поле txPower должно быть ожидаемой силой сигнала в дБм на расстоянии 1 метра. Каждая модель телефона Android имеет немного разную выходную мощность передатчика BLE, обычно измеряемую от -50 дБм до -70 дБм на расстоянии 1 м.
К сожалению, нет хорошего способа получить правильное значение для используйте для конкретной модели устройства c Android, если вы не измеряете это самостоятельно. Android не имеет встроенных API, чтобы получить это, и я никогда не видел опубликованных спецификаций от производителей телефонов.
Интерес к этой теме возобновился, поскольку команды разрабатывают приложения для отслеживания контактов. На прошлых выходных я действительно поехал в поле, чтобы измерить выходную мощность передатчика ряда устройств, которые у меня были под рукой. Например, для Google Pixel 3a я измерил -60 дБм.
Если вы хотите провести собственные измерения, чтобы помочь в этом усилии, я предлагаю следующую процедуру:
- Go на открытую площадку в нескольких метрах от любых препятствий, особенно металлических.
- Поднимите передатчик телефона на неметаллическом предмете на высоте не менее одного метра от земли. Телефон следует поставить вертикально так, чтобы экран был перпендикулярен земле. (Я использовал штатив для камеры.)
- Запустите приложение, которое передает маяк на полную мощность на телефон на штативе.
- Держите эталонный телефон (желательно iPhone SE 1-го поколения или старый iPhone 4-5сек) на расстоянии метра, так что оба экрана смотрят в одном направлении.
- Выполните «калибровку» в приложении маяка, например Locate Beacon , чтобы получить средний RSSI за ~ 30 секунд.
- Если телефон, используемый для измерения, не одной из указанных выше эталонных моделей, вам нужно будет отрегулировать чувствительность приемника этого телефона. В таблице, которой я поделился, есть пример того, как это сделать для Pixel 3a, измеряющего iPhone SE. Эта часть может быть сложной, поскольку вам нужен еще один телефон с известной чувствительностью или выходной мощностью передатчика.
Вот моя таблица с расчетами: https://docs.google.com/spreadsheets/d/1-voNJAeHz78AarZmfds8WiplNhUDzeYrsW0YzKfrExU/edit?usp=sharing
Я также написал сообщение в блоге , в котором затрагивается проблема отсутствия хорошего набора данных и рассказывается о дальности радиомаяка больше, чем вы когда-либо хотели знать.