Управление аудиоустройством Bluetooth с помощью iPhone

Я хочу написать приложение для iPhone, которое сможет управлять радио и CD-плеером в машине. Радио и плеер имеют соединение Bluetooth.

Я начал этот вопрос, чтобы получить всю информацию, которая мне нужна для этого одного места. У меня есть несколько вопросов, но если вы найдете что-то, что я не просил, важно для начала разработки этого приложения, пожалуйста, дайте мне знать.

Я читал о профиле AVRCP, и устройство Bluetooth в автомобиле поддерживает AVRCP 1.3, чего мне достаточно, учитывая элементы управления, которые можно выполнять в этой версии протокола.

Я много читал о людях, которые говорят: «Устройства Apple могут взаимодействовать только друг с другом», «Устройства Apple не могут быть подключены через Bluetooth к устройствам, отличным от -Apple», «Программа MFi обязательна, если вы хотите это сделать», "МФИ не нужен" и т.п. Мой первый вопрос:

1 )Можно ли вообще связать iPhone (4, 4S )с радио и проигрывателем компакт-дисков в автомобиле по Bluetooth и управлять радиостанциями и музыкой с любой версии iPhone? Если да, то каковы ограничения для создания такого успешного соединения Bluetooth?

Также очень мало информации о ролях, в которых может работать iPhone. Для AVRCP существует два типа ролей :контроллер и целевая роль. Читая эту статью:https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdfНе нашел ответа на второй вопрос:

2 )Может ли iPhone выступать в качестве контроллера и выдавать все доступные команды, указанные в AVRCP 1.3, на целевое устройство (, радиоприемник и проигрыватель компакт-дисков )?

Я также хотел бы знать о доступных фреймворках для этой конкретной проблемы. Я знаю, что их несколько, но если кто-нибудь узнает правильный для моей проблемы,Я хотел бы знать:

3 )Какую структуру для взаимодействия с целевым устройством следует использовать?

С точки зрения разработчика меня также интересуют доступные API для взаимодействия с подключенным Bluetooth-устройством. Поскольку я создаю собственное приложение и назначаю действия кнопкам, внутри методов, назначенных кнопкам, мне нужно выполнить отправку сообщения на целевое устройство. Итак, мой следующий вопрос:

4 )Кто-нибудь знает, как, если есть способ отправки команд на целевое устройство (запуск/остановка/пауза/вперед/назад и т. д. )как часть некоторого API, предоставленного в XCode, или каждое сообщение, которое я посещаю для отправки через Bluetooth на целевое устройство мне нужно сделать в соответствии с документацией протокола (сделать весь заголовок сообщения (, тело, командную часть и т. д. )самостоятельно )?

AVRCP был моей идеей для выполнения этого приложения. Если я ошибаюсь, пожалуйста, дайте мне знать. Bluetooth имеет разные профили, и когда сообщение отправляется с одного устройства, насколько я понимаю, сам профиль обрабатывает сообщение, интерпретирует его и доставляет на целевое устройство, чтобы целевое устройство могло его понять. Я не понимаю, как обрабатывается сообщение, отправленное с iPhone на целевое устройство Bluetooth, с момента его отправки из моего кода Objective -C (или C ). Это главное сомнение, которое у меня есть, и оно связано с вопросом 4-нужно ли мне создавать необработанные сообщения в правильном формате, чтобы отправлять команды AVRCP на устройство, или я могу использовать какой-либо API, который распознает эти сообщения как AVRCP (или любой другой тип )и доставляет их на целевое устройство?

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

Я действительно с нетерпением жду ваших ответов.Надеюсь, что на эту тему начнется конструктивная и полезная дискуссия и будет написано много полезной информации.

С наилучшими пожеланиями.

5
задан uerceg 3 July 2012 в 11:28
поделиться