2009-06-30 3 views
27

Я пытаюсь выяснить, может ли iPhone подключиться к другому устройству, отличному от iPhone, по беспроводной или Bluetooth, и увидел противоречивую информацию. Многое из того, что я нашел, было до выхода версии 3.0 SDK, когда это было невозможно. Глядя на Stack   Вопросы переполнения, например Can the iPhone 3.0 SDK provide full access to Bluetooth devices (headsets)? упоминание о том, что вы не можете подключиться к произвольному устройству, если это не часть устройства «Работает для iPhone». Нужно ли мне оборудование, входящее в эту программу?Как iPhone может подключиться к другому устройству, отличному от iPhone, через беспроводную или Bluetooth?

Просматривая документацию Apple, Peer-to-Peer Connectivity, упоминается подключение двух iPhone, а не iPhone к другому устройству Bluetooth. Тогда есть такие статьи, как iPhone SDK focus: Bluetooth enhancements, который включает эту цитату

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

Другой Stack Overflow   вопрос, GameKit in iPhone SDK 3.0, упоминает Bonjour и the Apple documentation for Bonjour переговоры о подключении к устройствам Bonjour, но может ли iPhone подключиться к любому устройству Bonjour? Нужно ли иметь Wi-Fi-соединение или использовать Bluetooth?

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

ответ

12

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

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

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

+0

Спасибо за информацию - чем больше я читаю, тем больше я думал, что Bluetooth не будет жизнеспособным вариантом, если только устройства не находятся в программе Made for iPod. Что касается Bonjour, iPhone/iTouch должен быть в беспроводной сети, чтобы обнаружить устройство Bonjour? Существуют ли ограничения по диапазону для Bonjour, или это именно тот диапазон, на который может транслироваться другое устройство? –

+0

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

+1

Нет, iPhone не должен быть в сети Wi-Fi: он будет использовать * любое * сетевое устройство, доступное в системе, в частности: Bluetooth. Для iOS6 и далее Apple отключает BT-поиск Bonjour по умолчанию (объяснение Apple (оправдание) для этого изменения и официальные инструкции обхода https://developer.apple.com/library/ios/qa/qa1753/_index. HTML # // apple_ref/DOC/UID/DTS40011315) – Adam

1

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

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

+0

Извините за многие вопросы - основная проблема заключается в том, может ли iPhone подключиться к произвольному устройству. Например, если приложение предназначено для чтения электрических счетчиков, я хотел бы иметь возможность ходить в комнату и подключаться к любому данному счетчику, не зная ничего о конкретном счетчике (идентификатор Bluetooth, IP-адрес и т. Д.). Кажется, что это возможно с Bonjour (если счетчики поддерживают протокол), но не Bluetooth. Это верно? Чтобы подключиться к другому устройству Bonjour, iPhone должен быть в беспроводной сети или подключен через Bluetooth? Это не похоже. –

+0

Если я правильно понимаю, вы спрашиваете, как получить список всех счетчиков Bluetooth в пределах вашего iphone? Я знаю, что устройства Bluetoth могут автоматически открывать друг друга, но я не думаю, что они используют Bonjour (Zeroconf) для этого. Я уверен, что сам протокол является специфичным для Bluetooth. Это звучит как довольно классный проект! –

+0

Возможно, вам захочется инвестировать время в инфраструктуру внешнего аксессуара, выпущенную с помощью 3.0 –

0

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

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

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

См. Также Apple's page on iPhone OS accessories.

+1

Все это устройства «Сделано для iPhone». Это единственный способ подключения к устройству Bluetooth? Кроме того, согласно [документации Apple] (http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/GameKit_Guide/GameKitConcepts/GameKitConcepts.html#//apple_ref/doc/uid/TP40008304-CH100- SW1), сеть Bluetooth не поддерживается на оригинальном iPhone или iPod Touch первого поколения. Он также не поддерживается в Simulator. –

+0

Эта ссылка на аксессуары для iPhone OS, похоже, испортилась. – ThomasW

Смежные вопросы