iBeacons - маяки:как получить мощность широковещательного маяка (txPower)

StackOverflow https://stackoverflow.com//questions/24001702

Вопрос

iBeacons, похоже, передают свой параметр txPower (сообщают о мощности RSSI на расстоянии 1 метра), который используется при расчете beacon.accuracy и beacon.proximity свойства (подробную информацию можно найти в пакете рекламных объявлений iBeacon здесь).

Однако, CLBeacon класс, похоже, не имеет свойства для txPower.Есть ли способ, которым я могу получить txPower, используя Core Location framework, или мне нужно перейти к Core Bluetooth?Причина, по которой мне это нужно, заключается в том, что я хочу поэкспериментировать с пользовательским расчетом точности /близости маяка для очень быстрого определения дальности действия маяка.В этих обстоятельствах обратное вычисление txPower из accuracy это не помощник.

Это было полезно?

Решение

К сожалению, вы не можете получить это значение программно ни с одним из них CoreLocation или CoreBluetooth.Apple блокирует доступ ко всем данным iBeacon с помощью CoreBluetooth (Смотрите мою разбивку этого здесь.) Аналогично с CoreLocation это просто не раскрывается в CLBeacon класс, как вы уже видели.

Поскольку вы говорите, что не можете выполнить обратный расчет, то единственными другими способами, которые я могу придумать для этого, являются:

  1. Используйте устройство Android, OSX Mavericks или Linux, которые не имеют таких ограничений на чтение этого поля.
  2. Создайте таблицу поиска в вашем приложении iOS для всех ваших iBeacons (с уникальными значениями UUID/major/minor по сравнению сих значение txPower)

Вариант 2, приведенный выше, очевидно, требует, чтобы вы присвоили уникальные идентификаторы всем вашим тестируемым iBeacons.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top