15.10.2015
58378
Технология iBeacon разработана компанией Apple и встроена в iPhone и iPad под управлением iOS 7. Технология расширяет возможности геолокации и открывает новые возможности локационных приложений, мобильных платежей и рекламных стратегий. Технология 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 основана на беспроводной технологии Bluetooth LE, отличающейся низким энергопотреблением. В конце 2009 года была выпущена версия спецификации ядра беспроводной технологии Bluetooth. Главным достоинством её является сверхмалое максимальное энергопотребление, среднее энергопотребление и энергопотребление в режиме сна. Устройства, использующие технологию Bluetooth LE, будут потреблять меньше энергии, чем более ранние Bluetooth-устройства.
Во многих случаях устройства смогут работать до трех лет на одной миниатюрной батарейке без необходимости подзарядки. Новая версия спецификации Bluetooth даёт возможность поддержки широкого диапазона приложений и уменьшает размер конечного устройства для удобного использования в различных областях.
Прямым конкурентом технологии является 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 разработчики смогут создать более продвинутые маяки. Например, такие, которые смогут предоставлять расписание автобусов при подходе пользователя к остановке, или такие, которые позволят проверить билет при посещении мероприятия.
В роли маячков могут выступать не только специализированные беспроводные передатчики, но и 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.
На плане указано расположение передатчика и приемника (рис.1).
Приемник не фиксирует точную дальность до передатчика, а фиксирует нахождение в одной из трех зон: малая, средняя, высокая. Приемник зафиксировал три события:
Серьезным минусом является то, что существует серьезная погрешность и задержка во времени для обновления информации. Если поставить преграду на пути сигнала приемник может показать выход из зоны. Именно поэтому данная технология не подходит для определения точной дистанции до объекта.
Итого
Исследование показало, что технология отлично справляется с задачей позиционирования внутри зданий, но технология совершенно не подходит для определения точной дистанции и сильно подвержена помехам.
Подпишись на рассылку
09.09.2020
6859
Метрики, которые помогут понять, насколько хорошо работает приложение, сколько денег приносит и нужно ли его дорабатывать.
08.03.2017
58225
Рынок мобильных приложений растет как на дрожжах. Индустрия громадная и развивается беспрерывно. Как следствие, появляется все больше разработчиков и...