5

Android 设备变得难以置信的便宜(尤其是那些装有 android v1.6 的设备)。我正在考虑用一个作为自主机器人的大脑。不幸的是,我没有找到任何相关信息。

我想连接两个外部 USB 网络摄像头和一些 DIY 自制的 USB ADC 和输出端口转换器来控制车轮并读取模拟距离传感器。如果我选择一些便宜的上网本,它们通常已经有 3 个 USB 端口。但如果我将被迫使用平板电脑,那么它还需要一个 USB 集线器。

  1. 安卓设备是否支持 USB 集线器?
  2. 是否有任何 API 可以从外部 USB 网络摄像头抓取静止帧(例如“vfa://0”和“vfa://1”)
  3. 是否有任何 API 可以从 USB 自定义设备中读取?为简单起见,假设它将模拟串行端口。
  4. 我可以在 android 1.6 或任何更新版本中获得所有这些吗?

作为您的信息更新:根据答案,我认为与努力相比,android 设备太贵了。我将购买带有标准 linux 和 arduinio USB 设备的廉价 atom 上网本,用于控制和传感器。以半公斤(一磅)重的设备为代价,我将节省几个月的学习和发展时间。

4

2 回答 2

2

您需要一个支持开箱即用的 USB 主机模式的 android 设备(一些便宜的平板电脑显然支持),或者可以通过自定义 USB 电源线和新的内核驱动程序支持的手机(就像许多手机一样)。

您可能需要root。

该 api 将是普通的 linux USB 堆栈,包括几乎所有可用于桌面 linux 的 C 编码源可用设备驱动程序(除了那些使用在兼容性包装器中运行的 x86 二进制 Windows 驱动程序位的驱动程序)。

您可以使用普通方法(设备文件、读/写/ioctl)或通过仔细的驱动程序设计从 ndk 与它进行交互,因此事情看起来真的很像文件,您可能可以从 java 或至少 java 中获取其中一些文件一些围绕设备文件操作的瘦 ndk 包装器。

从本质上讲,这不是一个“android”问题,而是一个关于特定 android 设备硬件功能的问题,如何在该设备上获取 root,然后它变成了一个标准的嵌入式 linux 问题。

于 2010-11-18T21:20:49.577 回答
0

据我所知,使用默认的 Java API,您不会得到任何这些。但是,如果您构建自定义内核并向其中添加所需的模块,则可以实现很多这样的事情。基本上,这一切都归结为内核黑客,不会真正与 Android 相关。

我自己对这样的东西很感兴趣,所以请让我更新。

于 2010-11-18T21:04:34.210 回答