Android 设备变得极其便宜(尤其是那些搭载 android v1.6 的设备)。 我正在考虑用它作为自主机器人的大脑。不幸的是我没有找到任何相关信息。
我想连接两个外部 USB 网络摄像头和一些 DIY 自制 USB ADC 和输出端口转换器来驾驶车轮并读取模拟距离传感器。如果我选择一些便宜的上网本,它们通常已经有 3 个 USB 端口。但如果我被迫使用平板电脑,那么它还需要一个 USB 集线器。
作为您信息的更新:根据答案,我认为与努力相比,Android 设备会太昂贵。我会选择便宜的 Atom 上网本,配有标准 Linux 和 arduinio USB 设备,用于控制和传感器。以半公斤(一磅)重的设备为代价,我可以节省数月的学习和开发时间。
您需要一台支持开箱即用的 USB 主机模式的 Android 设备(一些便宜的平板电脑显然支持),或者一部可以通过自定义 USB 电源接线实现此目的的手机,或许还需要一个新的内核驱动程序(许多手机都可以) 。
您可能需要 root。
API 将是普通的 Linux USB 堆栈,包括可用于桌面 Linux 的几乎任何 C 编码源可用设备驱动程序(除了那些使用在兼容性包装器中运行的 x86 二进制 Windows 驱动程序位的驱动程序)。
您可以使用普通方法(设备文件、读/写/ioctl)或通过仔细的驱动程序设计从 ndk 与之交互,因此事情看起来确实像文件,您可能可以从 java 或至少从 java 获取其中一些文件使用一些围绕设备文件操作的薄 ndk 包装器。
本质上,这不是一个“android”问题,而是一个关于特定android设备硬件功能的问题,如何在该设备上root,然后它就变成了一个标准的嵌入式linux问题。
据我所知,使用默认的 Java API 不会得到任何这些。然而,如果您构建自定义内核并向其中添加所需的模块,则可以实现很多这样的目标。基本上这一切都归结为内核黑客攻击,并且与 Android 无关。
我自己对类似的东西非常感兴趣,所以请随时告诉我最新情况。