首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: USB通信Android <->外设

Android: USB通信Android <->外设
EN

Stack Overflow用户
提问于 2012-10-04 17:33:43
回答 3查看 13.4K关注 0票数 5

我发现了几个关于这个话题的帖子,但看完之后,我对我的问题没有一个清晰的概念。

我们有一个外部设备(我的意思是,有点像tomtom设备,而不是附件),我们希望将这个设备连接到android设备。我们希望使用USB连接在外部设备和android设备之间进行串行通信。(此时我们可以使用RS232接口在外部设备和其他非安卓设备之间进行通信,但是外部设备可以使用USB线进行通信)

据我所知,我们从3.1开始就支持USB API了。

我们能否开发一个使用USB数据线与外部设备通信的android应用程序?我的意思是,向设备发送数据和从设备接收数据,这两种方式,我们都希望使用Android设备作为“显示器”。

非常提前感谢您。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-17 16:53:55

我基本上是在做你所描述的相同的事情。我仍然处于早期阶段,但我已经在一些约束下管理了这样的沟通:

USB您需要一个支持主机

  1. 的设备。API本身从Android3.2开始就已经存在了,但似乎并不是所有的设备都支持它。看起来大多数运行4.0以上的设备都应该可以工作,但仍然是你应该做的每台设备的检查。我目前使用的是宏碁Iconia Tab A510,到目前为止,它似乎还可以工作,但有一些小故障:例如,你不能在使用USB端口时给设备充电,因为它与充电器共享,但与USB不兼容。
  2. 正如尼尔所说的那样,USB API是低级的,所以我认为你需要为你的USB芯片组(在你身边的那个芯片组,即你的设备中)提供一个驱动程序。我在这里非常幸运,因为有一个开源项目在FTDI芯片组上工作,恰好是我选择的芯片组。如果你也是这样的话,你应该检查一下项目: Google
  3. FTDriver:

我希望这能帮到你。正如我所说的,我开始在这个生态系统中工作,我仍然需要在许多“地方”找到我的路。

干杯,阿西尔。

票数 12
EN

Stack Overflow用户

发布于 2012-10-04 19:18:49

目前adb接口是单向的。流量由使用adb的主机PC控制。考虑到您的需求,看起来您可能需要打开源代码,重新调整USB驱动程序以允许双向通信。在此之后,您将需要设计自己的API,以允许应用程序通过USB发送消息。这将需要大量的工作,因为目前的Android模型不支持它。

票数 1
EN

Stack Overflow用户

发布于 2012-10-08 08:08:25

如果您的设备所连接的android设备支持主机模式,那么usb api可以提供帮助。然而,它是一个在usb请求缓冲区(Usb)中对话的低级api,我目前正在使用这个api编写一个串行抽象,但目前还没有准备好播出。

如果您的非android设备能够充当主机,那么正如Royston建议的那样,adb路由可能是最适合您的,在api版本12之后的api包中有如何做到这一点的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12724330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档