Комментарии 45
Любопытный метод, я только не уловил один момент: каким образом вы анализируете «похожесть» двух сэмплов, если два устройства могут записать звук с неким рассинхроном по времени? Одно устройство может начать запись в момент N, а второе (в силу разных причин — поздно нажали кнопку, или устройство подвисло, или еще что, и получается момент N + k). Как их засинхронить для сравнения? Также, правильно ли я понимаю, что понять дистанцию друг от друга при таком методе позиционирования — довольно проблематичная задача?
+3
автор поправит, но как я понимаю, постоянно делается отпечаток куска времени и отправляется на сервер(тогда будет работать история про «пользователи молча ждут обнаружения секунд 10, после чего один из них говорит что-то вроде “Это не работает!”. Эта фраза работает как заклинание и через секунду устройства обнаруживают друг-друга. » )
по моему не решаемая «дистанцию друг от друга», но это и логично, цель сего: нужно с высокой долей вероятности доказать что устройства находятся в одном помещении\пространстве
по моему не решаемая «дистанцию друг от друга», но это и логично, цель сего: нужно с высокой долей вероятности доказать что устройства находятся в одном помещении\пространстве
0
Верно. В начале работы мы синхронизируем локальное время с серверным. Отпечатки генерируются в реальном времени и отправляются на сервер вместе с точным временем записи исходного звука.
Понять расстояние таким образом не получится, да.
Понять расстояние таким образом не получится, да.
0
Наверное, я немного не так выразился по поводу синхронизации. Я понимаю, что каждый сэмпл маркируется некой меткой времени, я о другом: как часто пишутся сэмплы, чтобы достичь хорошего качества позиционирования, но при этом не разрядить в ноль батарею и не забить до отказа свободное пространство на «диске»? Каждую секунду, каждые 10 секунд? И насколько длинными вы решили делать сэмплы, чтобы получалось с высокой точностью выполнять позиционирование, не расходуя тонну мегабайт свободного места? Допустим, если я от пользователя получаю 100 сэмплов с метками времени, и от другого ту же сотню, то потом я отброшу все сэмплы, не совпадающие по серверному времени, и проанализирую только те, что засинхронены. Верно же? А вот интервал какой между записью?
0
SDK позволяет запустить и остановить поиск когда угодно. Когда поиск запущен — звук пишется постоянно, хэшируется и отправляется на сервер в реальном времени, не занимает место на «диске» устройства.
В нашем приложении поиск запускает сам пользователь, и он автоматически прекращается при сворачивании/закрытии приложения. По потреблению аккумулятора точных замеров нет. Алгоритм нагружает CPU Snapdragon 430 примерно на 3-4%.
В нашем приложении поиск запускает сам пользователь, и он автоматически прекращается при сворачивании/закрытии приложения. По потреблению аккумулятора точных замеров нет. Алгоритм нагружает CPU Snapdragon 430 примерно на 3-4%.
0
Я так понимаю запись происходит не в течении какого-то фиксированного времени, а пока не найдутся совпадения. То есть первый может начать записывать, второй начнет через какой-то промежуток времени и найдут они друг друга только при записи чего-то общего. Соответственно у первого побольше времени уйдет.
Что касается дистанции, то если я правильно понял, то вычисление дистанции не нужно и поиск направлен на людей которые уже знакомы и находятся в непосредственной близости. Главная задача просто понять, что другой человек находится в зоне совпадения звуков.
Что касается дистанции, то если я правильно понял, то вычисление дистанции не нужно и поиск направлен на людей которые уже знакомы и находятся в непосредственной близости. Главная задача просто понять, что другой человек находится в зоне совпадения звуков.
0
iOS сканирует только BLE для обнаружения iOS, т.к. сканирование Bluetooth-устройств невозможно с помощью публичного API.
Насколько актуальна эта информация? Есть какое-то подтверждение из внешних источников?
0
Информация актуальна для iOS 11. Есть два способа работать с BT: Core Bluetooth framework, который позволяет работать только с BLE и External Accessory framework, который позволяет обнаруживать только MFI устройства
0
попробовал написать программу, которая светит 32 байтной строкой по BLE в peripherial mode на андроиде. IOs при сканировании видит эту строку без проблем.
Использовалась библиотека github.com/omergul/Discovery
Тесть нет проблемы идентифицировать 2 девайса iOS/android, android/android, iOS/iOS по этой строке. Выглядит гораздо менее енергозатратно. Да и проще в разработке.
Использовалась библиотека github.com/omergul/Discovery
Тесть нет проблемы идентифицировать 2 девайса iOS/android, android/android, iOS/iOS по этой строке. Выглядит гораздо менее енергозатратно. Да и проще в разработке.
0
К сожалению, очень многие Android-устройства не поддерживают BLE peripherial mode. Здесь можно посмотреть статистику на эту тему.
В ОС поддержка добавлена начиная с Android 5 (уже теряем около 15% пользователей), в железе/firmware эта возможность тоже реализована не везде.
Именно поэтому в Google Nearby используется обычный Bluetooth для поиска Android-Android.
В ОС поддержка добавлена начиная с Android 5 (уже теряем около 15% пользователей), в железе/firmware эта возможность тоже реализована не везде.
Именно поэтому в Google Nearby используется обычный Bluetooth для поиска Android-Android.
0
Еще бы совместили свой вариант со звуковым методом — если детектируется тишина в течение пары секунд — одно (или даже оба) из устройств генерирует какой-нибудь звук.
+3
Вот-вот, у меня вопрос — а почему просто не проиграть что-то уникальное на одном устройстве и найти это на других?
По крайней мере это будет вызывать меньше параноидальных подозрений… не люблю, когда на моем телефоне вдруг зажигается иконка доступа к звуку-видео просто так.
По крайней мере это будет вызывать меньше параноидальных подозрений… не люблю, когда на моем телефоне вдруг зажигается иконка доступа к звуку-видео просто так.
0
А как же QR-код? Вряд ли сейчас есть телефоны без камеры.
+1
Для нашего приложения важно уметь быстро объединять множество людей. Причем, эти люди не всегда находятся на расстоянии для сканирования QR, например, слушатели доклада на конференции. QR-код позволяет объединять устройства попарно, чем больше людей — тем больше времени будет потрачено.
Для сценариев, где нужно объединить только 1 пару пользователей, QR-код может быть удобен.
Для сценариев, где нужно объединить только 1 пару пользователей, QR-код может быть удобен.
0
А если, допустим, мы с другом на расстоянии, скажем, 10 км, смотрим одну и ту-же телепередачу?
Да, сценарий средней реалистичности, но всё-же. Время одно и то-же, звук одинаковый.
Да, сценарий средней реалистичности, но всё-же. Время одно и то-же, звук одинаковый.
0
В очень редких случаях. Дело в том, что каждый провайдер и оборудование даже в рамках города вносит различные задержки в вещании, по нашему опыту от 5 до 30 секунд.
Это возможно, если вы оба смотрите радиовещение (без задержек), а посторонних звуков мало.
Способ решить эту проблему у нас уже есть, но пока пользователей не так много — он не имеет смысла.
Это возможно, если вы оба смотрите радиовещение (без задержек), а посторонних звуков мало.
Способ решить эту проблему у нас уже есть, но пока пользователей не так много — он не имеет смысла.
0
Простая и классная идея, супер! Вы берёте хэш от спектрограммы или от исходного сигнала?
0
Если в МакДональдсе несколько пар решили только попарно соединиться и пересеклись во времени включения, все соединятся?
0
Зависит от. Если громко играет фоновая музыка, то пользователи соеднятся. Но естественный шум в людном месте обычно очень изменчив. На расстоянии 5 метров может быть уже другой.
Более яркий пример — концерт или выступление. Когда один источник звука гораздо громче остальных — все пользователи будут соединены.
Мы пробовали использовать приложение на конференции — голос спикера очень быстро соединяет всех в зале и это было то, чего ожидали пользователи.
С точки зрения UX мы считаем, что нужно дать пользователю выбор или подтвердить действие «соединения».
Более яркий пример — концерт или выступление. Когда один источник звука гораздо громче остальных — все пользователи будут соединены.
Мы пробовали использовать приложение на конференции — голос спикера очень быстро соединяет всех в зале и это было то, чего ожидали пользователи.
С точки зрения UX мы считаем, что нужно дать пользователю выбор или подтвердить действие «соединения».
0
НЛО прилетело и опубликовало эту надпись здесь
Реализацию алгоритма (и данные нейросетей или коэффицентов в формулах, которые используются) ожиается закрытой? не собираетесь открывать ее на публику?
Такие вещи, по мне, так должны быть в операционных системах по умолчанию желательно без завязки на сервер (кроме как ради точного времени).
Такие вещи, по мне, так должны быть в операционных системах по умолчанию желательно без завязки на сервер (кроме как ради точного времени).
0
Не уверен, что тут можно постить ссылки, но вот ссылка на технологию Resonance www.getresonance.net и приложение DROP, которое ее использует www.getdrop.net
+1
Хабр мотивирует!)
+1
− работает на слишком малых расстояниях
А это минус?
Почему вы этот минус у бампа не написали? Там то вообще надо стукнуть телефоны друг о друга.
По сути это бамп только для кучи устройств сразу и без необходимости долбить телефоны друг о друга.
0
Гениально, правда. Всяческих успехов и обязательно защититесь патентами со всех сторон.
0
Обнаружен смартфон Apple Iphone X. Примерное расположение- левый карман куртки справа стоящего человека.
А если серьезно, то я бы подождал пока nfc пойдет в массы и уже с этой технологией организовывал чаты.
А если серьезно, то я бы подождал пока nfc пойдет в массы и уже с этой технологией организовывал чаты.
0
Триангуляция оперирует углами, коих по понятным причинам нет в случае определения координат по базовым станциям и Wi-Fi.
На самом деле в таких случаях используется трилатерация.
На самом деле в таких случаях используется трилатерация.
0
НЛО прилетело и опубликовало эту надпись здесь
Что на счет штрихкода?
Вася нажимает кнопку показать штрихкод.
Петя, Таня, Оля, делают фотку дивайса с штрихкодом и с отправлением на сервер,
5- 10 сек и все в группе.
ps
Юзайте на здоровье.
Вася нажимает кнопку показать штрихкод.
Петя, Таня, Оля, делают фотку дивайса с штрихкодом и с отправлением на сервер,
5- 10 сек и все в группе.
ps
Юзайте на здоровье.
0
Очень круто, жаль что вы вероятно нарушаете патенты www.getresonance.net, хотя очень бы хотелось бы увидеть вашу реализацию в опенсоурс.
0
Мы и есть www.getresonance.net :-)
+1
<del/>
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как мы разработали технологию обнаружения устройств поблизости