Поиск устройств поблизости что это

Как мы разработали технологию обнаружения устройств поблизости

Поиск устройств поблизости что это

Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ультразвука, но у каждого из способов мы обнаружили критичные в нашем случае недостатки.

В итоге мы придумали новый способ. Он основан на поиске совпадения окружающего шума: если устройства слышат одно и то же, то, скорее всего, они находятся рядом.

В статье мы расскажем о принципе его работы, а также рассмотрим достоинства и недостатки других распространенных способов обнаружения устройств.

Взаимодействие между устройствами поблизости

Люди, находясь рядом друг с другом, часто хотят обменяться файлами, добавить нового знакомого в друзья, сыграть вместе в игру, перевести деньги, поделить счет или выполнить другие совместные действия. Такие приложения станут удобнее, если позволят пользователю легко взаимодействовать с окружающими людьми или устройствами.

Например, Петров только что познакомился с Ивановым и они пытаются “подружиться” на Facebook. Спустя несколько безуспешных попыток найти друг-друга, они, скорее всего, закроют Facebook, обменяются номерами телефонов и будут общаться через WhatsApp.

Кстати, Вконтакте предусмотрели это: в их мобильном приложении для iOS и Android есть функция “Люди Рядом”, которая позволяет найти других пользователей при помощи геолокации. О минусах этого способа я расскажу чуть позже.

Поиск устройств поблизости что этоПоиск устройств поблизости что это
Поиск нового знакомого в FBПоиск нового знакомого в Vk

Чтобы функция действительно была удобна пользователю, она должна работать:

Окружающий шум

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

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

Поиск устройств поблизости что это
Схема работы

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

Отпечаток звука с точной меткой времени отправляется на сервер. Сравнивая его с отпечатками других устройств, сделанных в тот же момент времени, сервер может определить, насколько похожи исходные звуки. Если показатель схожести выше определенного порога — устройства получают идентификаторы друг-друга для последующего взаимодействия.

Поиск устройств поблизости что это
Пример и сравнение отпечатков с двух разных устройств

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

Используя эти данные, мы перебрали множество алгоритмов генерации и параметров сравнения отпечатков для достижения наилучшего результата. В итоге добились того, что 6-секундный отпечаток позволяет обнаружить устройство на расстоянии до 5 метров в 96% случаев, а ложноположительный результат возможен в 0.0039% случаев.

Мы разработали библиотеки для iOS и Android, которые скрывают от приложения всю реализацию через простой API и встроили их в свои приложения.

Недостаток данного подхода в том, что он не работает в абсолютной тишине. Тишина очень похожа на любую другую тишину и алгоритм намеренно игнорирует ее, чтобы исключить ложные срабатывания. Стоит отметить, что абсолютная тишина встречается в реальных условиях крайне редко. Достаточно стука клавиш клавиатуры или звука шагов, чтобы устройства обнаружили друг-друга.

Иногда это выглядит забавно: пользователи молча ждут обнаружения секунд 10, после чего один из них говорит что-то вроде “Это не работает!”. Эта фраза работает как заклинание и через секунду устройства обнаруживают друг-друга.

Одно преимуществ данного подхода — кроссплатформенность. JS-версия библиотеки, работает в Chrome, Safari, Firefox, Edge, в том числе, в их мобильных версиях.

Еще один способ….

В нашем приложении функция “Рядом” является одной из ключевых. Мы попробовали применить различные существующие способы для ее реализации, но столкнулись с критичными для нас ограничениями и проблемами.
Давайте подробно рассмотрим альтернативные способы.

Геолокация

Это наиболее очевидный способ решить задачу. В момент, когда пользователь открывает раздел “Рядом”, мы получаем его текущее местоположение и выполняем поиск ближайших пользователей на сервере.

Если представить местоположение как центр окружности, а погрешность координат в виде радиуса, то 2 пользователя могут быть изображены следующим образом:

Поиск устройств поблизости что это

Если расстояние между устройствами (d) меньше суммы погрешностей (r1 + r2), значит есть вероятность (P), что пользователи находятся рядом.

