IBeacon

IBeacon (англ. iBeacon) — это протокол, разработанный компанией Apple и представленный на конференции Apple Worldwide Developers Conference в 2013 году[1]. С тех пор различные производители начали выпускать аппаратные передатчики, совместимые с iBeacon, — обычно они называются маяки (beacons) — специализированные устройства на основе Bluetooth Low Energy (BLE), которые транслируют свой идентификатор рядом находящимся переносным электронным устройствам. Эта технология позволяет смартфонам, планшетам и другим устройствам выполнять определённые действия при нахождении рядом с iBeacon[2][3].

Протокол iBeacon основан на обнаружении близости на базе Bluetooth Low Energy посредством передачи универсального уникального идентификатора (UUID), который принимается совместимым приложением или операционной системой. Этот идентификатор и данные, передаваемые вместе с ним, могут использоваться для определения физического местоположения устройства, отслеживания клиентов или запуска локационно-зависимых действий на устройстве, таких как чекин в социальных сетях или push-уведомление.

iBeacon также может использоваться в мобильных приложениях как система навигации в помещениях, позволяя смартфону определить своё приближённое местоположение или контекст. С помощью iBeacon программное обеспечение смартфона может локализовать себя относительно конкретного маяка в магазине. Маяки применяются магазинами розничной торговли для мобильной коммерции, предложения специальных акций и мобильного маркетинга[4], а также могут поддерживать мобильные платежи через системы точек продаж.

Другие применения включают отправку сообщений в определённых точках интереса — например, внутри магазина, на остановке, в комнате или даже у конкретного предмета мебели или торгового автомата. Это похоже на технологии геопуш с использованием GPS, но iBeacon обеспечивает существенно меньший расход энергии и большую точность.

Помимо розничной торговли, технология активно применяется в навигации внутри помещений (например, на вокзалах и в аэропортах, где сигнал GPS недоступен)[5], а также в городской инфраструктуре для создания сервисов «умного города»[6]. В здравоохранении и логистике iBeacon используется для отслеживания медицинского оборудования, грузов и других активов, а также для оптимизации рабочих процессов и навигации в крупных больничных комплексах[7][8].

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

Передатчики iBeacon производятся в различных форм-факторах: компактные устройства на батарейках, USB-стики и универсальные USB-донглы с поддержкой Bluetooth 4.0[9].

Функции

Развёртывание iBeacon включает один или несколько маяков, которые транслируют свой уникальный идентификационный номер в близлежащую область. Программное обеспечение на принимающем устройстве может идентифицировать маяк и выполнять необходимые действия, например уведомлять пользователя. Принимающие устройства также могут подключаться к iBeacon и получать значения из сервиса GATT (General Attribute Profile). Маяки iBeacon не отправляют push-уведомления напрямую на устройства — они лишь передают свою идентичность. Однако мобильное ПО может использовать сигнал маяка для самостоятельного срабатывания push-уведомлений.

Мониторинг региона

Мониторинг регионов (на iOS ограничен 20 регионами) может работать в фоновом режиме и информировать приложение (и/или пользователя) о входе/выходе из зоны — даже если приложение находится в фоновом режиме или телефон заблокирован. Также поддерживается короткий промежуток времени, когда iOS предоставит закрытому приложению возможность среагировать на вход в регион.

Ранжирование (Ranging)

В отличие от мониторинга, который фиксирует только перемещение устройства внутрь и за пределы зоны маяка, ранжирование предоставляет список обнаруженных маяков в регионе и оценивает расстояние до каждого из них. Режим ранжирования работает только в активном приложении, предоставляя массив (без ограничения по количеству) всех обнаруженных маяков с их свойствами (UUID и т. д.)[10].

Устройство с iOS, принимающее сигнал маяка, может приблизительно оценивать расстояние до него. Выделяют три диапазона:

  • Непосредственно (Immediate): в пределах нескольких сантиметров.
  • Близко (Near): в пределах нескольких метров.
  • Далеко (Far): более 10 метров.

Маяк iBeacon позволяет приблизительно определить, когда пользователь вошёл, покинул или задержался в регионе. В зависимости от близости к маяку возможны различные уровни взаимодействия[11].

Максимальная дальность передачи сигнала зависит от расположения, препятствий и того, где хранится устройство (например, в кожаной сумке или толстом чехле). Стандартные маяки имеют радиус до 70 метров, а дальнобойные — до 450 метров.

