Специалист по IoT Дмитрий Лаконцев о сканировании QR-кодов, технологии фингерпринтинга и способах получения информации о городской среде  

Дмитрий Лаконцев кандидат технических наук, доцент, заведующий лабораторией интернета вещей Сколковского института науки и технологий (Сколтех).

Я хотел бы рассказать о технологии physical web. В принципе это скорее техническое решение, нежели технология, которое позволяет нам получить связь между физическими объектами, нас окружающими, и, собственно говоря, нами самими как людьми. Типичный пример: мы гуляем по городу, нам интересно посмотреть, а что же находится в этом здании. Или увидели какой-то ресторан ― заходить не хочется, но интересно узнать, какая специализация, какое меню. Идем мимо театра ― хочется узнать репертуар и какие-то скидки, узнать, что идет сейчас. Типичный случай — кинотеатр: какое там будут показывать кино через пять минут? 

Первый шаг в эту сторону был сделан при помощи QR-кодов, всем известной вещи: достаем телефон, сканируем QR-код. Специальное приложение в телефоне распознает этот код и достает из него самую различную информацию: это может быть визитка человека, с которым вы только что познакомились, или адресная строка в браузере, чтобы зайти на какой-то сайт, и так далее. Но есть некоторые нюансы.

Прежде всего, это очень долго: надо достать телефон, сфотографировать этот QR-код, а чтобы его сфотографировать, его для начала надо еще найти, и это целое дело, так как он может быть расположен вверху, или внизу, или где-то за углом, его можно просто не заметить сразу в темноте. Неудобно. Потом надо запустить приложение, отправить запрос, — одним словом, требуется некоторое количество телодвижений, и это не очень удобно. Соответственно, хотелось бы как-то сократить эту цепочку и получать информацию быстрее и, главное, удобнее (например, сидя на лавочке и не бегая с камерой, пытаясь поймать QR-код).

На помощь пришла технология маячков, распространяющих информацию о себе по технологии Bluetooth, которая присутствует в любом телефоне. Есть специальный режим bluetooth low energy, чтобы маячок не разряжался быстро. Телефон-то можно подзарядить, а вот маячок — это автономная вещь, которая должна жить какое-то количество времени ― от полугода до двух-трех лет ― самостоятельно, без подзарядки.

Маячок — это очень простое устройство. Это вещь, которая рассылает короткую информацию о себе несколько раз в секунду ― в зависимости от настроек, а может, реже. Первый типичный представитель, известный широкой публике, ― это iBeacon, то есть решение компании Apple. iBeacon очень простой. Он посылает короткий пакет, в котором есть ID самого beacon, есть часть, которую можно заполнить пользователем, то есть заложить какую-то дополнительную информацию. Есть еще одно поле, говорящее о том, какой должен быть уровень принимаемого сигнала от этого маячка на расстоянии одного метра. Таким образом, эту информацию можно попытаться использовать для позиционирования. Точность этого позиционирования небольшая. По идее телефон чувствует уровень сигнала и может сказать: мы в двух метрах от маячка, в трех метрах или в пятидесяти сантиметрах. Но точность там крайне невысокая. Ее можно повысить, только используя так называемую технологию фингерпринтинга, то есть много раз пройти в этом месте, замерить, потом наложить это на карту, и тогда можно уточнить эту навигацию. Но в целом это, как правило, не нужно. Достаточно точности несколько метров, чтобы понять.

Казалось бы, стало удобнее: не надо сканировать изображение, не надо сканировать QR-код. Но проблема опять же в том, что нужно приложение, то есть просто так узнать информацию невозможно. Какое-то приложение должно поймать этот пакетик, разобрать и обратиться в интернет, спросить, что же значит на самом деле этот beacon, и уже в ответ на это что-то сделать: рассказать о театре или напомнить, что в этом магазине распродажа, и так далее.

Следующее решение предложила компания Google ― это, собственно говоря, протокол и некий стек решений, который называется Eddystone. По сути это такой же beacon, такой же маячок, но у него есть два важных новых момента. Самый важный ― первый: он может непосредственно посылать адресную строку, обычный URL, то, что мы набираем, когда хотим зайти на сайт, или то, что получаем в виде ссылки в почте, и так далее. И этот URL позволяет сразу же по этой ссылке пойти и что-то нам показать. То есть пропадает необходимость в использовании приложения. Обычный браузер, например Google Chrome, умеет это делать: он сразу же поймает эту ссылку, по ней пойдет и что-то нам отобразит.

