在安卓系统上是否有一种与USB设备通信的方式?

8
我有一个非常简短的问题:在Android操作系统上是否可以使用USB设备进行通信/使用?我假设这可能是平板电脑设备。
假设我想将某种类型的USB卡扫描仪连接到Android平板电脑上。它会起作用吗?我需要自己编写驱动程序吗?
谢谢。
3个回答

2

首先,你需要在平板电脑上配备一个USB主机端口。除了On-the-Go(这是一种特殊的设计,可以是主机或设备),不能将两个USB设备连接在一起。不兼容是电气问题,无论软件如何更改都无法解决。


那么,操作系统根本不提供这样的功能吗?有什么想法可以让它工作吗? - Dan Sosedoff
电气差异实际上只存在于数据总线上拉/下拉电阻所在位置。如果主机要为设备提供电力,则还需要额外的电路,因为会发生设备请求一定功率的协商。可以设计一个普通的USB电路,既可作为主机又可作为设备运行,但需要特殊的电路以及切换驱动程序的能力。简而言之,平板电脑必须有主机端口,我认为Android没有提供USB驱动程序的机制。 - Mark
1
如果您获得了平板电脑的 root 访问权限并且它有主机端口,您可以编写自己的驱动程序,或者可能有适用于您想使用的设备的 Linux 驱动程序。Android 运行在一个相当标准的 Linux 内核上,因此大多数驱动程序应该可以在很少或没有修改的情况下工作。 - Mark
1
@Jaxidian:这不仅仅是引脚排列的问题。你的“交叉线缆”需要有两个USB主机,或一个USB主机和一个双口集线器,还需要一个处理器作为代理(顺便说一下,这需要特定设备或至少是类别特定的固件逻辑),以及自己的电源供应。到这个时候,你的交叉线缆已经接近智能手机的大小和复杂度了。最好选择一个带有主机功能端口的平板电脑。 - Ben Voigt
没错。你需要(1)一个OTG控制器芯片 (2)主机支持电路和(3)主机驱动程序。 - Ben Voigt
显示剩余5条评论

1

是的,一些手机可以作为主机工作,比如DROID。可以在Google上搜索连接USB键盘到安卓手机的方法,例如在这里:http://www.tombom.co.uk/blog/?p=124


0

是的,它可以工作,而且你不需要为 Android 端编写驱动程序。然而,该设备必须支持 打开附件协议 并且必须能够向 Android 设备提供电源。开发套件 可用。

但是:"附件模式最终取决于设备的硬件,而并非所有设备都支持附件模式。"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接