iBeacon: разработка мобильных приложений

iBeacon: разработка мобильных приложений

Технология iBeacon разработана компанией Apple и встроена в iPhone и iPad под управлением iOS 7. Технология расширяет возможности геолокации и открывает новые возможности локационных приложений, мобильных платежей и рекламных стратегий. Технология iBeacon, например, позволяет разрабатывать мобильные приложения, способные найти свободное парковочное место для вашего автомобиля в гараже торгового центра, а после проложить путь к нужному магазину с интересующим вас товаром.iBeacon на парковке

 Особенности технологии iBeacon

iBeacon предназначена для задач микро-навигации и микро-позиционирования и позволяет передавать данные между беспроводными устройствами. В качестве передающего устройства, может использоваться передатчик, выполняющий функцию маяка. Сигнал до него. Дальность обнаружения в зависимости от модели маяка и препятствий, достигает 50-70 метров. Маяк работает автономно от батарейки, которой хватит от полугода до трех лет. Маяком также может выступать сам смартфон или планшет.

iBeacon транслирует по Bluetooth Low Energy (Bluetooth LE) три параметра proximity UUID, major и minor. Операционная система iOS7 делает работу с такими передатчиками проще. Proximity UUID это уникальный 128 битный идентификатор, для всех маяков в определенной группе или в пределах здания есть одинаковый proximity UUID. Major и minor это 16 битные беззнаковые целые для нумерации маячков в пределах одного proximity UUID. Для сети, состоящей из большого числа маяков можно разработать симулятор беспроводной сети для моделирования ее работы.

Области применения iBeacon приложений

Как работают маячки iBeacon

  • Навигация внутри помещений. Можно развесить маяки в пределах одного здания на разных этажах. На карте отображается положение человека в здании на определенном этаже. Подходит для навигации в торговых центрах, аэропортах, на выставках и конференциях;
  • Интерактивная экскурсия по музею. На картину или экспонат устанавливаются маячки, при приближении на смартфоне проигрывается информация об экспонате.iBeacon в музее
  • Точное позиционирование в городе. Маячки развешиваем на памятники и объекты архитектуры. Целый город превращается в музей;
  • Навигация для слепых. При обнаружении маячка проигрывать голосовое сообщение где пользователь находится и куда можно двигаться дальше;
  • Скидки и акции в магазинах. На стеллаже с товаром устанавливается маячок. Проходим мимо него на телефон приходит информация о скидке или о рекламной акции;Скидки с iBeacon
  • Ключи и пропуска: смартфон – ключ от квартиры, автомобиля, номера в гостинице или пропуск в офис. 

Технология Bluetooth с низким энергопотреблением

Технология iBeacon основана на беспроводной технологии Bluetooth LE, отличающейся низким энергопотреблением. В конце 2009 года была выпущена версия спецификации ядра беспроводной технологии Bluetooth. Главным достоинством её является сверхмалое максимальное энергопотребление, среднее энергопотребление и энергопотребление в режиме сна. Устройства, использующие технологию Bluetooth LE, будут потреблять меньше энергии, чем более ранние Bluetooth-устройства.

Во многих случаях устройства смогут работать до трех лет на одной миниатюрной батарейке без необходимости подзарядки. Новая версия спецификации Bluetooth даёт возможность поддержки широкого диапазона приложений и уменьшает размер конечного устройства для удобного использования в различных областях.

 

Google Eddystone

Eddystone от Google

Прямым конкурентом технологии является Eddystone от Google. Технология Eddystone от Google представляет собой открытый, кросс-платформенный формат Bluetooth LE для Bluetooth-маяков. Eddystone во многом похож на iBeacon, но он более открытый. Основная проблема iBeacon — проприетарный характер, из-за чего он поддерживает только устройства от Apple. Важным отличием Eddystone от аналогов является поддержка нескольких так называемых «типов фреймов» (блоков загруженных данных). Предыдущие решения от Apple (iBeacon) и самой Google (The Physical Web) поддерживают только один тип, что ограничивает их функциональность. Поддержка Eddystone уже встроена в Nearby API на Android в составе Google Play Services. Формат также можно использовать в iOS в качестве библиотеки. Eddystone доступен на GitHub по лицензии Apache v2.0.

С помощью Eddystone разработчики смогут создать более продвинутые маяки. Например, такие, которые смогут предоставлять расписание автобусов при подходе пользователя к остановке, или такие, которые позволят проверить билет при посещении мероприятия.

 Разработка мобильного приложения для iBeacon

В роли маячков могут выступать не только специализированные беспроводные передатчики, но и iOS устройства, на которых установлена операционная система iOS7 и выше. Подойдут устройства с поддержкой Bluetooth 4 LE, т.е. iPhone 4s, iPad 3 и более новые.

iPhone 4s мы будем использовать в роли передатчика, а iPad 3 в качестве приемника. В качестве тестовых устройств выступает iphone 5 – передатчик и ipad mini 2 – приемник.

Мы пишем программу в среде разработки xcode 6, на языке objective-C.

На первом устройстве необходимо получить список маячков в зоне видимости с определенным Proximity UUID, а также значениями major и minor при помощи метода startRangingBeaconsInRegion. Программа определяет примерное расстояние до маячка и погрешность расстояния в метрах. Фиксируются три зоны позиционирования: Immediate, Near, Far.

Далее происходит мониторинг региона. Когда пользователь заходит в зону действия маячка или покидает ее, возникают события didEnterRegion/didEnterRegion (метод startMonitoringForRegion). Причем в обновлении iOS7.1 мониторинг работает, даже когда ваше приложение находится в фоновом режиме, при наступлении события приложение будет разбужено локальным push-уведомлением.

На втором устройстве стоит задача передачи сигнала. Сначала происходит инициализация маячка методом initWithProximityUUID:major:minor:identifier. Затем передача сигнала начинается после выполнения комманды startAdvertising.

 Тестирование iBeacon приложения

На плане указано расположение передатчика и приемника (рис.1).

Фиксация трех зон передатчика

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

  • вход в квартиру: высокая дальность;
  • вхождения в комнату с передатчиком: средняя дистанция;
  • нахождение в непосредственной близости от передатчика: малая дальность.

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

 

Экран приемника (ipad mini 2) 

Итого

Исследование показало, что технология отлично справляется с задачей позиционирования внутри зданий, но технология совершенно не подходит для определения точной дистанции и сильно подвержена помехам.

Имя

Телефон

Email

Компания

Сообщение

Прикрепить файл