Steruj urządzeniem audio Bluetooth za pomocą iPhone'a

Szukam napisać aplikację na iPhone'a, która będzie mogła sterować radiem i odtwarzaczem CD w samochodzie. Radio i odtwarzacz mają połączenie Bluetooth.

Zacząłem to pytanie, aby uzyskać wszystkie informacje, których potrzebuję dla tego jednego miejsca. Mam kilka pytań, ale jeśli znajdziesz coś, o co nie poprosiłem, zacznę opracowywać tę aplikację, daj mi znać.

Przeczytałem o profilu AVRCP, a urządzenie Bluetooth w samochodzie obsługuje AVRCP 1.3, co jest dla mnie wystarczające, mając na uwadze kontrole, które można wykonać w tej wersji protokołu.

Czytałem dużo o ludziach mówiących, że „urządzenie Apple może oddziaływać tylko ze sobą”, „urządzenia Apple nie można połączyć przez Bluetooth z urządzeniem innym niż Apple”, „program MFi jest obowiązkowy, jeśli chcesz to zrobić”, „MFi nie jest potrzebne ”itd. Moje pierwsze pytanie brzmi:

1) Czy jest nawet możliwe sparowanie iPhone'a (4, 4S) z radiem i odtwarzaczem CD w samochodzie za pomocą Bluetooth i sterowanie stacjami radiowymi i muzyką za pomocą dowolnej wersji iPhone'a? Jeśli tak, jakie są ograniczenia dotyczące tego rodzaju udanego połączenia Bluetooth?

Istnieje również bardzo niewiele informacji na temat ról, w których iPhone może działać. W przypadku AVRCP istnieją dwa rodzaje ról: kontroler i rola docelowa. Czytając ten artykuł:https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf Nie znalazłem odpowiedzi na moje drugie pytanie:

2) Czy iPhone może działać jako kontroler i wydawać wszystkie dostępne polecenia określone w AVRCP 1.3 na urządzenie docelowe (radio i odtwarzacz CD)?

Chciałbym również wiedzieć o dostępnych ramach dla tego konkretnego problemu. Wiem, że jest ich kilka, ale jeśli ktoś rozpozna odpowiedni dla mojego problemu, chciałbym wiedzieć:

3) Których ram do interakcji z urządzeniem docelowym powinienem używać?

Z punktu widzenia programisty interesują mnie również dostępne interfejsy API do interakcji z podłączonym urządzeniem Bluetooth. Odkąd tworzę własną aplikację i przypisuję akcje do przycisków, wewnątrz metod przypisanych do przycisków muszę wykonać wysyłanie wiadomości do urządzenia docelowego. Moje następne pytanie brzmi:

4) Czy ktoś wie, w jaki sposób można wysłać polecenia do urządzenia docelowego (start / stop / pauza / do przodu / do tyłu itp.) W ramach niektórych funkcji API dostarczonych w XCode lub każdej wiadomości, w której uczestniczę, aby wysłać przez Bluetooth do celu urządzenie, które muszę wykonać zgodnie z dokumentacją protokołu (samodzielnie wykonać całą wiadomość (nagłówek, treść, część polecenia itp.)?

AVRCP był moim pomysłem na wykonanie tej aplikacji. Jeśli się mylę, daj mi znać. Bluetooth ma różne profile i kiedy wiadomość jest wysyłana z jednego urządzenia, o ile mi wiadomo, sam profil obsługuje wiadomości i interpretuje je i dostarcza do urządzenia docelowego, aby urządzenie docelowe mogło je zrozumieć. Nie rozumiem, w jaki sposób wiadomość wysyłana z iPhone'a do docelowego urządzenia Bluetooth jest obsługiwana od momentu wysłania go z mojego kodu Objective-C (lub C). To jest główna wątpliwość, którą mam i wiąże się z pytaniem 4 -czy muszę wysyłać nieprzetworzone wiadomości we właściwym formacie, aby wysyłać polecenia AVRCP do urządzenia, czy też mogę użyć API, które rozpozna te wiadomości jako AVRCP (lub inny rodzaj) i dostarczy je do urządzenia docelowego?

To ostatnie pytanie (jeśli przypuszczam, że istnieje jakakolwiek pozytywna odpowiedź na wszystkie poprzednie) dotyczy mnie najbardziej z punktu widzenia programisty. Tak więc, jeśli ktoś może mieć doświadczenie z tym konkretnym problemem, doceniłbym każdy rodzaj odpowiedzi lub porady.

Naprawdę czekam na twoje odpowiedzi. Mam nadzieję, że na ten temat rozpocznie się konstruktywna i użyteczna dyskusja oraz że zostanie napisanych wiele przydatnych informacji.

Z poważaniem.

questionAnswers(2)

yourAnswerToTheQuestion