Поиск рядом с iOS-устройствами - PullRequest
2 голосов
/ 08 декабря 2011

Я хотел бы знать, возможно ли использовать уровень сигнала между устройствами iOS, чтобы определить, что ближе, и перечислить их таким образом?По сигналу мы смотрим на Bluetooth, Wi-Fi или сотовую связь.По сути, конечная цель - предоставить пользователю 3 ближайших устройства.Является ли это возможным?и если да, может кто-нибудь указать мне правильное направление, какую технологию использовать с некоторыми ссылками / ссылками на документацию, если таковые имеются.

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

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

Руководство по программированию GameKit - одноранговые соединения

0 голосов
/ 08 декабря 2011

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

Отправьте сообщение на другое устройство, запишите, сколько миллисекунд (наносекунд?) Потребовалось, чтобы ответить. Самым быстрым ответом будет ближайшее устройство.

Почти все протоколы связи распространяются с (приблизительно) скоростью света. Таким образом, вы можете разделить количество времени, затрачиваемое на получение отклика связи, на скорость света для расчета расстояния.

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

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

РЕДАКТИРОВАТЬ: Другая возможность - воспроизвести звук на одном устройстве и прослушать этот же звук на других устройствах. Скорость звука намного ниже скорости света, поэтому может работать лучше. Я не уверен, насколько хорош микрофон iPhone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...