ble метка что это такое
BLE под микроскопом
BLE под микроскопом. Часть 1
Зачем придумали BLE
Как только люди научились передавать информацию без помощи проводов, встала задача передачи данных, используя устройство с батарейным питанием. Проблема в том, что ему должно помогать другое устройство, которое будет постоянно либо прослушивать эфир, либо передавать данные. Проблема возникает в том случае, если и приемник и передатчик имеют батарейное питание. В этом случае приходит на помощь BlueTooth Low Energy (BLE). Он впервые вошел в протокол BlueTooth 4.0. На данный момент уже вышла спецификация BlueTooth 5.0, однако мы будем рассматривать в основном формат BlueTooth 4.0, иногда указывая нововведения для формата 5.0. В качестве одного из устройств обычно выступает смартфон, а второго — батарейный гаджет. Андроид поддерживает BLE с версии 4.3.
Для передачи и приема данных необходима энергия, поэтому поднимают скорость передачи данных, что бы в единицу времени успеть передать больше информации. Для этого в BLE принята скорость передачи информации в 1 Mbit/c. Однако не только скорость передачи данных важна. Самым важным в BLE является то, что устройства связи умеют переходить в синхронный режим работы. Другими словами, устройства спят 99% времени, потом просыпаются на очень короткое время, обмениваются информацией и опять засыпают. Однако перед тем как войти в этот режим, необходимо пройти процедуру синхронизации. Для этого существует режим «advertising». Его мы рассмотрим позднее. А перед тем как погрузится в описание протокола BLE, хотелось бы затронуть тему инструментальных средств, для работы с протоколом BLE.
Инструменты
Для того чтобы разобраться во всем многообразии посылок и запросов нам необходимы инструментальные средства. С их помощью мы смогли бы увидеть содержимое посылок и проконтролировать механизм взаимодействия между устройствами. Для этих целей мы будем использовать nRF51822 Development Dongle (PCA10000), программу сниффера и, для отображения результатов, хорошо известную всем сисадминам программу «Wireshark».
Программы бесплатные, но достать сам донгл может оказаться проблемой. Однако без инструментария, заниматься разработкой таких сложных устройств будет весьма проблематично. На первом этапе может помочь программа на андроиде «nRF Connect».
Она позволяет сканировать эфир, находить и разбирать посылки как присоединяемых, так и не присоединяемых устройств. У Nordic-a есть и ещё инструменты для разработки BLE устройств, но нам будет достаточно этих. На российском рынке присутствует представитель компании Nordic – фирма «Rutronik» (rutronik24.com, rutronik.com). Через её представителей можно приобрести необходимые микросхемы, отладочные платы и т.д. Кроме того, в интернете имеется форум, на котором представители фирмы отвечают на вопросы разработчиков.
Сначала вкратце поговорим о том, как пользоваться нашими инструментами. Вставим в разъем USB наш донгл и запустим программу ble_sniffer_win. Мы увидим следующее окно.
Если донгл увидит BLE устройства, то внизу появится информация о них. В данном случае, в эфире присутствует одно устройство с именем «TestBLE». Так же отображается его уровень сигнала, MAC адрес и то, что этот адрес является случайным (random). Забегая вперед, хочется заметить, что здесь кроется один из подводных камней для разработчиков. Некоторые телефоны (LG G3S, Samsung S6) работают только с устройствами, MAC адреса которых зарегистрированы (public).
У сниффера есть два режима работы. Если мы нажмем кнопку «w» на клавиатуре, то запустится программа «Wireshark». Сниффер будет сканировать три рекламных канала и выдавать информацию обо всех устройствах объявления. Если мы сначала нажмем цифру на клавиатуре, такую же, как напротив интересующего нас устройства, то включится другой режим работы. В нем сниффер будет отслеживать трафик только одного выбранного устройства, причем как на каналах объявления, так и на рабочих каналах
Используя «Wireshark», легко получить всю информацию о посылке. Программа состоит из трех окон. Сверху отображаются все принятые посылки, во втором окне – детальная информация о выбранном пакете, а в третьем окне отображается сам фрейм. В свою очередь, во втором окне имеется три блока информации. В самом верхнем – временные значения выбранного фрейма, во втором (Nordic BLE sniffer meta) – общая информация о фрейме, такие как уровень сигнала, частотный канал и некоторые другие. Самым интересным для нас является третий блок информации (Bluetooth Low Energy Link Layer). В нем можно посмотреть разбор самого фрейма. В дальнейшем мы будем говорить именно об этом блоке информации. Сначала мы разберем формирование рекламных пакетов.
Advertising
Посмотрим на рисунок ниже. На нем показаны распределения каналов по частотам для BLE. Рекламные каналы — это 37 (2402Мгц), 38 (2426Мгц) и 39 (2480Мгц) каналы. Такое распределение рекламных каналов выбрано не случайно. Во-первых, рекламные каналы попадают между каналами Wi-Fi (1, 6, 11 каналы), что позволяет даже при малом уровне мощности, быть услышанными другими устройствами. Во-вторых, когда мы разносим рекламные каналы далеко друг от друга, мы получаем гарантированную доставку сообщения. Это связано с интерференцией сигнала в помещениях. Известно, что в результате отражения радиосигналов от стен, может получиться ситуация, когда приемник и передатчик не слышат друг друга. Однако в нашем случае, когда передача рекламных пакетов идет последовательно на трех разных каналах, максимально удаленных друг от друга по частоте, этот эффект отсутствует.
Рассмотрим теперь формат самого пакета advertising. В спецификации длина данных измеряется в октетах. Для нас это байты. Самым первым байтом идет преамбула. Она состоит из чередующихся нулей и единиц. Это нужно для синхронизации передатчика и приемника. Следом за преамбулой передаются четыре байта адреса доступа(Access Address). После него идет пакет данных (PDU). В спецификции 4.0 максимальная длина PDU составляет 39 байт, а в версии 5.0 длина пакета данных увеличена до 257 байт. В конце каждого рекламного пакета идут три байта контрольной суммы (CRC).
Здесь надо заметить, что Access Address служит для того, что бы устройства понимали, для кого предназначен BLE пакет. Это своеобразный код доступа. Если этот код доступа не знаком устройству, то пакет игнорируется. На всех рекламных каналах, в отличии от рабочих, он одинаков (0x8E89BED6), поэтому все устройства на каналах объявления видят друг друга.
Рассмотрим теперь формат блока данных PDU. В самом начале пакета PDU идет заголовок длинной 16 бит. В нем содержится тип пакета, флаги TxAdd, RxAdd, а так же длина всего поля PDU в байтах. RFU – это зарезервированные поля. Для спецификации 4.0 это выглядит так:
Для спецификации 5.0 увеличена длина поля Payload до 255 байт, а так же добавлены новые поля в заголовок:
Поле TxAdd как раз и отвечает за то, как будет видеться MAC адрес устройства. Если это поле равно единице, то МАС устройства будет виден как random. Рассмотрим теперь какие бывают типы advertising пакетов. На рисунке приведен их список для спецификации 4.0. В формате 5.0 их число увеличено, но мы будем рассматривать то, что есть в обоих форматах.
ADV_IND – это ненаправленные пакеты, которые рассылают устройства, готовые к присоединению. Большинство гаджетов при рассылке рекламных пакетов используют именно их.
ADV_DIRECT_IND — направленные рекламные пакеты присоединяемых устройств. Присоединять и обмениваться данными с ними может только конкретное устройство с заранее известным МАС адресом.
ADV_NONCONN_IND – рекламные пакеты, которые рассылают не присоединяемые устройства. Это маяки (beacon). Обычно они служат для получения какой-либо справочной информации. Например, при входе в магазин могут информировать об акциях. Кроме того, измеряя уровень сигналов от маяков и зная карту их расположения, можно осуществить автоматическое позиционирование внутри помещений. Это актуально для автоматизированных складов.
SCAN_REQ, SCAN_RSP, CONNECT_REQ – пакеты, которыми обмениваются присоединяемое устройство и телефон в процессе установления синхронного соединения. Эти пакеты и сам процесс присоединения мы рассмотрим во второй части статьи.
ADV_SCAN_IND – эти пакеты рассылает не присоединяемое устройство, которое может предоставить дополнительную информацию в ответ на запрос при сканировании.
Во второй части статьи мы рассмотрим различные режимы работы BLE устройств, а так же механизм «присоединения» устройства к телефону и переход на рабочие частоты.
BLE или RFID? Сравнение двух технологий
Технология iBeacon – это перспективная разработка от корпорации Apple, предназначенная.для передачи Bluetooth-сигнала на устройства, находящиеся в радиусе действия маячков. Тем самым появляется возможность позиционирования объектов в помещении. Впервые она появилась в 2013 году, но уже успела завоевать признание представителей бизнеса. Суть работы системы состоит в установке миниатюрных маяков (beacon), которые связываются со смартфонами пользователей посредством стандарта Bluetooth Low Energy. Когда человек оказывается вблизи маячка, тот приводит в действие мобильное приложение на его телефоне, которое активирует рассылку заранее подготовленной информации.
Современному бизнесу доступно множество эффективных геолокационных решений, предназначенных для организации навигации и позиционирования внутри помещений. Наиболее востребованным на сегодня является отслеживание с помощью RFID или технологии BLE. Обе системы признаны полезными инструментами в сфере логистики, здравоохранения, розничной торговли, но имеют свои особенности, характерные преимущества и недостатки.
Что представляет собой технология RFID?
Устройство RFID было впервые разработано в 1946 году российским физиком Леоном Терменом. Система представляет собой комбинацию радара и технологии радиовещания, используемую во многих сферах жизни. От медицинской промышленности до индустрии моды, от отслеживания детей до создания счетов – все эти виды деятельности могут выполняться с помощью технологии RFID.
Особенности технологии BLE
Технология Bluetooth Low Energy (BLE) – это новая система позиционирования, появившаяся только в 2009 году. Она отличается низким энергопотреблением и используется для связи на малых расстояниях. Устройство работает при помощи тега, который передается специальными маяками на считыватель, а после определения местоположения направляется в облако.
В сущности, BLE является активным RFID и широко используется практически на всех смартфонах и планшетах. Система оптимально подходит для ситуаций, когда срок службы батареи предпочтительнее высокой скорости передачи данных.
Сравнение технологий
Чтобы понять разницу между двумя технологиями, необходимо рассмотреть их ключевые критерии – доступность, безопасность и точность действия.
Доступность
Применительно к данным технологиям под доступностью понимают способность системы быть «задействованной» или доступной для потребителя или компании.
Для развертывания RFID нужны метки, считыватели, средства управления считывателями и прикладное программное обеспечение. Следовательно, предприятиям, которые планируют внедрить программу в свою работу, необходимо будет заранее планировать и инвестировать в инфраструктуру как со стороны отправителя (тега), так и со стороны получателя (считывателя). Технология изначально не совместима с мобильными устройствами, поэтому требует аппаратного / микропрограммного обеспечения, которое может обрабатывать сигналы на определенных частотах.
В случае системы определения местоположения BLE маяки функционируют как передатчики сигналов, которые работают от батарей и могут быть настроены с помощью мобильного приложения. Это делает их масштабируемыми и портативными. Способность маяков позволять смартфонам действовать как приемники позволяет назвать их высоко доступной технологией определения местоположения. Однако установленные маяки необходимо регулярно проверять на предмет уровня заряда батареи.
Точность действия
Точность (диапазон действия) определяется как расстояние, которое проходит сигнал. Данный показатель зависит от конфигурации, настроек мощности и среды, в которой развернута инфраструктура. Так, сигналы Bluetooth будут демонстрировать более широкий диапазон на открытом воздухе без каких-либо препятствий, чем в помещении с несколькими поверхностями.
RFID позволяет идентифицировать до 1000 тегов в секунду при почти 100%-ной скорости чтения. Но его точность зависит от ряда факторов:
Радиомаяки iBeacon обычно имеют радиус действия от 1 до 70 метров. Но они тоже подвержены помехам, так как радиосигналы могут поглощаться различными средами (вода, воздух, человеческие тела или даже металлические поверхности). Дальность маяка зависит от мощности широковещательного сигнала. Чем она выше, тем больше диапазон, в котором мобильные устройства смогут принимать сигнал и преобразовывать его в информацию.
Безопасность
Поскольку системы RFID тесно связаны со стандартными решениями IP-сети, любая связь между считывателями и сетью является безопасной. Единственная реальная угроза заключается в радиочастотной связи, которая происходит между чипами и считывателями. В отличие от маяков, которые просто отправляют сигнал с идентификатором, RFID фактически передает данные, связанные с продуктом (EPC или электронным кодом). Наиболее распространенные типы угрозы безопасности данных – это мошеннические / клонированные теги, неавторизованные пользователи и перехват данных считывателя неавторизованным устройством.
Маяки BLE относятся к приборам обнаружения, которые транслируют исходящие сигналы, поэтому при передаче нет никакого риска для безопасности пользователей. Но технология Bluetooth с низким энергопотреблением может быть опасной с точки зрения приложений, которые используют эти сигналы. Пользователи могут сталкиваться со взломом радиомаяков, но большинство производителей оборудования уже предприняли меры, чтобы этого не произошло.
Как BLE или RFID применяются для навигации и отслеживания активов?
Технология отслеживания активов RFID работает на основе метки, которая прикрепляется к объекту. В основе системы лежат три составляющие части – считыватель, антенна и транспондер. Антенна передает радиочастотный сигнал, обеспечивая связь с RFID-чипом. Когда транспондер проходит через частотное поле сканирующей антенны, он идентифицирует сигнал активации и может сохранять данные для приема.
Navigine SDK
Профессиональные решения для внутреннего позиционирования в реальном времени для мобильных приложений.
BLE – это не обновленная версия Bluetooth, а новая технология, более ориентированная на Интернет вещей (IoT). Она обменивается небольшими объемами данных через равные промежутки времени. При помощи BLE, маяков, тегов, приемников или мобильных устройств пользователь может отслеживать и контролировать активы как внутри, так и снаружи помещений.
Компания Navigine занимается разработкой и внедрением систем внутренней навигации и позиционирования внутри помещений. В своей работе мы используем как отслеживание местоположения с помощью RFID, так и технологии на базе BLE, обеспечивающие эффективные геолокационные решения для продуктивного развития бизнеса.
Что такое Bluetooth beacon? Все о работе маячков
Навигационный iBeacon маячок – это миниатюрное беспроводное устройство, работающее на базе технологии Bluetooth. При установке внутри помещений он передает постоянный радиосигнал, который может приниматься смартфонами, точками доступа или шлюзами. Биконы размещают в магазинах, музеях, на промышленных предприятиях и в других помещениях с целью сбора данных о передвижениях, донесения до пользователей информации или релевантной рекламы. Они отличаются низким потреблением электроэнергии и способны передавать данные на расстояние до 40-60 метров.
Впервые радиомаяки были представлены компанией Apple на Всемирной конференции разработчиков (WWDC) в 2013 году. Уже спустя год около 50 из сотни крупнейших розничных сетей США стали использовать их в своих магазинах, а в последующие годы биконы приобрели популярность и в других странах мира. На сегодняшний день они являются своеобразным коммуникационным мостом, который позволяет соединять физический и цифровой мир.
Конструктивные особенности маячка
В основе конструкции автономного маячка лежит пластиковый корпус, внутри которого размещаются следующие компоненты:
На центральном процессоре ARM устанавливается небольшая антенна, которая обеспечивает передачу электромагнитных волн определенной частоты и длины.
Принцип работы маячков
Принцип работы маяков строится на передаче радиосигналов, которые может принимать специальный BLE шлюз. После установки маячок начинает рассылать сигналы с заданным интервалом. Как только в поле действия метки попадает мобильное устройство с предустановленным мобильным приложением или включенным Bluetooth/Wi-Fi, она распознает эти сигналы и начинает выполнять определенные задачи (отправляет пользователю push-уведомления или контекстную рекламу).
Для чего используются маячки?
Навигация внутри помещений
Использование маяков помогает предприятиям улучшать качество обслуживания клиентов. Посетителям предоставляются возможности навигации внутри помещений с построением интерактивной карты в режиме реального времени. Используя мобильное приложение, человек может выстраивать маршруты к местам интереса и быстро находить нужные точки внутри здания. Так, при помощи маячков в магазинах можно легко отыскать необходимый товар, а при посещении выставок и музеев быстро добираться до интересующих экспонатов. Такой подход существенно улучшает пользовательский опыт клиентов и предоставляет компаниям прямые каналы связи с посетителями.
Определение местоположения (позиционирование)
Точное позиционирование является актуальным решением в условиях работы крупного предприятия. Маячки успешно справляются с этой функцией и помогают быстро установить местонахождение человека или актива. При их применении можно:
Трекинг активов и персонала
Маячки играют важную роль в обеспечении безопасности на предприятии. Их можно устанавливать на оборудование, встраивать в носимые устройства сотрудников, что позволяет отслеживать перемещение. Благодаря внедрению маяков использование системы позиционирования становится эффективным решением в предупреждении чрезвычайных ситуаций и исключает хищение имущества фирмы. Также устройства помогают контролировать работу сотрудников. С их помощью можно фиксировать время прихода и ухода с работы, опоздания, отсутствия на рабочем месте. Технология помогает строить цифровые интерактивные карты с зонами доступа и выполнять отслеживание несанкционированного проникновения в такие места.
Navigine Tracking
Платформа, учитывающая местоположение, для цифровой трансформации предприятий.
Аналитика посещений
Применение маяков открывает неограниченные возможности для анализа посещения магазинов, больниц, административных и других учреждений. Они помогают строить тепловые карты, разрабатывать карты потоков посетителей, а также определять факт и частоту посещения предприятия. Благодаря полученной информации маркетологи могут лучше понимать поведение посетителей и персонализировать предложения для конкретных клиентов.
Социальное или маркетинговое взаимодействие
При использовании маяков можно предоставлять пользователям привлекательный и релевантный контент. Устройства легко определяют местоположение пользователей, позволяют оценивать их поведение, а затем направлять на смартфон информацию согласно проведенному анализу. Клиенты будут получать целевые push-уведомления, которые могут содержать следующую информацию:
Подобный подход повышает лояльность пользователей, делает учреждение более привлекательным в глазах клиента и побуждает его вернуться.
Отслеживание потоков людей для обеспечения безопасности во время Covid-19
В условиях распространения пандемии маячки помогают руководству предприятия предпринимать эффективные меры по предупреждению заражения персонала и посетителей. С их помощью можно решать несколько важных задач:
Преимущества и недостатки использования BLE beacons
К числу главных достоинств устройств относятся доступная стоимость и простота в монтаже. Установка маячка не занимает много времени и может осуществляться как на стационарные, так и на движущиеся объекты. По сути, маяк является передатчиком, который достаточно прикрепить к поверхности и настроить для последующей работы. Его низкая стоимость сочетается с малым потреблением электроэнергии, поэтому устройство можно использовать для решения даже сложных технических задач. Бикон совместим со многими мобильными устройствами, что позволяет пользователям подбирать оптимальный шлюз.
Также маяки обеспечивают множество преимуществ для маркетологов. Они предоставляют специалистам новый канал взаимодействия с клиентами и обеспечивают:
Помимо преимуществ, Bluetooth-маячок имеет и некоторые минусы. Так, он не способен работать самостоятельно. Устройство является частью общей системы, поэтому его работа зависит от совместимого оборудования. Срабатывание маячка может ограничиваться качеством подключения считывателя к Интернету. Если мобильный телефон работает с некачественной связью, он не сможет эффективно принимать радиосигналы от бикона и выполнять заданные действия.
Сферы применения BLE маячков
Область использования биконов охватывает многие сферы жизни. С развитием цифровых технологий маячок Bluetooth с низким энергопотреблением стали широко применять в следующих направлениях:
Компания Navigine занимается разработкой и реализацией систем навигации и позиционирования внутри помещения. В своей работе мы используем BLE маячки от различных технологических партнеров, предлагая пользователям эффективные геолокационные решения для оптимизации бизнес-процессов.
Концепция Physical web. Bluetooth маячки. Сравнение стандартов iBeacon, AltBeacon и Eddystone
Последние несколько лет я занимаюсь R&D в области интернета вещей и распределенных систем, а так же являюсь Google developer expert IoT. В этой статье я хочу поделиться своим опытом и рассказать про новую концепцию Physical Web. Так же расскажу про разные маячки (англ. Beacon — маяк) и сравню основные стандарты iBeacon, Altbeacon и Eddystone.
В интернете вещей одним из мегатрендов сейчас являются умные дома, а точнее устройства для дома. Недавно была статья на Geektimes с обзором прогнозов в области интернета вещей от разных компаний. А в конце уходящего 2015 года свой прогонз представили Vision Mobile.
У нас уже есть умные термостаты, весы, камеры, телевизоры, холодильники, датчики, замки и тд. С каждыми днём на рынке появляется всё больше и больше умных устройств от самых разных производителей, притом некоторые из них действительно хороши и полезны. Но как сегодня выглядит наше взаимодействие с такими устройствами, например, первоначальная настройка и мониторинг? В подавляющем большинстве случаев, у каждого производителя есть приложение, с помощью которого мы и можем взаимодействовать с его продуктами. На первый взгляд выглядит нормально, так ведь?
Но ведь умные устройства могут нас окружать не только дома. У многих из нас есть приложения для общественного транспорта, оплаты парковок, аренды автомобилей или велосипедов. Но если вы оказываетесь в другой стране по работе или в отпуске, вам скорей всего нужно будет установить еще несколько приложений.
Если мы верим в закон Мура, то маленькие, недорогие, подключенные устройства скоро ворвутся в нашу жизнь, наполняя наши дома, рабочие и общественные места. В настоящее время большинство умных устройств для интернета вещей требует установки специального приложения. Такое узкое решение просто не масштабируется до взаимодействия со всем множеством умных устройств. Я не имею ничего против приложений, приложения это здорово! Но их много и то взаимодействие, которое они нам предлагают не всегда удобно.
Концепция Physical Web
Physical Web — это попытка построить мост между цифровым и физическим миром, который позволяет нам расширить суперсилу web — URL — для повседневного использования. В своей основе, Physical Web является службой обнаружения: умный объект передает соответствующий URL-адрес, который могут принимать любые устройства поблизости, например ваш смартфон или планшет. Эта простая возможность транслировать обычный URL открывает новые, захватывающие способы взаимодействия.
Представьте, что вы можете легко взаимодействовать со всеми умными устройствами в вашем доме, без труда их настроить или получить диагностические данные. Подойдя к остановке вы можете узнать когда прибудет ближайший автобус, сев в него, вы узнаете информацию по маршруту, время до следующей остановки. В торговом центре вы узнаете об акциях и скидках. Подойдя к торговому автомату, вы сможете купить и получать товар, не уговаривая его принять ваши деньги и даже не прикасаясь к нему. Вы можете купить билет в музей или кино, а подойдя к постеру или предмету экспозиции получить о нем дополнительную информацию. Можно арендовать машину или велосипед, оплатить парковку, совершив меньше ненужных действий. Или занять очередь. Занять очередь, Карл! Мы же в России так любим очереди. Даже если вы окажетесь в другом городе, для вас ничего не изменится.
Всё это возможно без установки кучи ненужных приложений, вам понадобиться одно единственное приложение, для Android это — Physical Web Browser, а на iOS — данный функционал встроен в Google Chrome. Google Chrome с поддержкой Physical web для Android сейчас находится в стадии beta. Так же поддержку Physical Web в скором времени получит Opera c переходом на кодовую базу Chrome 49.
Physical Web является естественным решением, предлагающим взаимодействие по требованию без дополнительных усилий и накладных расходов в виде установки приложений. Это совершенно новый User eXperience, предлагающий взаимодействие по требованию, только тогда когда это действительно нужно пользователю. Вы просто нажимаете на ссылку и получаете то, что вам нужно. Никаких Push уведомлений, вибраций или чего то подобного.
Physical Web экономит силы, средства и время на разработку приложений, т.к. не нужно писать приложение под каждую платформу, достаточно сделать одно, адаптивное Web приложение.
Physical Web еще не готов до конца и не является продуктом Google. Это экспериментальный проект, находящийся на ранней стадии и разрабатываемый Google в открытом виде, как и все вещи, связанные с интернетом.
Устройство маячков
Как вы уже могли легко догадаться, источником так нужного нам URL являются маячки (англ. Beacon — маяк). Маячки представляют собой простейшее устройство, которое с заданной частотой транслирует какие-то данные, так называемый advertisement packet, с помощью технологии Bluetooth v4 или Bluetooth Low Eenergy(BLE).
Для тех, кто переживает за приватность: маячки принципиально не могут вас отслеживать, они умеет только транслировать сообщения и ничего о вас не знают. Им всё равно, один человек получает от них пакеты или 30.
Ниже, как пример, представлен маячок от компании Estimote в разобранном виде:
Производителей устройств сейчас достаточно, поэтому на рынке представлены самые различные реализации как по размеру, форм-фактору, так и по назначению. Есть, например, и промышленные реализации, способные работать на улице и питаться от постоянного источника энергии. Цены на готовые устройства также варьируются.
В чем же концептуальная разница между маячками, если не брать в расчет цену и исполнение? Разница заключается в формате транслируемых сообщений.
Сейчас есть три основных стандарта:
Большинство устройств сейчас умеют транслировать сообщения в любом из этих трех форматов, а некоторые даже одновременно в нескольких. Давайте рассмотрим их чуть подробнее чтобы понять, в чем между ними разница.
iBeacon
Первым стандартом был iBeacon, он был представлен компанией Apple inc. в 2013 году. Основным его назначением было применение в области розничной торговли и мобильного маркетинга, а также для локального позиционирования внутри помещений.
Стандарт iBeacon предполагает трансляцию только 1 типа advertisment packet, который состоит из следующих частей:
Устройство или iOS сами по себе эти пакеты ничего не значат, их должно обрабатывать приложение. В каждом отдельном случае, для каждого сценария использования пользователю придется ставить отдельное приложение. Количество UUID с которым может работать приложение ограничено. Среди недостатков стандарта стоит отметить его проприетарность, отсутствие нативной поддержки на платформе Android и то, что он умеет транслировать только один тип advertisment packet.
AltBeacon
Консорциумом RadiusNetwork’s был представлен альтернативный и открытый стандарт AltBeacon. Он изначально разрабатывался как интероперабельный и обратно совместимый со стандартом iBeacon. AltBeacon обладает почти таким же функционалом что и iBeacon, хотя и позволяет передать чуть больше полезной информации.
Из 28 байт Advertisment packet, нам доступны 25 байт которые состоят из:
Eddystone
В 2015 году компанией Google был представлен новый и полностью открытый стандарт Eddystone, который эволюционировал из проекта URIbeacon. Как и 2 других стандарта, Eddystone — это спецификация протокола, которая определяет формат сообщений BLE. Eddystone включает весь опыт других стандартов и призван быть более гибким и устранить недостатки присущие ibeacon и AltBeacon
В отличие от них, он умеет рассылать уже 3 типа пакетов:
Eddystone-URL является основой Physical Web и позволяет легко обнаруживать и взаимодействовать с окружающим нас веб-содержимым. Так как он транслирует обычный URL нам не нужно ничего кроме браузера. Никаких специальных приложений, библиотек или SDK!
Для случаев когда нужно сделать не публичное, обычное приложение для внутреннего или специального использования, Eddystone-URL не подходит, мы должны использовать Eddystone-UID.
Как я уже писал выше, есть маячки, которые позволяют одновременно транслировать несколько видов пакетов, например iBeacon и Eddystone-URL или Eddystone-UID и Eddystone-URL. Как и для чего это можно использовать я расскажу дальше.
Работа с маячками и реализация Physical Web
В самом простом случае, для реализации Physical Web, достаточно ble-маячка с поддержкой Eddystone. Разные модели маячков инициализириуется и конфигурируютсятся по разному. Можно легко развернуть 5, 10, или, скажем 100 маячков. Вы просто назначаете им URL, потом, если это необходимо, меняете только сам контент. Но если вам нужно развернуть большое количество разных устройств, от разных производителей на достаточно большой площади (торговый центр, аэропорт, район города или даже целый город), при том что часть маячков могут быть в постоянном движении, например в транспорте. В таком случае у вас возникают некоторые проблемы, но решения есть. Некоторые производители предоставляют свои облачные решения и CMS для управления маячками, например Estimote, Kontakt.io, Blesh, Phy.net и LightCurb. Estimote и Kontakt.io так же предоставляют на github свои SDK.
На мой взгляд, наиболее универсальным и простым инструментом для решения подобных задач является (Google’s beacon platform)[https://developers.google.com/beacons/]. Google’s beacon platform позволяет легко мониторить и управлять сразу всеми устройствами. Платформа позволяет работать с разными маячками от разных производителей, предоставляй разработчикам единый, простой и гибкий инструмент, о котором я подробно расскажу в отдельной статье.
Мы можем добавить в уже имеющееся, популярное у пользователей приложение возможность работы с маячками, например для навигации или получения каких то дополнительных данных. Понятно что в этом случае Eddystone-URL не подходит, нам нужно использовать Eddystone-UID. Но благодаря тому что некоторые маячки умеют рассылать сразу два типа пакетов одновременно, например Eddystone-URL или Eddystone-UID, мы можем обеспечить пользователей с приложением дополнительными данными, а пользователей без приложения, самим приложением.
В случае когда необходимо сделать не публичное приложение для специального или внутреннего использования, мы просто используем Eddystone-UID.
Маячки могут использоваться для навигации, при том не только внутри помещений(indoor). На первый взгляд эта задача выглядит на такой уж сложной, ведь мы можем определять расстояние до маячка с помощью RSSI. Но даже в идеальных условиях значение сигнала скачет. Связанно это с особенностями антенны, распространения волн, зашумленностью и преградами. В целом, приблизительно, вы можете определить расстояние и кому то этого достаточно. Но если вам нужны более точные показания, то придётся применять триангуляцию сигнала, фильтр Калмана и т.д. В целом, на хабре было написано достаточно про особенности indoor навигации, вот неплохие статьи:












