Steuern Sie das Bluetooth-Audiogerät mit dem iPhone

Ich bin auf der Suche, eine Anwendung für das iPhone zu schreiben, mit der sich Radio und CD-Player im Auto steuern lassen. Radio und Player verfügen über eine Bluetooth-Verbindung.

Ich habe diese Frage gestartet, um alle Informationen zu erhalten, die ich für diesen einen Ort benötige. Ich habe einige Fragen, aber wenn Sie etwas finden, das ich nicht unbedingt gefragt habe, um mit der Entwicklung dieser Anwendung zu beginnen, lassen Sie es mich wissen.

Ich habe über das AVRCP-Profil gelesen, und das Bluetooth-Gerät im Auto unterstützt AVRCP 1.3, was für mich gut genug ist, unter Berücksichtigung der Kontrollen, die in dieser Protokollversion durchgeführt werden können.

Ich habe viel über die Leute gelesen, die sagten "Apple-Gerät kann nur miteinander interagieren", "Apple-Gerät kann nicht über Bluetooth mit Nicht-Apple-Gerät verbunden werden", "MFi-Programm ist obligatorisch, wenn Sie das tun wollen", "MFi wird nicht benötigt ", etc. Meine erste Frage ist:

1) Ist es überhaupt möglich, das iPhone (4, 4S) mit Radio und CD-Player im Auto über Bluetooth zu koppeln und Radiosender und Musik mit jeder iPhone-Version zu steuern? Wenn ja, wo liegen die Einschränkungen für eine erfolgreiche Bluetooth-Verbindung?

Es gibt auch nur sehr wenige Informationen zu Rollen, in denen das iPhone funktionieren kann. Für AVRCP gibt es zwei Arten von Rollen: Controller- und Zielrolle. Durch das Lesen dieses Papiers:https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf Ich habe keine Antwort auf meine zweite Frage gefunden:

2) Kann das iPhone als Controller fungieren und alle in AVRCP 1.3 angegebenen verfügbaren Befehle an das Zielgerät (Radio und CD-Player) senden?

Ich würde auch gerne wissen, welche Frameworks für dieses spezielle Problem verfügbar sind. Ich weiß, dass es mehrere von ihnen gibt, aber wenn jemand die richtige für mein Problem erkennt, würde ich gerne wissen:

3) Welches Framework für die Interaktion mit dem Zielgerät soll ich verwenden?

Aus Entwicklersicht interessiere ich mich auch für verfügbare APIs für die Interaktion mit verbundenen Bluetooth-Geräten. Da ich meine eigene Anwendung erstelle und Schaltflächen Aktionen zuordne, muss ich innerhalb der den Schaltflächen zugewiesenen Methoden das Senden von Nachrichten an das Zielgerät ausführen. Meine nächste Frage lautet also:

4) Weiß jemand, wie es möglich ist, Befehle an das Zielgerät zu senden (Start / Stopp / Pause / Vorwärts / Rückwärts usw.) als Teil einer in XCode bereitgestellten API oder jeder Nachricht, die ich über Bluetooth an das Zielgerät sende Gerät muss ich laut Protokolldokumentation machen (ganze Nachricht (Header, Body, Befehlsteil, etc) selber machen)?

AVRCP war mein Gedanke für diese Anwendung. Wenn ich falsch liege, lassen Sie es mich bitte wissen. Bluetooth hat unterschiedliche Profile. Wenn eine Nachricht von einem Gerät gesendet wird, verarbeitet das Profil die Nachricht, interpretiert sie und sendet sie an das Zielgerät, damit das Zielgerät sie verstehen kann. Ich verstehe nicht, wie eine vom iPhone an ein Bluetooth-Zielgerät gesendete Nachricht behandelt wird, sobald ich sie von meinem Objective-C- (oder C-) Code aus sende. Das ist der Hauptzweifel, den ich habe und der mit Frage 4 zusammenhängt -Muss ich RAW-Nachrichten im richtigen Format erstellen, um AVRCP-Befehle an das Gerät zu senden, oder kann ich eine API verwenden, die diese Nachrichten als AVRCP (oder eine andere Art) erkennt und an das Zielgerät übermittelt?

Diese letzte Frage (wenn ich annehme, dass es irgendeine positive Antwort auf alle vorherigen Fragen gibt) beschäftigt mich aus Entwicklersicht am meisten. Wenn jemand vielleicht Erfahrung mit diesem speziellen Problem hat, würde ich mich über jede Antwort oder jeden Rat freuen.

Ich freue mich sehr auf Ihre Antworten. Ich hoffe, dass eine konstruktive und nützliche Diskussion zu diesem Thema beginnt und dass viele nützliche Informationen geschrieben werden.

Freundliche Grüße.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage