Как сканировать сигналы iBeacon без указания UUID?

Поскольку сигнал iBeacon — это просто вещание BLE с предопределенным профилем BLE, я думаю, что могу написать приложение для iOS, которое сканирует сигналы вещания BLE и анализирует, является ли какой-либо найденный сигнал iBeacon. Но как это сделать?

  1. Как сканировать все сигналы вещания BLE вокруг?
  2. Как отличить, является ли сигнал вещания BLE iBeacon?

person Xaree Lee    schedule 08.01.2014    source источник


Ответы (3)


К сожалению, на iOS вы должны указать ProximityUUID, чтобы увидеть iBeacons. На Android вы можете видеть все iBeacon независимо от UUID. Кроме того, на iOS вы не можете использовать API-интерфейсы CoreBluetooth для рекламы iBeacons.

Подробнее см. здесь.

person davidgyoung    schedule 08.01.2014

Ответ @davidgyoung не совсем правильный. На iOS вы можете подписаться на вход/выход из игры, но вы должны заранее знать UUID.

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

person Bouke    schedule 10.03.2014
comment
Вы ошибаетесь, iOS не предоставляет рекламные данные, кроме как через вызовы iBeacon, которые должны знать UUID. На других платформах такого ограничения нет. - person Chris Stratton; 10.03.2014
comment
@ChrisStratton Я думаю, ты ошибаешься. С помощью centralManager:didDiscoverPeripheral:advertisementData:RSSI: предоставляются рекламные данные. 20 байтов, составляющих UUID, старший и младший, просто есть. - person Bouke; 10.03.2014
comment
Я тоже пробовал. Вы видите что-то, но это мусор. Я предполагаю, что iBeacon выполняет некоторое шифрование, которое не может быть расшифровано CoreBluetooth. Я считаю, что API-интерфейсы разработаны таким образом, чтобы не отдавать слишком много контроля. - person monkSinha; 18.02.2019

По моему мнению, вы не можете найти все маяки, которые транслируют рекламные данные, независимо от их UUID близости.

Это можно сделать только в приложении Mac, но не в iOS.

Это поможет вам лучше понять Нажмите здесь< /а>

И это ссылка на приложение для сканирования маяков с открытым исходным кодом в рабочем состоянии для Mac: Нажмите здесь

person Milan Manwar    schedule 15.07.2015