Настройки

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

Энергопотребление

undefined

Протокол Bluetooth LE (BLE) значительно энергоэффективнее классического Bluetooth. Несколько производителей микросхем, включая Texas Instruments[13] и Nordic Semiconductor, выпускают чипы, оптимизированные для iBeacon. Энергопотребление зависит от настроек частоты вещания и мощности передачи. Исторически аккумулятор маяка, согласно отчёту о 16 разных моделях, мог работать от 1 до 24 месяцев. Рекомендуемая Apple настройка (100 мс, батарейка-«таблетка») обеспечивала 1–3 месяца работы, при увеличении интервала вещания до 900 мс — до 2–3 лет[14]. Современные промышленные модели могут работать до 5–7 лет[15].

Новые версии стандарта Bluetooth (5.0 и 5.2) повысили энергоэффективность за счёт увеличения скорости передачи данных и динамического управления питанием[16].[17]

Потребление энергии мобильными телефонами также стоит учитывать при внедрении приложений с поддержкой маяков. Отчёты показывают, что старые устройства расходуют больше заряда в окружении маяков, чем новые модели[18]. К факторам энергопотребления относится время сканирования, количество сканирований и число маяков поблизости[19]. По данным Aislelabs, при десяти окружающих маяках iPhone 4s мог расходовать до 11 % заряда батареи в час, тогда как iPhone 5s — около 5 % в час[20]. На современных устройствах (например, последних моделях iPhone) влияние iBeacon на батарею в фоновом режиме считается незначительным[21]. Энергоэффективное приложение должно учитывать эти аспекты ради оптимального баланса между отзывчивостью и расходом энергии.

История и развитие

В середине 2013 года Apple представила iBeacon, и эксперты писали, что технология предназначена в первую очередь для ритейла — упрощения платежей и акций в торговых точках. 6 декабря 2013 года Apple активировала iBeacon во всех 254 магазинах США[22]. McDonald's использовала устройства для рассылки специальных предложений своим посетителям[4].

По состоянию на май 2014 года, разные модели аппаратных iBeacon стоили от 5 до 30 долларов за штуку[23]. По умолчанию маяки могут иметь различные параметры мощности передачи и частоты вещания, которые могут варьироваться от 1 до 10 Гц.

Технология iBeacon находится на ранней стадии развития. Было отмечено, что в Android 4.2 и 4.3 может возникать сбой стека Bluetooth при большом числе маяков[24], но эта проблема была решена в Android 4.4.4[25].

Технические детали

BLE-устройства могут работать в режиме анонсирования, оповещая другие устройства о своём присутствии[26]. В простейшей форме маяк iBeacon — это BLE-устройство, излучающее анонсы в формате, определённом Apple: префикс iBeacon, далее переменный UUID, Major и Minor. Пример фрейма:

fb0b57a2-8228-44cd-913a-94a122ba1206 Major 1 Minor 2

где fb0b57a2-8228-44cd-913a-94a122ba1206 — UUID.

Маяк iBeacon может быть сгенерирован, исполнив следующие команды в Linux для совместимых BLE-устройств (ядро с поддержкой BTLE):[27]

(Настройка параметров LE Advertising)
hcitool -i hci0 cmd 0x08 0x0006 a0 00 a0 00 03 00 00 00 00 00 00 00 00 07 00 
# a0 00: Минимальный интервал вещания (16-бит, Little Endian)
# a0 00: Максимальный интервал вещания (то же самое)
(Настройка данных LE Advertisement)
hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 06 1A FF 4C 00 02 15 FB 0B 57 A2 82 28 44 CD 91 3A 94 A1 22 BA 12 06 00 01 00 02 D1 00 
# 1E: Число байт анонса (макс. 31)
# 02 01 06 1A FF 4C 00 02 15: Префикс Apple
(Включение вещания)
hcitool -i hci0 cmd 0x08 0x000a 01

Для новой настройки интервала вещания трансляцию следует остановить:

(Отключение вещания)
hcitool -i hci0 cmd 0x08 0x000a 00

Устройства на Android, начиная с версии 4.3, могут принимать сигналы iBeacon, но до версии 5.0 только принимать, а поддержка передачи появилась с Android 5.0 ("Lollipop")[28].