Второй момент, который там появился, ― это то, что маячок начал рассказывать о себе. Он говорит, сколько раз уже послал всю информацию, какой у него уровень заряда. То есть появился служебный канал, который позволяет вам определить состояние маячка. Понятно, что, если маячков очень много, их все надо рано или поздно начать обслуживать (например, менять им батарейки, потому что они не вечны).

Так как сама адресная строка — это базовый элемент в интернете, то есть на ней все построено и завязано много сервисов, первый же сервис, который тут встречается, ― это тот же самый goo.gl, сокращающий ссылки. Обычно ссылки очень длинные. Понятно, что маячок посылает ограниченную информацию. И вот он обращается в goo.gl, чтобы из длинной ссылки сделать короткую. Таких сервисов много, но я опять же говорю про Google, потому что это такое единое решение, где Google все это увязывает.

А дальше все очень просто. Вы сидите на лавочке, сканируете вокруг себя пространство и получаете сообщение: «На этой лавочке пять минут назад сидел…», или «Это великая лавочка, где как раз произошла сцена из “Мастера и Маргариты” рядом с Патриаршими прудами», или «В соседнем ресторане сейчас обед, и вы можете поесть то-то и то-то».

Понятно, что это огромное пространство для спама и всяких вредоносных программ: вы сканируете эфир, получаете ссылку, по ней переходите ― тут же вирус или спам, огромное количество рекламы. На помощь нам приходит то, что ссылка сама по себе, сама адресная строка ― это базовый элемент, который можно пропускать через различные интернет-сервисы, такие как, например, прокси. Грубо говоря, у вас появляется посредник, например тот же Google, который сначала получает эту ссылку, проверяет, доверенная она или нет, можно ли ее вам отобразить или она какая-то вредоносная. Может сам быстренько сходить туда, проверить и вернуться. Может приоритизировать эти ссылки (например, есть популярные ссылки). Это немного похоже на механизм обычного поиска в интернете: он приоритизирует и наверх выдает те ссылки, которые популярны, проверены, безопасны, полезны. Те, которые не проверены, новые, небезопасные, он может от вас просто спрятать. Таким образом, есть способ фильтрации спама, борьбы с этими нехорошими, вредоносными программами.

Кроме того, это безграничное пространство для творчества. Сам по себе интернет-провайдер этих сервисов получает огромное количество информации — о вас, о том, сколько людей прошло, например, по этой улице, сколько людей интересовалось этим рестораном, сколько людей в результате потом в него сходили (это уже надо с рестораном договориться). Это огромное поле для изучения города и городской среды. Если эти маячки расставить везде, можно получить огромное количество самой разнообразной информации о людях и о том, какие у нас на самом деле есть предлагаемые сервисы, потому что это тоже важно.

Второе приложение, которое тоже может быть полезно, — позиционирование в здании. Вы заходите в огромный бизнес-центр, или в какой-нибудь торговый центр, или еще куда-то. Здание большое, указатели непонятные. Очень легко запутаться, не понять, куда идти, и так далее. Та же простая вещь: сканируем вокруг себя эфир, находим ближайший навигационный маячок, он нам дает адресную строку, мы обращаемся туда и тут же видим на карте, браузер нам открывает карту и говорит: «Вы сейчас находитесь в этом здании здесь». Полезно то, что эта навигация никак не завязана на навигацию спутниковую ― часто GPS и ГЛОНАСС не работают внутри помещений. А тут как бы вы с очень большой точностью ― если без фингерпринтинга, то с точностью до метра-двух, а если с фингерпринтингом, то гораздо точнее ― можете получить, где вы находитесь в здании.

Можно применять это для людей, например для охранников, которые регулярно проходят по какому-то маршруту в этом здании, и можно отслеживать, где он идет, все ли с ним в порядке и так далее. Тут огромное количество приложений, притом что это очень простая вещь по той простой причине, что ничего такого сверхъестественного не делает ― просто рассылает коротенькую информацию, телефон ловит и переходит.

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

  
     
Источник: postnauka.ru