Форматирование ответа iBeacon на сканирование

#ios #bluetooth-lowenergy #ads #ibeacon

#iOS #bluetooth — низкое энергопотребление #реклама #ibeacon

Вопрос:

Я хотел бы настроить свои периферийные устройства с низким энергопотреблением Bluetooth как iBeacons и отправлять дополнительные данные без подключения. Ответ на сканирование — правильный способ сделать это, но включение моего пользовательского ответа на сканирование приводит к тому, что обратный вызов iOS iBeacon не запускается в моем приложении iOS

В этом сообщении четко изложено, как форматировать рекламный пакет: http://e2e.ti.com/support/wireless_connectivity/f/538/p/293551/1023580.aspx#1023580

Я знаю, что у iBeacons, созданных Estimote, есть ответы на сканирование, так что это возможно, но я не могу найти никакой хорошей документации для iBeacons.

Какие допустимые ответы на сканирование для iBeacons?

Ответ №1:

Пример последовательности запроса / ответа на сканирование можно увидеть здесь:

http://processors.wiki.ti.com/index.php/BLE_sniffer_guide

Я сомневаюсь, что создание пользовательского ответа на сканирование с вашего маяка останавливает обнаружение. Я думаю, что более вероятно, что при добавлении ответа на сканирование вы каким-то образом изменили свою рекламу, чтобы iOS ее больше не видела.

Даже если вы получите эту работу, я не верю, что есть какой-либо способ заставить iOS видеть данные из ответа на сканирование, поступившего от iBeacon. Если вы хотите, чтобы эти данные использовались другими платформами, это может быть нормально.

Ответ №2:

Я включал тип данных «данные производителя» в ответ на сканирование. У меня был код компании, отличный от кода, указанного в преамбуле Apple для рекламных пакетов iBeacon. Удаление этих данных заставило iOS распознать мое устройство как iBeacon и получить пакет ответа на сканирование

Комментарии:

1. Похоже, у вас это получилось. Можно ли с помощью этого метода использовать сигнал запроса сканирования (а не ответа) для включения индикатора на устройстве ble (например, светодиода), чтобы он знал, что реклама была получена.