Аппаратно iBeacon совместим со спецификациями Bluetooth 5.3 и 5.4, но не использует новые режимы двунаправленной связи, такие как PAwR[29][30]. Также в iOS 18 для взаимодействия с GATT-сервисами маяков (используемыми для их настройки) внедрён новый фреймворк AccessorySetupKit, повышающий безопасность и контроль доступа[31].

Структура BLE-пакета анонса (byte map)

  • Байт 0–2: Стандартные флаги BLE (не строго обязательны, но рекомендуются)

Байт 0: Длина — 0x02 Байт 1: Тип — 0x01 (Flags) Байт 2: Значение — 0x06 (обычно: режим обнаружения LE, классический Bluetooth — выключен)

  • Байт 3–29: Данные по спецификации Apple iBeacon

Байт 3: Длина — 0x1a (длина следующего блока) Байт 4: Тип — 0xff (Custom Manufacturer Data) Байт 5–6: ID производителя — 0x004c (Apple) Байт 7: SubType — 0x02 (тип iBeacon) Байт 8: Длина SubType — 0x15 (остаток данных: UUID + Major + Minor + TX Power) Байт 9–24: UUID (случайный или зарегистрированный публичный UUID маяка) Байт 25–26: Major (настраиваемое значение) Байт 27–28: Minor (настраиваемое значение) Байт 29: Измеренная мощность передачи (8 бит, знаковое, dBm на 1 м от маяка; задаётся пользователем, не динамичный — может использоваться совместно с RSSI для приблизительной оценки расстояния)

Поддержка iBeacon на Android

В отличие от iOS, в Android нет нативной поддержки протокола iBeacon. Для использования iBeacon на Android разработчику необходимо применять сторонние библиотеки или самостоятельно парсить BLE-пакеты для поиска iBeacon-сообщений. Поддержка BLE появилась в Android Jelly Bean, основные баги были исправлены в Android KitKat, а в Android Marshmallow 6.0.1 появилась важная оптимизация безопасности, предотвращающая "утечки" соединений между приложениями.

Начиная с Android 12 и вплоть до Android 15 модель разрешений для работы с Bluetooth Low Energy была изменена: для сканирования маяков приложениям требуются разрешения BLUETOOTH_SCAN и ACCESS_FINE_LOCATION, а для фоновой работы в новых версиях необходимо учитывать разрешение BLUETOOTH_BACKGROUND[32].

Спуфинг (подмена маяка)

По замыслу, передаваемый фрейм iBeacon не зашифрован и открыт. Это даёт возможность заинтересованным лицам перехватить, копировать и повторно передавать кадры iBeacon на других физических точках. Это реализуется с помощью последовательности команд BLE-устройству. Сообщалось об успешном копировании маяков Apple Store в 2014 году[33].

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

PayPal реализует более надёжную схему, при которой iBeacon лишь инициирует многоступенчатую процедуру аутентификации (вызов-ответ), что намного сложнее подделать или сбить спуфингом[34].

Для защиты современных IoT-систем от клонирования применяются методы на стороне сервера и приложения, такие как ротация идентификаторов (периодическая смена транслируемых UUID, Major и Minor с синхронизацией через бэкенд) и криптографическая аутентификация маяков на управляющей платформе[35].[36].

Сканирование маяков iBeacon в Linux:

hcitool -i hci0 lescan --passive --duplicates
D6:EE:D4:16:ED:FC (unknown)
F6:BE:90:32:3C:5E (unknown)
...

В другом окне — протокол-дюмпер:

hcidump -R -i hci0
> 04 3E 2A 02 01 00 01 FC ED 16 D4 EE D6 1E 02 01 06 1A FF 4C ...

См. спецификацию Bluetooth Core Spec. Volume 4, Part E, 7.7.65.2.

MAC-адрес и полезная нагрузка iBeacon отчётливо определяются. Команды настройки из раздела Технические детали позволяют воспроизвести любой iBeacon.

