2010-11-18 31 views
5

Android设备变得令人难以置信的便宜(特别是那些与Android v1.6)。我正在考虑使用一个作为自主机器人的大脑。不幸的是,我没有找到任何信息。android:api用于机器人应用的外部USB设备

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

  1. 做android设备支持usb-hubs吗?
  2. 是否有任何API抢仍然从外部USB摄像头帧(例如 “VFA:// 0” & “VFA:// 1”)
  3. 是否有任何API从USB定制设备读取?假设它会模拟串行端口以简化操作。
  4. 我可以在android 1.6或更新版本中获得所有这些吗?

至于你的信息的更新:根据答案,我认为Android设备会太贵相比的努力。我会用标准linux & arduinio USB设备来控制&传感器。在重量为一公斤(一磅)的设备上,我将在学习&开发时节省数月时间。

回答

0

据我所知,你将不会得到任何与默认的Java API。但是,如果您构建自定义内核并为其添加所需模块,则可以实现许多此类功能。基本上这一切都归结为内核黑客攻击,并不会真正与Android相关。

我对这样的东西很感兴趣,所以请保持更新。

+0

其实相当浅的内核入侵 - 大多数真正的黑客行为,例如编写没有正确数据表的主机模式驱动程序等已被其他人完成。可能涉及到应用他们的补丁,然后重新编译和安装内核。 – 2010-11-18 21:22:20

+0

@克里斯·斯特拉顿:在那里写了一个观点,给它重写了一遍。 – 2010-11-18 21:24:32

+0

非常感谢您的回答。我的决定如下:1。具有所需功能的Android设备将过于昂贵(超过200美元); 2.对于类似的价格,我可以得到原子上网本; 3.我将安装标准的ubuntu,我将获得额外的好处:arduinio的标准IDE; 4.标准PC和标准arduinio将为我节省数月的学习新平台。 – Rafal 2010-11-20 13:45:21

2

你需要一个支持usb主机模式开箱即用的便携式设备(一些便宜的平板电脑显然是这样做的),或者是一部能够通过定制的usb电源线和一个新的内核驱动程序来实现的手机(尽可能多手机可以)。

您可能需要root权限。其中包括几乎所有可用于桌面Linux的C代码源可用设备驱动程序(除了那些使用x86二进制窗口驱动程序在兼容性封装器中运行的那些驱动程序)。

你可以使用常规方法(设备文件,读/写/ ioctl)或仔细的驱动程序设计与ndk进行交互,所以事情看起来像你可能从java或在至少在设备文件操作周围使用了一些简单的ndk包装。从本质上讲,这不是一个“android”问题,它是关于特定android设备硬件功能的问题,如何在该设备上获取root,然后它成为标准的嵌入式linux问题。