2014-10-28 3 views
0

Я использую сенсорный тег в качестве устройства Bluetooth с низким энергопотреблением Bluetooth, с которым я не могу идентифицировать массив маяков, упомянутый в методе didRangeBeacons Возврат 0 рассчитывается на приложение приемника Устройство iOS. Поскольку в этом массиве не наблюдаются такие устройства, они не могут найти UUID Proximity, основные и второстепенные значения.iBeacons in iOS - нет обратных вызовов с фактического устройства BLE, но didRangeBeacons вызывается, когда другое устройство iOS используется как brodcaster

С другой стороны, когда я использовал другое устройство IOS в качестве вещателя, а затем пытался печатать журналы в методе didRangeBeacons его, давая нам массив с маяками, который позволяет мне получать бесконтактной UUID, основные & незначительных значений.

Я не сомневаюсь, что в коде есть что-то неправильное, поскольку я тестировал 2 устройства ios с приложением для вещания, установленным с двумя различными UUID, и то же самое передают сигналы в приложении Receiver, когда те же UUID регистрируются для приема сигналов от любых BLE-вещателей ,

Сомневаюсь -

  1. Либо внешний BLE устройство (датчик метки от Texas Instrument), не создавая область, в которой мы можем принимать сигналы.
  2. Возможно, нам придется выполнить некоторые дополнительные настройки в файле .plist или в Xcode для приема сигналов от любого другого устройства BLE, другого устройства iOS в качестве вещателя.
  3. UUID, зарегистрированный для обоих вещательных компаний & Приемник может не соответствовать, чтобы получить сигналы в didRangeBeacons.

С кем-то сталкивалась эта проблема когда-либо? Пожалуйста, предложите.

Код:

_locationManager = [[CLLocationManager alloc] init]; 
    _locationManager.delegate = self; 
    NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:uuidString]; 
    _beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:1 minor:1 identifier:identifier]; 
    self.beaconRegion.notifyOnEntry = YES; 
self.beaconRegion.notifyOnExit = YES; 
self.beaconRegion.notifyEntryStateOnDisplay = YES; 
    [_locationManager startRangingBeaconsInRegion:_beaconRegion]; 
    [_locationManager startMonitoringForRegion:_beaconRegion];` 
+0

Введите код, на котором вы начнете мониторинг или начните запись ваших маяков –

+0

На мгновение. добавив код. –

+0

'_locationManager = [[CLLocationManager alloc] init];' \t _locationManager.delegate = self; \t NSUUID * uuid = [[NSUUID alloc] initWithUUIDString: uuidString]; \t _beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID: uuid major: 1 minor: 1 identifier: identifier]; \t self.beaconRegion.notifyOnEntry = YES; \t self.beaconRegion.notifyOnExit = YES; \t self.beaconRegion.notifyEntryStateOnDisplay = YES; \t [_locationManager startRangingBeaconsInRegion: _beaconRegion]; \t [_locationManager startMonitoringForRegion: _beaconRegion]; ' –

ответ

0

ТИ SensorTag не работает как IBeacon "из коробки". Вам необходимо установить iBeacon specific firmware from TI. TI не делает эту прошивку доступной, если вы не подписали лицензионное соглашение iBeacon с Apple.

Я предлагаю вам посмотреть другое оборудование маякового радиосигнала, если вы не хотите проходить процесс лицензирования Apple.

+0

Спасибо, Пол .. Я проверю. –

0

Наиболее вероятные объяснения:

  1. Ваш SensorTag не передает тот же UUID/главная/второстепенный, как сконфигурированный CLBeaconRegion в коде выше.

  2. Ваш SensorTag не передает хорошо сформированную рекламу маяка.

Это очень трудно устранить это только с устройства IOS, потому что CoreLocation упорно отказывается сказать вам что-нибудь вообще, если все не соответствует полностью, включая идентификаторы.

Если у вас есть доступ к устройству Android 4.3 или устройству OSX, вы можете использовать их, чтобы проверить рекламу SensorTag, чтобы узнать, отправляет ли она правильную вещь. В OSX вы можете попробовать ScanBeacon, который отображает все рекламные маяки, независимо от идентификаторов. На Android вы можете использовать Bluetooth LE Scanner.

Если у вас нет таких инструментов для проверки вашей передачи, вы должны просто удвоить и утроить проверку своей конфигурации, пока не убедитесь, что она транслируется с помощью правильных идентификаторов.

EDIT: Выход BLE Сканер должен выглядеть следующим образом:

enter image description here

+0

Спасибо за ответ Дэвид. Я проверил Bluetooth LE Scanner, который возвращает мне некоторые значения о GAP, GATT, информации об устройстве и остальном, все остальные листы имеют неизвестный сервис. Я вижу UUID во многих местах в ГАТ, ГАТТ. Но это будет идентификатор, который я должен использовать во время мониторинга. Кроме того, где находятся те основные и второстепенные значения, которые по умолчанию передают тег Sensor. –

+0

Можете ли вы приложить скриншот того, что вы видите на сканере Bluetooth LE? – davidgyoung

+0

Спасибо, Дэвид. Я наблюдал в Android-приложении «Bluetooth LE Scanner», что тег TI Sensor не показывает UUID, основные и второстепенные значения для тега Sensor в качестве вещателя. С другой стороны, когда я проверял другие устройства iOS в качестве вещателя, я мог видеть эти значения, и именно по этой причине я получаю сигналы от другого iOS-устройства. –

Смежные вопросы