Как iPhone может получить доступ к другому устройству, отличному от iPhone, по беспроводной сети или Bluetooth?

Я пытаюсь выяснить, может ли iPhone подключаться к другому устройству, отличному от iPhone, по беспроводной сети или Bluetooth, и обнаружил противоречивую информацию. Многое из того, что я обнаружил, было до того, как вышла версия SDK 3.0, когда это определенно было невозможно. Рассмотрение вопросов о переполнении стека, например Может ли iPhone 3.0 SDK обеспечить полный доступ к устройствам Bluetooth (гарнитурам)? упомянуть, что вы не можете подключиться к произвольному устройству, если оно не является частью устройства" Works for iPhone ". Требуется ли оборудование, входящее в эту программу?

Просматривая документацию Apple, Одноранговое соединение, в нем упоминается подключение двух iPhone, а не iPhone к другому устройству Bluetooth. Затем есть такие статьи, как iPhone SDK В центре внимания: усовершенствования Bluetooth, в которые включена эта цитата

... и с недавно объявленной «стандартной поддержкой» должна разрешить передачу файлов между iPhone и компьютером, а также между ближайшими iPhone

Еще один вопрос о переполнении стека, GameKit в iPhone SDK 3.0 , упоминается Bonjour и в документации Apple по Bonjour говорится о подключении к устройствам Bonjour, но может ли iPhone подключиться к любому устройству Bonjour? Должен ли он иметь соединение Wi-Fi или он может использовать Bluetooth?

Я считаю, что даже если бы я мог использовать Bluetooth для подключения к другому устройству, он не был бы доступен на iPhone и iTouches первого поколения. Это правильно? Я думаю о приложении для iPhone, которое должно было бы взаимодействовать с другими устройствами, не относящимися к iPhone, в этом районе, возможно, с использованием Bluetooth, но, возможно, с прямым беспроводным подключением. Каковы возможности и ограничения этого подхода? Разве нельзя подключить iPhone к произвольному устройству Bluetooth? Должно ли другое устройство быть в беспроводной сети Bonjour? Я пытаюсь понять, возможно ли это вообще, или это не стоит усилий.


person Tai Squared    schedule 30.06.2009    source источник


Ответы (3)


Единственный способ связи с другими устройствами Bluetooth через Внешние аксессуары в iPhone OS 3.0, если они находятся в Программа" Сделано для аксессуаров iPod ". Несмотря на то, что они обмениваются данными через стандартные соединения Bluetooth, аксессуары нуждаются в специальном оборудовании для обработки потока данных, поступающего с iPhone / iPod touch. К сожалению, это означает, что ваша идея связи с обычными устройствами Bluetooth не будет работать на iPhone OS 3.0.

Если устройства, с которыми вы хотите разговаривать, обнаруживаются с помощью Bonjour через Wi-Fi, они не Не обязательно участвовать в программе Сделано для iPod. Однако это не похоже на ваш случай.

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

person Brad Larson    schedule 30.06.2009
comment
Спасибо за информацию - чем больше я читаю, тем больше я думал, что Bluetooth не будет жизнеспособным вариантом, если устройства не включены в программу «Сделано для iPod». Что касается Bonjour, должен ли iPhone / iTouch быть в беспроводной сети, чтобы обнаружить устройство Bonjour? Есть ли какие-либо ограничения диапазона для Bonjour, или это просто диапазон, на который другое устройство может транслировать? - person Tai Squared; 01.07.2009
comment
Bonjour - это просто протокол обнаружения, поэтому его диапазон не зависит от диапазона вашей сети. Он предназначен для использования в локальной сети, так что в значительной степени означает, что iPhone должен быть в сети Wi-Fi. Однако сами устройства могут быть подключены к сети или подключены к сети другими способами. - person Brad Larson; 01.07.2009
comment
Нет, iPhone не обязательно должен быть в сети Wi-Fi: он будет использовать любое сетевое устройство, доступное в системе, в частности: Bluetooth. Для iOS6 и более поздних версий Apple по умолчанию отключает поиск BT для Bonjour (объяснение Apple (извинение) для выполнения этого критического изменения и официальные инструкции по обходному пути developer.apple.com/library/ios/qa/qa1753/_index.html # //) - person Adam; 24.10.2013

Вы можете использовать NSStream для открытия IPv4 / IPv6 на iPhone. Устройства, к которым вы подключаетесь, не обязательно должны быть iPhone или обязательно использовать Wi-Fi. Из-за того, как построены протоколы сетевой связи, вам просто не нужно заботиться о том, с каким устройством взаимодействует ваш iPhone.

Bonjour, с другой стороны, внутренне использует NSStream. По сути, это изящная маленькая оболочка, которая позволяет автоматически обнаруживать. Вам необходимо установить протокол Bonjour на всех устройствах, которые вы хотите участвовать в процессе автоматического обнаружения. Есть даже реализация для Windows.

person Andrei Tanasescu    schedule 30.06.2009
comment
Приносим извинения за многие вопросы - основная проблема заключается в том, может ли iPhone подключиться к произвольному устройству. Например, если приложение предназначено для считывания показаний электросчетчиков, я хотел бы иметь возможность войти в комнату и подключиться к любому данному счетчику, ничего не зная о конкретном счетчике (идентификатор Bluetooth, IP-адрес и т. Д.). Похоже, это было бы возможно с Bonjour (если бы счетчики поддерживали протокол), но не с Bluetooth. Это правильно? Чтобы подключиться к другому устройству Bonjour, нужно ли, чтобы iPhone был подключен к беспроводной сети или через Bluetooth? Не похоже. - person Tai Squared; 30.06.2009
comment
Если я правильно понимаю, вы спрашиваете, как получить список всех счетчиков bluetooth в пределах досягаемости вашего iphone? Я знаю, что устройства Bluetoth могут автоматически обнаруживать друг друга, но не думаю, что они используют для этого Bonjour (Zeroconf). Я почти уверен, что сам протокол специфичен для bluetooth. Звучит как классный проект! - person Andrei Tanasescu; 01.07.2009
comment
Возможно, вы захотите потратить время на платформу внешних аксессуаров, выпущенную в версии 3.0. - person Andrei Tanasescu; 01.07.2009
comment
Да, я хочу найти все Bluetooth-устройства в радиусе действия и отправлять данные туда и обратно. Основываясь на документации Apple, похоже, что вы можете подключаться только к другим iPhone, но вы говорите, что он может автоматически обнаруживать другие устройства. Это правда? - person Tai Squared; 01.07.2009

В рамках пакета SDK для iPhone OS 3.0 Apple объявила о возможности управления аппаратными аксессуарами через Bluetooth или разъем док-станции. Соединитель док-станции поддерживает стандартные протоколы (то есть воспроизведение, пауза и т. Д.), А также любые настраиваемые протоколы, которые разработчик хочет реализовать.

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

Что касается устройств, поддерживающих связь Bluetooth, все, кроме iPod Touch первого поколения, должно быть в порядке.

См. Также страницу Apple об аксессуарах для iPhone OS.

person zpesk    schedule 30.06.2009
comment
Все они созданы для устройств iPhone. Это единственный способ подключиться к устройству Bluetooth? Кроме того, согласно документация Apple, сеть Bluetooth не поддерживается на исходном iPhone или iPod Touch первого поколения. Это также не поддерживается в Simulator. - person Tai Squared; 01.07.2009
comment
Эта ссылка на аксессуары для iPhone OS, похоже, испортилась. - person ThomasW; 21.01.2015