【问题标题】:Android App and Communications via USBAndroid 应用程序和通过 USB 进行的通信
【发布时间】:2011-04-28 14:11:05
【问题描述】:

好的,所以我对此进行了一些研究并且不被鼓励,但无论如何我都会问,并具体说明我正在尝试做什么。也许会有所帮助!

我有一块带有达芬奇处理器的定制板,上面带有 USB 2.0 OTG 控制器。我将它配置为带有连接集线器和各种外围设备的主机。该处理器运行基于 2.6.18 内核的 Monta Vista Linux (MVL) 4.0。这个定制板有一些视频处理和流媒体。

我还有一个 Moto Droid。我可以将手机作为 USB 设备连接到我的达芬奇系统,MVL 将枚举手机,但显然不知道要使用哪个驱动程序。我可以解决。

因此,我最理想的做法是能够在我的开发板和手机之间建立数据连接,并将手机与自定义应用程序一起用作配置工具(最初)。我认为 RNDIS 会很棒,但我不知道 Android 是否在 USB 端口上支持它。然后我的自定义应用程序将通过 USB 与我的自定义板上的服务器建立连接。

除了 adb 和 flash 文件系统之外,谁能证明 Android 通过 USB 支持什么?

欢迎任何其他建议,虽然请不要告诉我“蓝牙”,它没有视频带宽,这是未来的目标。

谢谢!

【问题讨论】:

    标签: android linux usb davinci rndis


    【解决方案1】:

    对于少量数据,您可以查看指向 Microbridge (http://code.google.com/p/microbridge/) 的 Working Android with Arduino,或者您也可以查看 IOIO (http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html)。

    对于视频之类的东西,adb port forward (http://developer.android.com/guide/developing/tools/adb.html#forwardports) 可能是您的朋友(假设您已在 MVL 上设置了网络堆栈并配置了 adb)。您基本上可以通过 USB 为 TCP 设置端口隧道,并通过链路传输相当大量的数据。连接的一端(可能是 android 设备)运行 TCP/HTTP 服务器,自定义板打开连接进行通信。这工作得相当好,您设置一个运行adb devices 的线程来检测Droid 设备的插入,运行adb port forward 来设置端口转发,然后打开您的套接字,一切顺利。

    【讨论】:

      【解决方案2】:

      您是否可以在 Davinci 板上使用 802.11?例如。通过 Wifi USB 加密狗或通过有线以太网连接到 AP?如果是这样,那似乎比尝试通过 USB 更容易与 Android 进行通信。或者您的视频分辨率和压缩要求是否超出了您通过 802.11 实际获得的预期?

      【讨论】:

      • 没有。该产品没有 WiFi。 USB 和 100-BASE-TX 用于连接到后端无线电链路。用于配置和“查看”的第二个 USB 是我们想要做的。
      猜你喜欢
      • 2015-03-15
      • 2023-03-24
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多