Как проще всего подключить устройство к iPad из приложения?

Я работаю над крупным выпуском продукта для моей компании. Мы разрабатываем новое устройство, которое хотели бы интегрировать в приложение для iOS. (К вашему сведению, нас недавно приняли в программу Apple MFi, поэтому мы прошли этот шаг.)

Мы хотим создать аппаратно-программную экосистему, в которой наши пользователи смогут запускать наше приложение для iPad (да, оно предназначено для iPad, а не для устройств iPhone или iPod Touch), и приложение автоматически обнаружит и соединится с любым устройством. разработанное нами оборудование ближнего действия.

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

Есть ли способ закодировать автоматическое подключение к устройству Bluetooth из приложения iOS?

Я знаю о Core Bluetooth Framework, который имеет эту возможность, однако он работает только с новым iPhone 4S. Это не вариант.

Я также исследовал структуру внешних аксессуаров, которую можно использовать для подключения к внешним устройствам независимо от того, подключены ли они через порт iPod или Bluetooth. Это вариант, но, если я правильно понимаю, наше оборудование уже должно быть сопряжено с iPad, прежде чем программное обеспечение iOS сможет подключиться к нему. Это менее чем желательно, потому что, хотя многие из наших устройств могут не находиться в непосредственной близости в какой-то момент времени, наши клиенты потенциально могут владеть сотнями устройств, к которым они могут захотеть подключиться с помощью нашего программного обеспечения.

Каковы мои разумные варианты или альтернативы? Конечная цель — предоставить нашим пользователям очень простой способ подключения к нашим устройствам из нашего программного обеспечения на iPad.

ПРИМЕЧАНИЕ. Я НЕ ДОЛЖЕН делать джейлбрейк iPad или нарушать какие-либо соглашения Apple TOS.

ОБНОВЛЕНИЕ (3-7-2012) Сегодня я увидел, что «Новый iPad» (как он официально называется) будет Поддержка Bluetooth 4.0. Я предполагаю, что это означает, что это устройство iPad сможет использовать Core Bluetooth Framework. Это не решает мою проблему сразу, потому что мы хотим оставаться совместимыми, по крайней мере, с устройством iPad «последнего поколения», но на это стоит обратить внимание другим, кто может искать такой ответ.


person RLH    schedule 03.02.2012    source источник
comment
Интересно, получите ли вы какие-нибудь ответы, поскольку все это (как обычно) находится на условиях NDA. И логотип «Сделано для iPad»: он напоминает старые процессоры Intel 486 с надписью «Совместим с Windows» :-)   -  person ott--    schedule 04.02.2012
comment
Да, практически все, что вы можете сделать для разработки аппаратного обеспечения для устройства iOS, подпадает под действие соглашения о неразглашении. Однако в данном случае я говорю об общении с устройством из iOS. Я полагаю, что могут быть варианты, которые можно обсудить, потому что программное обеспечение, написанное для устройства iOS, не подпадает под действие соглашений MFi, поскольку они строго связаны с разработкой оборудования.   -  person RLH    schedule 04.02.2012
comment
Я немного модифицировал этот вопрос, чтобы было понятно, что я не ищу ответов, как это сделать с аппаратной стороны. Мой вопрос касается вариантов подключения программного обеспечения iOS. Что я могу сделать из своего проекта iOS, чтобы легко подключиться к оборудованию Bluetooth, которым я могу управлять.   -  person RLH    schedule 06.02.2012
comment
Я думал, что устройства Bluetooth всегда должны быть сопряжены; например, контроллеры PS3 и гарнитуры громкой связи.   -  person Almo    schedule 08.02.2012
comment
@Almo- Да, это правильно, но для сопряжения устройства BT с устройством iOS вы должны перейти на экран «Настройки» -> «Основные» -> «Bluetooth», найти устройство и нажать на него, чтобы инициировать подключение. Предполагая полный контроль над программным и аппаратным обеспечением подключения, вы можете автоматизировать весь этот процесс. Я ищу самый простой и легкий способ сделать это, чтобы этот процесс был максимально беспроблемным для наших клиентов, поскольку им, возможно, придется делать это довольно часто, особенно на нескольких устройствах iOS. Эта возможность доступна на iPhone 4S с устройствами Bluetooth LE.   -  person RLH    schedule 08.02.2012


Ответы (2)


