5

車内でラジオやCDプレーヤーを操作できるiPhone用のアプリケーションを書いてみたいと思っています。ラジオとプレーヤーはBluetooth接続を利用できます。

この1つの場所に必要なすべての情報を取得するために、この質問を開始しました。質問はほとんどありませんが、このアプリケーションの開発を開始するために私が重要だと思わなかったことがあれば、教えてください。

私はAVRCPプロファイルについて読みました。車内のBluetoothデバイスはAVRCP1.3をサポートしています。これは、そのプロトコルバージョンで実行できるコントロールを念頭に置いて、私にとっては十分です。

「Appleデバイスは相互にしか対話できない」、「AppleデバイスはBluetooth経由でApple以外のデバイスに接続できない」、「MFiプログラムは必須です」、「MFiは必要ありません」など。私の最初の質問は次のとおりです。

1)iPhone(4、4S)を車内のラジオやCDプレーヤーとBluetooth経由でペアリングし、どのiPhoneバージョンでもラジオ局や音楽を制御することは可能ですか?はいの場合、この種のBluetooth接続を成功させるための制限は何ですか?

iPhoneが機能できる役割についての情報もほとんどありません。AVRCPには、コントローラーとターゲットの役割の2種類の役割があります。このペーパーを読むことによって:https ://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf私は私の2番目の質問に対する答えを見つけられませんでした:

2)iPhoneはコントローラーとして機能し、AVRCP 1.3に記載されているすべての使用可能なコマンドをターゲットデバイス(ラジオおよびCDプレーヤー)に発行できますか?

また、この特定の問題に利用できるフレームワークについても知りたいと思います。私はそれらのいくつかがあることを知っています、しかし誰かが私の問題のために正しいものを認めるならば、私は知りたいです:

3)ターゲットデバイスと対話するためにどのフレームワークを使用する必要がありますか?

開発者の観点から、接続されたBluetoothデバイスと対話するために利用可能なAPIにも興味があります。独自のアプリケーションを作成してボタンにアクションを割り当てているので、ボタンに割り当てられたメソッド内で、ターゲットデバイスへのメッセージ送信を実行する必要があります。だから私の次の質問は:

4)XCodeで提供されるAPIの一部として、またはターゲットにBluetooth経由で送信するために参加する各メッセージとして、ターゲットデバイスにコマンド(開始/停止/一時停止/転送/逆方向など)を送信する方法があるかどうかを誰かが知っていますか?プロトコルドキュメントに従って作成する必要があるデバイス(メッセージ全体(ヘッダー、本文、コマンド部分など)を自分で作成する)?

AVRCPは、このアプリケーションを実現するための私の考えでした。私が間違っている場合は、私に知らせてください。Bluetoothにはさまざまなプロファイルがあり、メッセージが1つのデバイスから送信される場合、私が理解している限り、プロファイル自体がメッセージを処理して解釈し、ターゲットデバイスに配信してターゲットデバイスが理解できるようにします。iPhoneからターゲットのBluetoothデバイスに送信されたメッセージがObjective-C(またはC)コードから送信した瞬間からどのように処理されるのかわかりません。それは私が持っている主な疑問であり、質問4に関連しています-AVRCPコマンドをデバイスに送信するために正しい形式で生のメッセージを作成する必要がありますか、それともそれらのメッセージをAVRCP(または他の種類)として認識するAPIを使用できますか? )そしてそれをターゲットデバイスに配信しますか?

この最後の質問(これまでのすべてに何らかの肯定的な答えがあると思う場合)は、開発者の観点から私に最も関係があります。ですから、もし誰かがこの特定の問題を経験したことがあれば、私はどんな種類の答えやアドバイスもいただければ幸いです。

ご回答を心よりお待ちしております。このトピックについて建設的で有用な議論が始まり、多くの有用な情報が書かれることを願っています。

よろしくお願いします。

4

2 に答える 2

5

デバイス (CD プレーヤー) が Bluetooth 4.0 LE に準拠している場合は、CoreBluetooth を使用して実行できます。

于 2012-07-03T11:36:31.677 に答える
0

車の CD プレーヤーに BLE 4.0 が搭載されていても、ほとんどの場合、それを行うことはできません。

コア Bluetooth デバイスは「セントラル」(クライアント) または「ペリフェラル」(サーバー) として機能し、ペリフェラルは「データを持ち」、特性 (変数) を持つサービスを公開します。セントラル (クライアント) は、ペリフェラルからデータを読み取るか、通知をサブスクライブします。

唯一のチャンスは、CD プレーヤーを周辺機器 (サーバー) として接続し、iPhone を中央 (クライアント) として接続することです。この場合、CD プレーヤーは、それを制御できるサービスを公開する必要があります。正直なところ、中央 (iPhone) がデータを読み取り、周辺機器から通知を受け取るため、これがどのように行われるのかわかりません。その逆はありません。

役割を逆転させ、iPhone を周辺機器として実装することは理にかなっていますが、リモート コントロール用に事前定義された Bluetooth LE サービスがないため、車の CD プレーヤーは、ユーザーがどのようなサービスを期待するかを認識していません。一般的にキーボードとマウスに使用される HID サービス (Human Interface Device) を使用して動作する可能性がありますが、この投稿によると、HID は iOS で Apple によって禁止されています。

于 2015-07-28T08:37:10.357 に答える