Радиус поиска должен быть не меньше погрешности координат. Как оказалось, реальные координаты смартфона могут находиться и за пределами погрешности, например, в Android это происходит в 32% случаев. Значит, даже находясь рядом, пользователи все равно могут не “увидеть” друг-друга.

Координаты, полученные при помощи GPS и ГЛОНАСС точны, но этот способ зачастую не работает внутри помещений, кроме того, может потребоваться до минуты на поиск спутников. При этом, модуль GPS/ГЛОНАСС присутствует не во всех устройствах (Привет, iPad Wi-Fi!) или может быть отключён на уровне ОС (Привет, Android!).

На самом деле, даже вне здания, на улице с плотной застройкой GPS/ГЛОНАСС часто ошибается из-за отражения сигнала от зданий и может выдавать точность ниже 100 метров:

Поиск устройств поблизости что это

Поэтому в большинстве случаев приходится использовать координаты, полученные при помощи триангуляции по сигналу окружающих Wi-Fi сетей и сотовых вышек, этот способ работает быстро и энергоэффективно, но точность на порядок ниже: 100 — 1500 метров. На практике, устройство нередко определяет неверное местоположение в городе, а иногда может “телепортироваться” в другой город.

Мы реализовали этот способ и протестировали его в Москве, примерно в 15% случаев устройства не находят друг-друга из-за неверных координат. Особенно часто ошибки происходят внутри высоток Москва-Сити, в метро и наземном транспорте. Также из-за низкой точности часто будут попадаться “лишние” пользователи (не находящиеся рядом).

+ простой в реализации способ
− низкая точность
− плохо работает в транспорте (в движении)

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

Но в 2013 их поглотил Google, а уже в 2014 проект закрыли, несмотря на то, что Bump SDK был встроен во множество сторонних приложений, а приложение Bump для обмена файлами получило сотни миллионов скачиваний. Дальнейшая судьба технологии неизвестна.

Главный недостаток технологии заключается в том, что за один ”Бамп” связывается только пара устройств. Чтобы объединить группу пользователей, потребуется сделать множество “Бампов”.

+ высокая точность
− необходимо сталкивать друг о друга устройства
− попарное обнаружение устройств
− проект закрыт

Bluetooth, BLE и Wi-Fi

iOS и Android категорически не дружат по Bluetooth. Передача данных между этими платформами — нетривиальная задача: Apple позволяет приложению подключиться только к сертифицированным (Made For iPhone) Bluetooth-устройствам.

Чтобы устройства могли обнаружить друг-друга, используется следующий способ: iOS имитирует какую-либо Bluetooth Low Energy-периферию, устанавливая свой токен в качестве имени BLE-устройства. Android временно меняет Bluetooth-имя смартфона на свой токен и включает режим обнаружения. Теперь, чтобы обнаружить устройства вокруг, Android сканирует Bluetooth для обнаружения Android и BLE для обнаружения iOS-устройств. iOS сканирует только BLE для обнаружения iOS, т.к. сканирование Bluetooth-устройств невозможно с помощью публичного API. Для того, чтобы обнаружить Android, iOS через облако получает идентификаторы окружающих Android-устройств, которые обнаружили его BLE-токен.

Окружающие Wi-Fi-сети в некоторых случаях помогают обнаружить, что устройства рядом: iOS-приложение может получить BSSID Wi-Fi точки доступа, к которой в данный момент подключен пользователь, а Android BSSID всех видимых точек. Если найдено совпадение, значит, пользователи рядом.

Грамотно реализовать этот способ самостоятельно не так уж просто, в том числе из-за множества особенностей BLE-стека разных версий Android и iOS. Существуют библиотеки, которые скрывают сложную реализацию “под капот”.

Мы попробовали Google Nearby. Обнаружение пары iOS — Android происходит медленно, в среднем поиск занимает 20 секунд, а в некоторых случаях длится до 40 секунд, это оказалось главным останавливающим фактором.

Другой нюанс заключается в том, что Bluetooth выключен на большинстве смартфонов, поэтому пользователям iOS каждый раз при использовании функции нужно будет правильно ответить на вопрос “Разрешить приложению использовать Bluetooth?”.

Также, стоит помнить, что использование Bluetooth (на Android) сильно влияет на потребление заряда. Google предупреждает, что Google Nearby увеличивает потребление энергии в 2.5 — 3.5 раза.

+ proof of proximity (гарантия того, что устройства находятся рядом)
− медленное обнаружение
− высокое потребление энергии

Обмен информацией через звук

У всех смартфонов есть динамик и микрофон. Можно закодировать какой-либо идентификатор в звук на одном устройстве, воспроизвести его при помощи динамика, декодировать на устройствах в радиусе слышимости и таким образом объединить устройства в группу.

Поиск устройств поблизости что это
Пример спектрограммы сигнала Chirp.io

В слышимом диапазоне сигнал смешивается с голосом, музыкой и окружающим шумом, чтобы увеличить вероятность корректного декодирования приходится воспроизводить звук с максимальной громкостью. Чаще всего используется FSK и PSK-модуляция, генерирующая похожий на свист или шум (в зависимости от плотности данных) звук, что раздражает многих людей (пример звука). Этот способ реализован в проекте Chirp.io.

− плохо работает в шумных местах
− раздражает окружающих

Можно использовать диапазон 18-20 кГЦ, он обычно не зашумлен, а большинство взрослых людей не услышат раздражающий звук. К сожалению, некоторые смартфоны тоже воспринимают его плохо, становится актуальна проблема отражения и интерференции, дальность устойчивой связи уменьшается до 0.5 — 3 метров. Этот способ реализован в Google Nearby и Chirp.io, но включается отдельно.

− работает на слишком малых расстояниях

Вместо заключения

Мы тестируем технологию в собственном приложении уже более 2-х лет. За это время мы убедились в ее работоспособности и удобстве в “боевых” условиях. В очень скором времени мы хотим дать возможность любому разработчику быстро встроить и использовать ее в своем приложении.

Надеюсь, статья оказалась познавательной и полезной. Если тема окажется интересной, в следующих статьях я планирую более подробно рассказать об алгоритмах создания и сравнения “отпечатков” окружающего звука, а также о трудностях, с которыми нам пришлось столкнуться.

С удовольствием отвечу на ваши вопросы в комментариях!

Источник

Как узнать, где находится телефон, часы или планшет. Даже если они выключены

Потеря мобильного устройства, особенно смартфона, — это серьезнейший повод для стресса. Наши устройства хранят основную часть личной информации и потенциально конфиденциальных данных. В случае потери или кражи это может иметь катастрофические последствия. Если вы используете устройство Android, есть способы определить его местоположение, если случайно разминетесь с ним. В этой статье мы соберем несколько способов определить местоположение телефона, которые вы можете использовать, пока ваш телефон включен и подключен к мобильной сети или сети Wi-Fi. Только имейте в виду, что использовать трекеры для отслеживания положения других людей без их ведома не только неэтично, но и незаконно.

Поиск устройств поблизости что это

Если телефон потерялся, это еще не значит, что его нельзя найти.

Встроенные средства поиска телефона

Ряд производителей предлагают собственный способ отслеживания телефонов. Вот варианты от Google (для любого телефона Android) и Samsung (для устройств Samsung).

Самый просто способ найти телефон

Приложение Google Find My Device является обязательным для пользователей Android и одним из самых полезных приложений для Android. Если вы добавили учетную запись Google на свое устройство Android, функция ”Найти устройство” будет включена автоматически. Вы можете проверить, что служба запущена, перейдя в ”Настройки”, далее выбираем ”Google” и открываем ”Найти мое устройство”. Иногда перед последним пунктом надо будет открыть пункт ”Безопасность”. После этого останется только убедиться, что функция включена.

Поиск устройств поблизости что это

Настройка в три клика

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

Чтобы начать поиск, надо будет или скачать приложение из Google Play, или перейти на специальный сайт. В первом случае не забудьте выйти из учетной записи, если искали свой смартфон с чужого. В противном случае, этот человек сможет отслеживать положение вашего устройства.

Если вы пользуетесь WEB-версией, то функциональность будет той же самой, но не придется никого просить установить приложение и дать вам телефон. Проблема в том, что часто под рукой просто нет компьютера и приходится прибегать к помощи других пользователей.

