【问题标题】:iPhone headphone jack - read in data?iPhone耳机插孔 - 读取数据?
【发布时间】:2011-11-03 18:47:00
【问题描述】:

我有一个连接到电池供电显示器的小型设备。当我转动设备上的轮子时,显示器会显示诸如您何时开始转动轮子以及轮子转动的速度等信息。我相信该设备正在通过3.5 mm audio jack 发送某种磁脉冲或其他东西。

我不想将设备连接到其原始显示器,而是将其连接到我的iPhone 并读取相同的数据。线的末端有一个 3.5 毫米音频插孔,通常像耳机一样适合 iPhone。

我研究过像HiJack 这样的项目,但不确定如何使用我收到的数据(或者当我收到数据时数据实际来自哪里),或者我什至可以在这种情况下使用它。

我可以通过 iPhone 的音频插孔从外部设备读取数据(到 iPhone)吗?

如果是,您建议我研究哪些框架/库?

我已经查看了 Apple 的 AurioTouch,但它看起来相当复杂且不是很简单。

【问题讨论】:

  • 据我所知,这并不是那么简单。但我读过其他人这样做。也许你会在这里找到一些东西:Sensor Data to iPhone Through the Headphone Jack (Using Arduino)
  • 有可能。不知道该怎么做。这些家伙正在通过千斤顶经营信用卡。 https://squareup.com/
  • @Louie - 他们正在外部设备微控制器和 iOS 上实施 FSK(频移键控)软调制解调器。速度很慢,大约 300 波特。但这对于 CC 扫描或读取心率监测器来说已经足够了。如果您需要更高的速度,或者只是想要更简单的接口,充电端口具有 RS-323(3.3v) 连接,可以达到 56.7K 或更高的速度。
  • 我认为主要区别在于基座连接器(充电端口,如您所指)需要获得 Apple 的批准才能为其制造第三方配件,而使用耳机插孔则不需要。
  • 另外,关于 Square 决定通过耳机插孔运行的决定,许多设备都有 3.5mm 端口,而只有 Apple 设备有 30-PIN 连接器。

标签: iphone cocoa-touch audio


【解决方案1】:

是的,可以使用 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 兆赫。

如果您在网上搜索 JQAM,您可以找到 Mr. Olds 的项目和代码。恕我直言,这将是一个在 iPhone 或 Android 上解决的非常酷的项目。

【讨论】:

    【解决方案2】:

    如果信号的带宽适合 iPhone 的 A/D 转换器的带宽(大约 20Hz 到 20kHz),您就可以通过 iPhone 的 headjack 读取任何数据。

    【讨论】:

      【解决方案3】:

      如果有帮助,请留意 SpeakHere 应用程序,但没有发现任何复杂性......因为这也与 AurioTouch 相同,但比这更简单......

      如果您只需要录制音频,这将比您所说的更直接......祝你好运......

      【讨论】:

      • OP 不是在谈论它似乎没有的音频。他想使用通过耳机端口接收到的数据……而不是实际的音频。
      • @Jared:我认为耳机端口只会发送音频形式的数据......如果我错了,请纠正我......
      • 不,我相信您是正确的,但 SpeakHere 看起来像是用于简单的音频录制/播放,我认为在尝试将音频脉冲(例如)转换为可用数据。我认为我们都在以不同的方式谈论同一件事。
      • @DShah 我基于过去的 SpeakHere 示例构建了一个通过耳机插孔读取数据的应用程序,所以这是一个很好的建议。
      【解决方案4】:

      如果有任何相关性,我正在使用密歇根大学的 HiJack 项目。您可以找到来源here。代码主要是用C++编写的,有一些bug,是的,是0.1版本,但是如果你深入代码,你会发现一些关于这件事的有趣信息。

      【讨论】:

        【解决方案5】:

        我找到了一个框架http://www.crudebyte.com/jack-ios/sdk/,但说实话并没有尝试过。 似乎他们在二进制文件中有一些示例代码,并且 lib 的最后更新日期是 2013-06-07,所以看起来工作正在进行中。

        【讨论】:

        • 无法下载源码,我得到404
        【解决方案6】:

        检查 ArduCom 项目。它通过 iPhone headjack 传输串行数据。 www.youtube.com/watch?v=ROMvwrd0Au8

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-22
          • 2017-08-18
          • 2011-12-17
          • 2017-04-24
          • 1970-01-01
          • 2012-05-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多