Вы не можете подключить устройство iOS к устройству Bluetooth без предварительного сопряжения. Он специально создан Apple таким образом, чтобы уменьшить вероятность того, что кто-то может подключить устройство Bluetooth без ведома пользователя. Если сопряжение каждого устройства неприемлемо (и это звучит так), и вы не хотите разрабатывать ключ, единственный оставшийся путь, который я вижу, — это сделать ваши устройства способными передавать данные между ними, как в ячеистой сети. Таким образом, пользователю нужно будет выполнить сопряжение только с одним устройством, и это сопряженное устройство будет передавать данные между другими устройствами и iPad.

person RyanR    schedule 18.02.2012

Одной из ваших альтернатив может быть Wi-Fi (AdHoc или инфраструктура) с Bonjour. Например, вы сможете обнаружить устройство поблизости (если оно поддерживает собственный AdHoc, то по SSID; если оно находится в инфраструктурной сети, то по анонсируемой услуге). Одним из больших недостатков будет то, что вы не сможете подключиться напрямую (из приложения) к сети устройства — пользователю придется делать это вручную.

Что касается BT: большой недостаток - отсутствие последовательного протокола (не реализовано в iPhone/iPod/iPad).

person Rok Jarc    schedule 09.02.2012
comment
Нам нужен этот механизм Bluetooth в качестве вторичного средства связи по разным причинам. Аппаратное обеспечение, которое мы разрабатываем, может подключаться к локальной сети, что, собственно, и делает наша текущая версия продукта. Однако не у всех клиентов есть возможность подключить свои устройства к сети из-за физических ограничений, связанных с местоположением (Wi-Fi или проводная связь). Кроме того, это приложение будет иметь режим суперпользователя для наших специалистов службы поддержки. Они также будут использовать это или подобное приложение для подключения к нашим устройствам, устранения неполадок. Исходя из опыта, нашим специалистам нужны самые простые средства для подключения к этим устройствам. - person RLH; 09.02.2012
comment
Хорошо. Когда вы спрашивали об альтернативах, я не видел, что это должен быть BT. Проблема с устройствами iOS заключается в том, что они поддерживают (в лучшем случае) только профили HFP 1.5, PBAP, A2DP, AVRCP, PAN, HID (support.apple.com/kb/HT3647)... это все, что я могу сказать, не нарушая NDA - person Rok Jarc; 10.02.2012
comment
вы можете сделать устройство доступным для обнаружения через BT, а затем использовать аудиомодем BT (и модем в коде на стороне iOS), но это похоже на изобретение велосипеда - person Rok Jarc; 10.02.2012
comment
Другой вариант, который приходит на ум (поскольку вы уже являетесь членом MFi), заключается в разработке ключа для iPad. но вы, вероятно, пытаетесь избежать этого варианта - person Rok Jarc; 10.02.2012
comment
Да, ключ тоже менее чем предпочтителен. Представьте, наши устройства могут быть в закрытых шкафах или даже в потолках, за акустическими плитами. Все они будут доступны, но часть преимуществ Bluetooth для нас заключается в том, что вам не нужно прикасаться к устройству. - person RLH; 10.02.2012
comment
Вы упомянули встроенный модем. Это может быть сложно реализовать, но если это решит проблему, я хотел бы узнать больше. Я понятия не имею, о чем ты говоришь. Может быть, у вас есть какая-нибудь дополнительная информация? - person RLH; 10.02.2012
comment
У меня никогда не было времени по-настоящему вникать в это. Но то, что я имею в виду, это аудиозамена BT для профиля последовательного порта: на аппаратной стороне вы имеете дело с аудиосигналами от модуля BT (FSK или аналогичный модем) - на стороне iOS вы делаете то же самое, но в коде... Что касается ключа, это не обязательно, что вы должны подключиться к устройству по проводу. Dongle будет физически подключен к iPad и по беспроводной сети (может быть BT SPP) к вашему устройству. Не забывайте: ни о каких закрывающихся (металлических, заглубленных или нет) чуланах не может быть и речи ни при каких РЧ. - person Rok Jarc; 10.02.2012
comment
Dongle будет физически подключен к iPad и по беспроводной сети (может быть BT SPP) к вашему устройству. Хорошая точка зрения. Я должен посмотреть, если это вариант, но это может быть я скептик. Как всегда, стоимость оборудования также очень важна. Если внешний модуль BT для iPad будет стоить слишком дорого (а я предполагаю, что так оно и будет), то он будет списан. В конечном счете, эти вопросы - что-то вроде приветствия. Мы хотим, чтобы это было чертовски просто, но если мы должны проинструктировать наших клиентов перейти к чертовому экрану настроек, чтобы связать их iPad со своими устройствами, то это то, что мы сделаем. Это немного неприятно. - person RLH; 10.02.2012
comment
Пришло время создать петицию для Apple о внедрении профиля последовательного порта BT :) - person Rok Jarc; 10.02.2012