Получение уникального аппаратного идентификатора с помощью BTLE/iBeacons

Я ищу способ различать аппаратные устройства через BTLE. Я вполне готов использовать любую систему (Estimote, Gimbal и т. д.), но мне нужно найти способ идентифицировать устройство до того, как будет дано какое-либо рукопожатие.

Например: если в области есть 20 устройств с поддержкой BTLE, я хотел бы однозначно идентифицировать их перед любой трансляцией.


person Alex    schedule 07.05.2014    source источник


Ответы (2)


Стандартные iBeacons делают именно это. Они рекламируют уникальный трехкомпонентный идентификатор (Proximity UUID/основной/второстепенный), который не требует рукопожатия для чтения. Его можно обнаружить на платформах iOS, Android, Mac и Linux. Идентификатор из трех частей отправляется в открытом виде в объявлении BLE.

Более подробная информация об этом формате рекламы доступна здесь: Что такое профиль iBeacon Bluetooth

Бессовестная вилка: моя компания производит маяки и сервисы, которые работают с любым стандартным iBeacon и взаимозаменяемы с продуктами других поставщиков, которые также являются стандартными iBeacon. Более подробную информацию о наших маяках и услугах можно найти здесь: http://www.radiusnetworks.com

person davidgyoung    schedule 07.05.2014
comment
Привет Дэвид. Особенно; Мне нужно найти способ уникальной идентификации устройства, на котором не установлено какое-либо приложение, связанное с маяком, возможно, с интервалом в несколько месяцев. Например, в Wi-Fi это возможно через MAC-адрес устройства, настроенного на сканирование открытых сетей (если пользователь не изменил MAC-адрес). Это возможно? - person Alex; 08.05.2014
comment
@ Алекс Я чувствую сильные противоречия в том, что ты пытаешься сделать. 1. Устройства iOS не начинают рекламировать себя автоматически. Должно быть приложение, которое его запускает. 2. Устройства iOS не пытаются никуда подключиться без приложения. 3. Упомянутый вами Wi-Fi работает только в том случае, если устройство подключается к вашей сети. 4. iOS использует случайные MAC-адреса именно для BLE, чтобы предотвратить легкую идентификацию. 5. iBeacons обычно не подключаются, но для этого в любом случае необходимо приложение. Поэтому я думаю, вам, возможно, придется пересмотреть свои требования. - person allprog; 08.05.2014
comment
Да, часть BLE немного нова для меня. Хотя я видел версию с Wi-Fi в действии. Я немного переосмыслю - person Alex; 08.05.2014

Похоже, вы хотите заранее знать, какой UUID соответствует какому поставщику оборудования, поэтому, если вы видите, можете ли вы сказать: «Эй, это Gimbal!» или "Эй, это Гело!"

По большей части вы можете меньше заботиться о мажоре и миноре. Вас больше всего интересует UUID. Это означало бы, что вам нужно будет отсканировать все эти UUID, а затем посмотреть на периферийные устройства, которые CoreLocation ранжирует, чтобы увидеть, к какому семейству продуктов оно принадлежит.

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

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

Не совсем понятно, что вы хотите сделать, поэтому, надеюсь, в какой-то степени это будет полезно.

person Zach Dennis    schedule 21.05.2014