Что такое 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 навигации, вот неплохие статьи:
Направленный Bluetooth-маяк (iBeacon) и полный мобильный факап
Инверсия — великая вещь! Изобрети что-то одно, а потом возьми и выверни его наизнанку, получишь не менее интересный результат. Я сначала провернул такое с одной штукой, и только потом увидел, что в ТРИЗ (теория решения изобретательских задач) есть такой прием «инверсия или обратная аналогия». Век живи, век учись.
Но это все теория, а практика ставит всё на свои места.
Маяки Bluetooth Low Energy или iBeacon теперь не что-то из ряда вон. Их можно встретить на вокзалах, в аэропортах, в музеях и в торговых центрах. Как радио-инженер я участвовал в проектировании маяков и, в особенности, антенн к ним. Дело это, по-началу интересное, потом становится скучным. Нечем выделиться, ничего особо нового не изобретешь. И тут меня осенило!
Я взял свой пеленгатор (раз и два) и посмотрел на него с обратной стороны. А что, если сделать его маяком? Здесь нужно напомнить читателю, что этот пеленгатор состоит из двух антенн: одна с плавной диаграммой направленности, другая с резко меняющейся.
Это срез диаграммы направленности. В 3D она выглядит так:
Пеленгатор «наводит фокус» по разнице уровней этих двух антенн. Если интересно подробно, то можно посмотреть на Github.
Приведём небольшие фрагменты кода с логикой работы пеленгатора:
Получаем уровни с обеих антенн. Полученные уровни требуется усреднить, а после этого посчитать разницу. На самом деле это не разница сигналов, а их отношение. Но если измерять в децибелах, то будет разница.
Обработка «разницы». Если уровни на обеих антеннах различаются «сильно», то мы с некоторой точностью (плюс минус лапоть) направлены на источник. Чему равно это «сильно» на данный момент определяется методом научного тыка экспериментально.
А теперь ИНВЕРТИРУЕМ!
Пусть на одну антенну будет излучаться маяк iBeacon с одним номером, а на другую — с другим. Тогда на мобильном устройстве можно измерить уровни обоих маяков и по разнице определить насколько близко оно находится к фокусу антенн маяка. Получается позиционирование по направлению прихода волны.
В стандарте Bluetooth версии 5 даже анонсирован похожий способ высокоточного позиционирования — Angle of Departure. До точного описания этого способа они еще не дошли, обещают в следующих версиях.
В рафинированном виде работу можно проиллюстрировать роликами: раз и два.
В приложении устанавливает порог по разнице уровней, по которому определяется, что мобильное устройство находится в воображаемом конусе с осью, совпадающей с нормалью к плоскости антенны.
Сам маяк выглядит так:
А вот рендеры внутренностей:
Красавец, не правда ли?! Внутри антенна, как в пеленгаторе WiFi, и Bluetooth SoC nRF51822. Но все было тщетно.
Далее история переходит в факап, который заключается в том, что это работает на смартфоне Nexus 5 и найти другой гаджет, работающий хотя бы так же, оказалось не очень просто. Нет, они есть, Samsung Galaxy S7, Lenovo Phab 2 Pro, и на этом список пока заканчивается. Больше «хороших» гаджетов найти у друзей и знакомых не удалось. Из «плохих» можно отметить Samsung S4 mini.
Конечно, был проверен маяк. Он излучает пакеты на две антенны по очереди с минимальным интервалом. Маленький интервал нужен, чтобы измерения относились к моментам времени, отстоящим друг от друга незначительно. Иначе нельзя будет соотнести их друг с другом.
Был записан лог с Bluetooth-снифера с использованием чудесного WireShark. Анализ лога показывает, что излучается все правильно, временные интервалы и уровни в норме. Осциллограф тоже не показал ничего неучтенного на выходе маяка.
Тем не менее, на большом числе гаджетов работает плохо. Проблема в потерях измерений. В Android-приложение была встроена диагностика приема пар пакетов. Показателем качества был сделан процент парных пакетов. Так вот, показатель от 80 до 100 наблюдался лишь на некоторых гаджетах. На остальной протестированной выборке мобильных устройств показатель был от 20 до 60. В движении соотношение уровней измерялось неточно. Была попытка скомпенсировать это увеличением частоты излучения пакетов, но это результата не дало. Что-то внутри Андроида препятствует нормальным измерениям.
Исходники всего этого безобразия доступны на Github.
Есть небольшая надежда, на то, что на iOS ситуация может быть лучше. По крайней мере однороднее на спектре мобильных устройств.
Есть также надежда, что найдется специалист, который поймет в чем проблема и подскажет решение.
А мне сейчас очень жаль, что эта идея не работает.
Как работают маяки: Физика технологии iBeacon
В нашей первой публикации мы привели обзор и сравнение целого спектра iBeacon маячков доступных на рынке. Сегодня мы рассмотрим более подробно как работает Bluetooth маяк на примере наших европейских коллег, и поговорим о том, как с его помощью можно рассчитать местоположение внутри здания.
Что кроется внутри
Несмотря на глобальное освещение iBeacon технологии в медиа, бизнес-сообществах и сообществах разработчиков, кажется, что существует некоторый уровень недопонимания принципов её работы. Сейчас мы попытаемся это исправить и углубимся в основы и объясним, что такое маячки, и как они работают.
Как работают маячки? Принципы их работы достаточно просты. Под силиконовым корпусом находится маленький ARM-компьютер, соединенный с Bluetooth-модулем – они питаются от батареи. Маленькая микросхема от Nordic Semiconductor содержит прошивку – это часть низкоуровнего программного обеспечения, гарантирующая правильность работы маячков. Хотя вычислительные мощности процессора и памяти ограничены, их оказывается более чем достаточно для обработки важных данных и шифрования ID маячков (с целью повышения безопасности).
На сужающейся части маячка расположился короткий провод, идущий напрямую от процессора – это антенна. Широковещательная антенна излучает волны определенной частоты и длины: радиоволны частотой 2,4 ГГц. Если вы разберете маячок, то заметите, что антенна не походит на антенны старых телевизоров и радиоприемников. И дело здесь не только в размере. Она имеет изогнутую форму и выглядит как зигзаг.
Это сделано неспроста. Электромагнитное поле вокруг прямого провода принимает форму пончика – волны не распространяются с одинаковой силой во всех направлениях, что ведет к образованию «пустых» зон. Лучшим решением проблемы является изменение формы антенны так, чтобы электромагнитное поле приняло форму идеальной сферы. Однако в реальных условиях этого добиться невозможно, поэтому с этой целью проводится множество исследований. Существует огромное количество книг по теории антенн, и мы проводили свои собственные эксперименты, чтобы наши антенны производили мощное и стабильное поле.
Для коммуникации маячки используют технологию Bluetooth Smart. Это последняя версия стандарта Bluetooth с низким энергопотреблением, который предназначен для передачи небольших объемов данных. Максимальный размер пакета Bluetooth 4.2 составляет 257 байт. Этого недостаточно для передачи медиаконтента, поэтому маячки передают только свои ID (в случае протокола iBeacon, ID делится на три части: UUID, Major, Minor) и информацию о силе излучаемого сигнала – этот параметр необходим для вычисления расстояния до смартфона.
Математика и физика
Дальность передачи и стабильность сигнала маячка зависят от двух основных факторов: интервала передачи (частоты) и силы вещания. Маячок не транслирует сигналы постоянно – он работает импульсно. Частота – это время, проходящее между двумя последовательными отправками данных. Чем выше частота, тем точнее определяется сигнал.
Так сделано, потому что смартфоны тоже «ищут» маячки, сканируя эфир с определенной частотой, и эта частота может зависеть от состояния телефона (заблокирован, разблокирован). Тип ОС и устройства также имеет значение. Если телефон активен, то он будет проводить сканирование с большой частотой; если положить его в карман, то через несколько минут он начнет экономить заряд батареи и ограничит число Bluetooth-сканирований.
У маячков Estimote время между импульсами составляет 950 мс, однако его можно изменять в диапазоне от 100 до 2000 мс. Стандартная частота выбрана неслучайно. В среднем, iOS сканирует область на наличие маячков 1 раз в секунду. 950 мс практически равняется этому значению. В радиозашумленных помещениях отправленный пакет может не достигнуть устройства (или что-нибудь/кто-нибудь перекроет прямую видимость смартфона и маячка). Чтобы повысить стабильность соединения можно увеличить частоту посылок.
Если вы установите интервал равным 490 мс, то произойдет передача двух пакетов за одно сканирование смартфоном. Если вы установите интервал равным 330 мс, то произойдет передача трех пакетов за одно сканирование; 240 мс – это четыре пакета и так далее. Если первый пакет не был принят устройством, существует вероятность, что оно примет остальные. Важно помнить, что увеличение числа отправляемых пакетов приводит к уменьшению времени жизни батареи.
Помимо частоты стоит учитывать силу вещания. Она описывает силу сигнала и измеряется в дБм (децибел-милливаттах). дБм – это абсолютный уровень мощности в децибелах относительно опорного уровня в 1 мВт. Рабочее расстояние маячка напрямую зависит от вещательной мощности. Невозможно сказать, на какое расстояние распространяются радиоволны, поскольку нет определенной точки в пространстве, где они просто останавливаются. Например, лампочка, она освещает определенную область вокруг себя, но свет идет гораздо дальше, рассеиваясь. То же самое происходит с радиоволнами.
Чем ближе вы к маячку, тем точнее вычисляется расстояние – это происходит из-за большей плотности сигнала в непосредственной близости от источника. Когда вы отходите, сигнал становится более рассеянным и искаженным, пока не станет неотличим от фонового шума. Чтобы лучше понять концепцию, представьте, что маяк – это радиоприемник, а сила вещания – это уровень громкости.
Если вы увеличите громкость, то сможете слышать музыку издалека, и, подходя ближе, будете слышать её все отчетливее. Но если уровень громкости очень низкий, вам может быть трудно распознать мелодию, даже если вы приложите ухо прямо к динамику. Однако знание точного уровня громкости в децибелах не дает возможности идеально точно определить расстояние, на котором будет слышен звук. На это влияет слишком много факторов: от препятствий (физическая материя, через которую должны проникнуть волны) до особенностей слуха.
Вычисление расстояния
Вы уже знаете, что смартфон сможет вычислить примерное расстояние до маячка после того, как «услышит» его. Чтобы сделать это, телефон считывает так называемый RSSI (Received Signal Strength Indicator) – индикатор мощности принятого сигнала, после чего сопоставляет его с уровнем сигнала, измеренным в 1 метре от передатчика, который доставляется как часть пакета передаваемых данных. Так смартфон вычисляет примерное расстояние до маячка. Расстояние в 1 метр было выбрано специально: как уже говорилось выше, гораздо проще получить точные значения на близких дистанциях из-за большей плотности сигнала.
Мы расписали правила, по которым вычисляются расстояния до маячков, но, как обычно, на практике все оказывается не так просто. Давайте вернемся к примеру с радио: представьте, что вы поставили радио не в комнате, а посреди шумной железнодорожной станции. Радио играет на полной громкости, и вы легко слышите его, когда находитесь поблизости, однако не можете определить его точное местоположение – мешают снующие туда-сюда люди. Помимо людей шумят приезжающие и уезжающие поезда, диспетчер объявляет о посадках – все это искажает звук, поэтому вы не можете с уверенностью сказать, на каком расстоянии от приемника находитесь.
Вычислить точное местоположение маячка только на основании принимаемых радиоволн невозможно. Здесь вам мешают не поезда и диспетчер, а множественность маршрутов распространения волн, дифракция, поглощение и интерференция. Помните, мы говорили, что невозможно спроектировать антенну, распространяющую сигнал во всех направлениях с одинаковой силой? Из-за этого взаимная ориентация маяка и смартфона в пространстве может влиять на аппроксимацию: показания RSSI сильно меняются.
Если маячок располагается на расстоянии 10 метров от вашего смартфона, приложение может показать цифру 8, затем угадать и предположить расстояние в 10 метров, затем сообщить о 12 метрах, снова вернуться к 7 и снова к 10… в общем, вы поняли. Если вы повернете телефон, то система может решить, что вы приблизились на 2 метра к маячку.
Мы разобрали принципы работы технологии iBeacon на примере описания действия маячков Estimote. А сейчас мы хотим подробнее рассказать о том, как работает навигация внутри помещения с использованием технологий, разработанных в Navigine.
Навигация внутри помещения: комментарий Navigine
Сервисы определения местоположения для iOS регулируются фреймворком Core Location, частью которого является iBeacon. Стандарт iBeacon не разрабатывался с целью вычисления точного расстояния до маячка и оперирует лишь зонами. Существует четыре типа зон: непосредственная близость (очень близко к маячку), близко (1-3 метра от маячка), далеко (зона, где сигнал слишком сильно колеблется, и точнее определить расстояние нельзя) и неизвестно. Фреймворк Core Location позволяет активировать желаемые события в каждой зоне.
Для небольших помещений, например, кафе или ресторана, этого будет достаточно, но что, если вы хотите получить точное местоположения на площади в тысячи квадратных метров, например, на складе, промышленном предприятии или в торговом центре?
Итак, остается открытым вопрос: можно ли построить надежный навигационный сервис внутри помещения, использующий iBeacon-маячки? Если коротко, то да, можно. Если говорить подробнее, то именно по этой причине любая аппаратная инфраструктура является лишь частью навигационных комплексов. Взяв за основу простую и дешевую инфраструктуру iBeacon, наши знания и подходы к indoor навигации (о которых мы вскользь говорили тут, и скоро расскажем подробнее), мы в Navigine разработали сервис, который позволяет определять положение внутри помещения в условиях отсутствия спутниковых сигналов.
В основе сервиса лежат наши алгоритмы интегрированной инерциальной навигации с широким набором дополнительной (корректирующей) информации на основе оптимальных методов оценивания с использованием фильтров Байесовского типа.
Чтобы максимально расширить область применения, мы обрабатываем следующий набор дополнительной информации:
Еще буквально год назад тестирование indoor навигации на базе iBeacon-маячков требовало длительного и скучного процесса снятия радио карты. Сейчас достаточно отметить, где были установлены маячки на карте. У нас есть SDK для iOS/Android, которые вы можете протестировать, зарегистрировавшись на сайте, плюс часть алгоритмов доступна на GitHub (наш репозиторий). Форкайте на здоровье.









