iPhone headphone jack - read in data?
我有一个连接到电池监视器的小型设备。当我在设备上转动方向盘时,监视器会显示信息,例如您何时开始转动方向盘以及方向盘转动的速度。我相信设备正在通过3.5mm音频插孔发送某种电磁脉冲或某种东西。
我想将设备连接到我的iPhone并读取相同的数据,而不是将设备连接到其原始显示器。该线的末端有一个3.5毫米音频插孔,通常像耳机一样适合iPhone。
我已经研究过类似HiJack的项目,但是不确定如何使用我接收到的数据(或者在接收到数据时实际来自何处),或者在这种情况下是否可以使用它。
是否可以通过iPhone的音频插孔从外部设备读取数据(至iPhone)?
如果是,您建议我研究哪些框架/库?
我已经研究了Apple的AurioTouch,但是它看起来相当复杂并且不是很简单。
是的,可以将iPhone 3.5毫米(1/8英寸)耳机/麦克风插孔用作数据输入,正如HiJack项目所演示的那样-该项目还为输入设备供电。
正如Dominik Selbold所指出的那样,关键是必须在iPhone麦克风输入的通带内的频率上调制输入数据。尽管许多人认为这会限制数据速率,但实际上19 kHz音频是一个非常宽带的信号,每秒可以传输数十个千位。
例如,在2008年,乔蒂·奥尔兹(Jonti Olds)演示了如何在音频频率上使用正交幅度调制,从而能够使用其声卡在两台计算机之间传输电视声音和图像。在iPhone上,需要开发一种用于音频输入的QAM解调器-使用FFT库-将QAM音频调制视频解调回数字视频(例如H.264)-可能是1/4 VGA分辨率。 NTSC复合视频已经是QAM,但是带宽更高。大约5 MHz。
如果在网上搜索JQAM,则可以找到Olds先生的项目和代码。恕我直言,这在iPhone或Android上将是一个非常酷的项目。
如果信号的带宽适合iPhone的A / D转换器的带宽(大约20Hz至20kHz),则可以通过iPhone的头戴式耳机读取任何数据。
请注意SpeakHere应用程序是否有帮助,但不会发现任何复杂性……因为它也与AurioTouch一样工作,但比这简单。
如果您只需要录制音频,这将是您要谈论的更加直接的方法。
我找到了一个框架http://www.crudebyte.com/jack-ios/sdk/,但老实说没有尝试过。
似乎他们的二进制文件中包含一些示例代码,并且lib的最后更新日期是2013年6月7日,所以工作似乎就在那儿。
如果有任何意义,我正在使用密歇根大学的HiJack项目。您可以在此处找到源。该代码主要是用C ++编写的,它有一些bug,是的,它的版本为0.1,但是如果您深入研究该代码,则会发现一些有趣的信息。
检查ArduCom项目。它通过iPhone耳机插孔传输串行数据。
www.youtube.com/watch?v=ROMvwrd0Au8