Совместимые устройства

  • Устройства iOS с Bluetooth 4.0+ (iPhone 4s и новее, iPad (3-е поколение) и новее, iPad Mini (1-е поколение) и новее, iPod Touch (5-е поколение) и новее)
  • Компьютеры Macintosh с OS X Mavericks (10.9) или новее и Bluetooth 4.0
  • Устройства Android c Bluetooth 4.0+ и Android 4.3+ (например, Samsung Galaxy S7/J1 mini Prime, Samsung Galaxy Note 2/3, HTC One, Google/LG Nexus 7 2013 /Nexus 4/Nexus 5, OnePlus One, LG G3)[37]
  • Устройства Windows Phone с Bluetooth 4.0+ и обновлением Lumia Cyan или новее

Сравнимые технологии

Несмотря на то, что область применения ближней бесконтактной связи (NFC) существенно отличается и многие сценарии не пересекаются с iBeacon, оба типа технологий сравниваются между собой.

Дальность действия NFC — до 20 см (оптимум менее 4 см), тогда как у iBeacon она значительно выше.

Не все телефоны оснащаются NFC-чипами. Первый iPhone с NFC появился только в модели iPhone 6 (сентябрь 2014), хотя большинство современных смартфонов поддерживают Bluetooth 4.0 и выше уже несколько лет.

Технология сверхширокополосной связи (Ultra-Wideband, UWB), используемая в чипах Apple U1 и U2, а также в метках AirTag, обеспечивает значительно более высокую точность позиционирования по сравнению с iBeacon. UWB позволяет определять расстояние с точностью 10–30 см с помощью измерения времени пролёта радиосигнала (Time-of-Flight, ToF), тогда как iBeacon обеспечивает точность 1–5 метров на основе измерения мощности принимаемого сигнала (RSSI). Сами метки AirTag не являются устройствами iBeacon: для поиска утерянных вещей они используют глобальную краудсорсинговую сеть «Локатор» (Find My) и проприетарный протокол Apple, а не локальное взаимодействие[38].[39][40][41]

Конкурирующий проект от Google — формат маяков Eddystone и связанная с ним платформа Google Beacon — был полностью прекращён к 2021 году и больше не поддерживается[42].[43]

