我有一个小型设备连接到电池供电的显示器。当我转动设备上的滚轮时,显示器会显示诸如开始转动车轮以及车轮转动速度等信息。我相信该设备正在通过3.5 mm audio jack发送某种磁脉冲。
我希望将设备连接到我的iPhone并读取相同的数据,而不是将设备连接到原始显示器。电源线的末端有一个3.5毫米的音频插孔,通常像耳机一样安装在iPhone上。
我已经查看了像HiJack这样的项目,但我不确定如何使用我收到的数据(或者当我收到数据时实际来自哪里),或者我甚至可以在此使用它情况。
我可以通过iPhone的音频插孔从外部设备读取(到iPhone)的数据吗?
如果是,您建议我查看哪些框架/库?
我已经看过Apple的AurioTouch,但它看起来相当复杂并且不是很简单。
答案 0 :(得分:10)
是的,可以使用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解决方案。
答案 1 :(得分:5)
如果信号的带宽符合iPhone A / D转换器的带宽(大约20Hz到20kHz),你可以通过iPhone的headjack读取任何数据。
答案 2 :(得分:4)
请注意SpeakHere应用程序是否有帮助,而不是发现任何复杂性...因为这也与 AurioTouch 相同,但有点简单..
如果您只需要录制音频,那么您所说的话会更直接....祝您好运......
答案 3 :(得分:2)
如果它有任何相关性,我正在使用密歇根大学的HiJack项目。您可以找到来源here。代码主要是用C ++编写的,它有一些bug,是的,它是版本0.1,但如果你深入研究代码,你会发现一些有趣的信息。
答案 4 :(得分:2)
我找到了一个框架http://www.crudebyte.com/jack-ios/sdk/,但老实说没试过。 好像他们在二进制文件中有一些示例代码,并且lib的最后更新日期是在2013-06-07,所以似乎工作就在那里。
答案 5 :(得分:1)
检查ArduCom项目。它通过iPhone头端传输串行数据。 www.youtube.com/watch?v=ROMvwrd0Au8