2011-01-29 156 views
10

我正在研究需要通过USB进行通信的Android应用程序。我有一台爱可视101平板电脑(规格如下:http://www.archos.com/products/ta/archos_101it/specs.html?country=us&lang=en)。它有一个完整的USB主机端口。我可以将闪存USB驱动器放入USB端口,并将文件从闪存驱动器复制到内部存储器。与Android/Arduino的USB通信

我有这个Arduino Fio董事会,与XBee连接到它。我有一台XBee Explorer软件狗和另一个XBee软件狗,我计划将它们连接到Archos 101平板电脑的USB端口。

截至目前,我可以将XBee Explorer加入我的计算机,并从Arduino Fio发送/接收数据,没有任何问题。

Android有没有办法通过USB进行通话?我知道在平板电脑中必须有驱动程序允许USB通信,但我找不到访问它们或使用它们的方法。

我可以看到Android识别XBee Explorer软件狗。我下载了一个终端仿真器,然后我可以输入“dmesg”,看到它看到加密狗连接起来了。但我对此无能为力。

我似乎需要Android的FTDI驱动程序。

我非常感谢让我的平板电脑与XBee Explorer加密狗通信的任何帮助。

+0

我有类似的问题,并解决它。请检查我的答案[这里](http://stackoverflow.com/questions/4621580/using-serial-port-rs-232-in-android/6279832#6279832)希望这会有所帮助。祝你好运! – 2011-06-08 14:25:48

回答

0

USB编程并不容易,使用以太网或rs232会更容易。但是,如果你坚持,那么看看V-USB(SW USB),LUFA(HW USB)和Lufaduino(HW USB)。如果Android已经嵌入USB CDC驱动程序,那么如果你在AVR中实现它,它可能是最简单的路径。慢速,廉价且仅软件AVR USB CDC实现是here

1

有一个解决方案由Inopiaaardbei使用Arduino和USB主机屏蔽以及运行在Arduino上的Android调试桥。
使用此解决方案,您可以使用Android手机和Arduino板之间的串行通信。
请参阅my post和链接里面的更多信息。

1

您可以像我在article中那样使用连接到xbee模块的android adk或android ioio。我在github上发布了代码,而另一个人目前正在实施gui。

+1

如果您可以在答案中包含越来越多的细节,而不仅仅是提供指向您的文章的链接,因为它将来可能无法使用,那将是非常棒的:) – Amar 2012-11-06 20:11:55

2

如果您有root用户并且可以破解您的内核,FTDI会为Android OS提供D2XX驱动程序。请检查它的网站。

如果您的Android设备是3.1+,您应该可以使用Android USB主机与Arduino进行通话。但是,我遇到了一些问题。

如果您有ADK/UHS,您的Arduino可以充当USB主机并与Android USB设备通话。即使是在相同的硬件中,如果你的Android操作系统像1.5/1.6一样老,你必须使用ADB接口而不是ADK(Accessory Developer Kit)协议。

如果您有蓝牙,您可以在自己的应用程序中编写自己的蓝牙SPP。

如果您可以处理WiFi,则可以编写应用程序与套接字进行通信,或者通过Android中的最新WiFi直接模式进行通信。

沟通是多种多样的。但是,这取决于您的硬件。