Как найти потерянный Samsung

Samsung предлагает собственный способ поиска потерянного телефона для своих пользователей — Find My Mobile. Воспользоваться им могут только люди с учетной записью Samsung.

Чтобы проверить, включена ли соответствующая опция, откройте настройки телефон. Теперь пролистайте до пункта ”Биометрия и безопасность” и внутри выберите ”Поиск устройств”. Если настройка не активирована, это можно будет легко сделать, передвинув соответствующий переключатель.

Поиск устройств поблизости что это

Сделайте это, если у вас Samsung.

Вы так же сможете выбрать, хотите ли вы включить параметры удаленной разблокировки и отправки последних местоположений. В первом случае Samsung запишет ваш PIN-код, пароль или графический ключ, что позволит вам разблокировать устройство, даже если вы его забыли. После активации вы сможете управлять своим телефоном даже удаленно. Параметр ”Отправить последнее местоположение” очень важен, так как он определяет, что аккумулятор вот-вот разрядится, и отправляет данные о последнем известном положении телефона на серверы Samsung.

Найти телефон также проще всего будет через сайт, который покажет всю важную и нужную информацию о местоположении вашего смартфона.

Тут можно купить отобранные вручную гаджеты с AliExpress

Приложения для поиска телефона

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

Поиск устройств поблизости что это

Иногда надо искать не только телефон, но и человека

А еще они будут хранить все ваши данные, необходимые для поиска телефона, на своем сервере. Об этом тоже стоит задуматься. Ведь кто-то всегда будет в курсе вашего местоположения. Обязательно внимательно прочитайте политику конфиденциальности перед регистрацией, если вы решите использовать стороннее приложение.

Как узнать, где находятся члены семьи

Опять же, прежде, чем определять местоположение другого человека, даже члена семьи, стоит выяснить у него, не будет ли он против. Он должен быть как минимум в курсе отслеживания его местоположения.

Life360: Семейный локатор, GPS трекер — бесплатное приложение, предназначенное для семей, позволяет вам отслеживать, где находятся все члены вашей семьи, определяя местоположение их телефонов. Таким образом, даже если один из участников потеряет свой телефон или с ним что-то случится, другие могут мгновенно узнать, где он находится.

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

Приложение для защиты телефона

Cerberus Phone Security создано для предотвращения кражи данных с украденного телефона. Если вы беспокоитесь о том, что ваш телефон украдут или вы его потеряете, а кто-то подберет, Cerberus может быть для вас лучшим приложением.

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

Поиск устройств поблизости что это

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

Where’s My Droid — приложение для поиска телефона

Where’s My Droid — бесплатное приложение (но с платными функциями) для поиска вашего телефона. Он позволяет вам искать свое устройство, отправлять команду издать звук, делать фотографию местности, отслеживать местоположение по GPS, устанавливать пароль и в самом крайнем случае стирать все данные.

Поиск устройств поблизости что это

Это мощный инструмент, но не полностью бесплатный.

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

Поиск устройств поблизости что это

Новости, статьи и анонсы публикаций

Свободное общение и обсуждение материалов

Поиск устройств поблизости что это

В Google Play столько игр, что выбрать что-то интересное часто становится большой проблемой, если никто не рассказал, на что стоит обратить внимание. Поэтому мы каждую неделю готовим для вас подборки самых интересных игр, в которые можно поиграть в выходные. На этот раз мы решили остановиться на тех играх, в которые можно играть и не платить за это. Это или полностью бесплатные игры, или те, в которых есть монетизация, но она не является обязательной. Впрочем, как показывает практика, именно такая модель распространения приносит создателям игр и приложений чуть ли не больше денег, чем любая другая. Но если вам не нужны улучшения ”для красоты”, то вы не потратите ни рубля на эти игры. Ну, если только электричество на зарядку аккумулятора телефона.

Поиск устройств поблизости что это

Источник

Обмен с окружением на Андроид — что это и как отключить