Примечания

  1. iOS: Understanding iBeacon (англ.). Apple Inc (февраль 2015). Дата обращения: 20 июня 2024. Архивировано 29 января 2015 года.
  2. Bfonics Inc. (англ.). Bfonics.com. Дата обращения: 28 мая 2026. Архивировано 8 ноября 2014 года.
  3. Beacons: Everything you need to know. (англ.). Pointrlabs.com (18 января 2015). Дата обращения: 28 мая 2026. Архивировано 26 мая 2015 года.
  4. 1 2 Apple iBeacons Find Their Way Into McDonald's (англ.). Forbes (18 декабря 2014). Дата обращения: 28 мая 2026. Архивировано 12 октября 2025 года.
  5. Применение iBeacon для навигации и позиционирования. Хабр. Дата обращения: 28 мая 2026.
  6. Bluetooth Beacon and iBeacon Market. Persistence Market Research. Дата обращения: 28 мая 2026.
  7. Bluetooth BLE Beacon Solution Enables Real-Time Asset Tracking. Feasycom. Дата обращения: 28 мая 2026.
  8. Что такое программируемая технология iBeacon. Minew. Дата обращения: 28 мая 2026.
  9. Overview piBeacon DIY iBeacon with a Raspberry Pi Adafruit Learning System (англ.). Дата обращения: 20 июня 2024. Архивировано 12 октября 2025 года.
  10. Charles Capps - iBeacon in the background (англ.). Stackoverflow.com. Дата обращения: 28 мая 2026. Архивировано 23 января 2025 года.
  11. What are the nominal distances for iBeacon "Far", "Near", and "Immediate" (англ.). Stackoverflow.com. Дата обращения: 28 мая 2026. Архивировано 26 октября 2013 года.
  12. The Hitchhikers Guide to iBeacon Hardware: A Comprehensive Report by Aislelabs (англ.). Aislelabs (3 ноября 2014). Дата обращения: 28 мая 2026. Архивировано 4 ноября 2014 года.
  13. Dignan, Larry TI's support of Apple's iBeacon adds enterprise, IoT heft (англ.). ZD Net (14 апреля 2014). Дата обращения: 28 мая 2026. Архивировано 12 октября 2025 года.
  14. Best iBeacon hardware crowned following extensive stress tests (англ.). 9to5 mac (3 ноября 2014). Дата обращения: 28 мая 2026. Архивировано 12 октября 2025 года.
  15. iBeacon: что это, как работает и где применяется. IndoorsNavi. Дата обращения: 28 мая 2026.
  16. Bluetooth 5 Feature Overview. Bluetooth SIG (март 2019). Дата обращения: 28 мая 2026.
  17. Bluetooth 5.2 Feature Overview. Bluetooth SIG (январь 2020). Дата обращения: 28 мая 2026.
  18. Retailers are excited about beacons, but how fast will they drain your smartphone battery? (англ.). GIGAOM (9 июля 2014). Дата обращения: 28 мая 2026. Архивировано 12 июля 2014 года.
  19. iBeacon and Battery Drain on Phones: A Technical Report (англ.). Aislelabs (9 июля 2014). Дата обращения: 28 мая 2026. Архивировано 14 июля 2014 года.
  20. iBeacon Battery Drain on Apple vs Android: A Technical Report - Aislelabs (англ.). Aislelabs (14 августа 2014). Дата обращения: 28 мая 2026. Архивировано 14 августа 2014 года.
  21. Region Monitoring and iBeacon. Apple Developer Documentation. Дата обращения: 28 мая 2026.
  22. Apple launches iBeacon in 254 stores to streamline shopping experience (англ.). ZDNet. Дата обращения: 28 мая 2026. Архивировано 12 октября 2025 года.
  23. Building Cross-Platform iBeacon Apps for iOS, Android and Windows with C# and Xamarin (англ.) (24 апреля 2014). Дата обращения: 28 мая 2026. Архивировано 28 апреля 2014 года.
  24. A Solution for Android Bluetooth Crashes (англ.). Developer.radiusnetworks.com. Дата обращения: 28 мая 2026. Архивировано 4 марта 2025 года.
  25. Android Issue Tracker (англ.). Дата обращения: 28 мая 2026.
  26. How do iBeacons work? Blog of Adam Warski (англ.). Warski.org (13 января 2014). Дата обращения: 28 мая 2026. Архивировано 9 июня 2025 года.
  27. Is there a way to increase BLE advertisement frequency in BlueZ? (англ.). Stackoverflow.com. Дата обращения: 28 мая 2026. Архивировано 8 июня 2025 года.
  28. SDK will let Android users join the iBeacon party (англ.). MobilePaymentsToday.com (11 октября 2013). Дата обращения: 28 мая 2026. Архивировано 12 декабря 2013 года.
  29. Periodic Advertising with Responses (PAwR) – A practical guide. Nordic Semiconductor DevZone. Nordic Semiconductor. Дата обращения: 28 мая 2026.
  30. iBeacon: протокол только для широковещательной передачи. Minew. Дата обращения: 28 мая 2026.
  31. iOS 18 AccessorySetupKit: Everything BLE Developers Need to Know (англ.). Punchthrough. Дата обращения: 28 мая 2026.
  32. Bluetooth permissions. Android Developers. Google. Дата обращения: 28 мая 2026.
  33. android - How to prevent spoofing of iBeacons? - Stack Overflow (англ.). Stackoverflow.com. Дата обращения: 28 мая 2026. Архивировано 12 октября 2025 года.
  34. Bluetooth Low Energy, Beacons and Retail - VeriFone Systems, Inc. (англ.). Global.verifone.com. Дата обращения: 28 мая 2026. Архивировано 10 ноября 2014 года.
  35. BLE Beacon Configuration Guide. Think Robotics. Дата обращения: 28 мая 2026.
  36. Securing Your Bluetooth Beacon Network: 5 Key Strategies. TeckSay. Дата обращения: 28 мая 2026.
  37. Bluetooth low energy overview (англ.). Google Inc.. Дата обращения: 28 мая 2026. Архивировано 14 июля 2018 года.
  38. UWB Technology: Features and Examples of Application. Navigine. Дата обращения: 28 мая 2026.
  39. UWB Positioning. Marvelmind. Дата обращения: 28 мая 2026.
  40. Are Apple AirTags iBeacons? BeaconZone. Дата обращения: 28 мая 2026.
  41. Tags, Beacons, and the Difference. 14Oranges (май 2021). Дата обращения: 28 мая 2026.
  42. Google Beacon Platform Shutting Down. BeaconZone. Дата обращения: 28 мая 2026.
  43. Is Beacon Outdated? BeaconZone. Дата обращения: 28 мая 2026.