バッテリー駆動のモニターに接続する小さなデバイスがあります。デバイスのホイールを回すと、ホイールを回し始めた時期やホイールの回転速度などの情報がモニターに表示されます。デバイスが .5 mmオーディオジャック を介して何らかの磁気パルスまたは何かを送信していると思います。
デバイスを元のモニターに接続する代わりに、デバイスを iPhone に接続して同じデータを読み取ります。コードの端に3.5 mmのオーディオジャックがあり、通常ヘッドフォンのようにiPhoneに収まります。
私は Hijack のようなプロジェクトを調べましたが、受信したデータの使用方法(または実際に受信したときにデータがどこから来たか)がわからない場合、またはこれで使用できるかどうか不明です状況。
iPhoneのオーディオジャックを介して外部デバイスから(iPhoneに)データを読み取ることはできますか?
「はい」の場合、どのフレームワーク/ライブラリを検討することをお勧めしますか?
私は AurioTouch をAppleで調べましたが、かなり複雑で、簡単ではありません。
はい、Hijackプロジェクトで実証されているように、iPhone 3.5 mm(1/8 ")ヘッドフォン/マイクジャックをデータ入力として使用できます。これは、入力デバイスにも電力を供給します。
Dominik Selboldが指摘したように、重要なのは、着信データをiPhoneマイク入力の通過帯域内の周波数で変調する必要があることです。これによりデータレートが制限されると多くの人が示唆していますが、実際には、19 kHzオーディオは非常に広帯域の信号であり、数十キロビット/秒の能力があります。
たとえば、2008年に、ジョンティオールズは、オーディオ周波数で直交振幅変調を使用して、オーディオカードを使用して2台のコンピューター間でテレビの音声と画像をストリーミングする方法を示しました。 iPhoneで必要になるのは、FFTライブラリを使用してオーディオ入力用のQAM復調器を開発し、QAMオーディオ変調ビデオをH.264などのデジタルビデオに復調して、おそらく1/4 VGA解像度にすることです。 NTSCコンポジットビデオはすでにQAMですが、はるかに高い帯域幅、約5 MHzです。
JQAMをWebで検索すると、Mr。Oldsのプロジェクトとコードを見つけることができます。私見、これはiPhoneやAndroidで取り組むにはとてもクールなプロジェクトになるでしょう。
信号の帯域幅がiPhoneのA/Dコンバーターの帯域幅(約20Hz〜20kHz)に適合していれば、iPhoneのヘッドジャックからデータを読み取ることができます。
役立つ場合は SpeakHere アプリケーションを探してください。複雑さは見つからない...これもAurioTouchと同じように機能するため、多少それよりも簡単です。
これは、オーディオを録音するだけでよい場合に話しているよりもはるかに簡単です。
私は1つのフレームワーク http://www.crudebyte.com/jack-ios/sdk/ を見つけましたが、正直に言ってそれを試しませんでした。バイナリの内部にサンプルコードがあり、libの最終更新日は2013-06-07であったため、作業は進んでいるようです。
関連性がある場合は、ミシガン大学のHijackプロジェクトを使用しています。ソース here を見つけることができます。コードは主にC++で記述されており、いくつかのバグがあり、バージョン0.1ですが、コードを掘り下げると、この問題に関する興味深い情報が見つかります。
ArduComプロジェクトを確認してください。 iPhoneヘッドジャックを介してシリアルデータを転送します。 www.youtube.com/watch?v=ROMvwrd0Au8