Android – чрезвычайно функциональная операционка. Это её и плюс, и минус одновременно. Ведь то, в чём одни видят возможности, для других является сложностью, с которой нужно разобраться. Причём последних, как показывает практика, оказывается намного больше, чем первых. Всё-таки с каждым обновлением доступных функций и инструментов Android становится больше, а значит, и больше поводов что-то не понять. Как хорошо, что у вас есть мы, готовые рассказать и показать, что к чему.

Поиск устройств поблизости что это

Обмен с окружением — это тот самый Nearby Sharing

Недавно Android получил функцию передачи данных по беспроводному соединению Nearby Sharing. Google выпустила её в составе сервисов Google Play, поэтому системное обновление для этого не требовалось. Вот только у кого-то нововведение появилось в исходном названии, а у кого-то в русскоязычной локализации – «Обмен с окружением». В принципе, перевод верен, но кто вообще будет заморачиваться и искать аналогии в другом языке?

Как отключить Обмен с окружением

Итак, ещё раз: Обмен с окружением – это и есть функция передачи данных Nearby Sharing. Она позволяет передавать файлы с устройства на устройство, используя технологии Wi-Fi и Bluetooth одновременно. За счёт этого удаётся развить очень высокую скорость, при которой фотографии весом 1-4 МБ передаются практически мгновенно, а тяжёлые видеофайлы весом 1 ГБ – меньше чем за минуту.

По умолчанию «Обмен с окружением» включён всегда. Однако его можно отключить. Сделать это можно в настройках, но поскольку все производители прячут этот механизм в разные сегменты настроек, искать его лучше всего поиском:

Поиск устройств поблизости что это

Отключать Обмен с окружением совсем необязательно

Стоит ли отключать Обмен с окружением

Поиск устройств поблизости что это

Nearby Sharing — очень удобная функция, и отключать её нет никакой нужды

Впрочем, отключать «Обмен с окружением» в принципе нет никакой необходимости по нескольким причинам:

В целом, «Обмен с окружением» — это очень удобная функция, которая позволяет быстро отправлять данные с устройства на устройство. В отличие от AirDrop, который явно выступил прототипом, «Обмен» от Google требует, чтобы пользователи находились друг перед другом в момент передачи данных, рекомендуя не разносить аппараты на расстояние дальше 30 см. То есть терроризировать вас картинками непристойного содержания случайные люди, скорее всего, не смогут. Поэтому бояться тут нечего. А поскольку «Обмен» не расходует трафик, то и экономить на его отключении нечего.

Поиск устройств поблизости что это

Новости, статьи и анонсы публикаций

Свободное общение и обсуждение материалов

Поиск устройств поблизости что это

Думаю, вы не раз видели в интернете рекламу или по крайней мере слышали о приложении WhatsApp+, WhatsApp Plus, или Ватсап плюс. Как его только не называют, но суть от этого не меняется. Условно говоря, это улучшенная модификация мессенджера, которая предлагает более широкий спектр возможностей, чем его оригинальная версия. Звучит круто, но означает ли это, что им стоит пользоваться? Попробую объяснить на пальцах, потому что именно от этого зависит ваша безопасность и сохранность вашей переписки.

Поиск устройств поблизости что это

В последнее время все больше пользователей обращает внимание на носимые устройства. Но если фитнес-браслет можно встретить у каждого второго владельца Android-девайса, то со смарт-часами все пока туго. Большинство считает, что такие гаджеты слишком дорогие, имеют плохую автономность и быстро устаревают. Думаю, что с недавним анонсом фишек Samsung Galaxy Watch 4 на более поздних устройствах от корейской компании все должно кардинально измениться. В статье предлагаю поговорить об умных часах от Samsung, обсудить новые фичи и решить, стоит ли вообще покупать подобные устройства в наше время.

Поиск устройств поблизости что это

В последние годы большое количество населения говорит о финансовой грамотности, инвестициях и прочих способов рационализировать свои доходы. Современные банковские приложения умеют считать статистику средств, однако часто она неточная и требует постобработки. В статье делимся советами по анализу своего бюджета и предлагаем вашему вниманию лучшие приложения для учета собственных финансов.

А опустить шторку и при необходимости включать или отключать? не?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *