2011-01-29 182 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直接模式進行通信。

溝通是多種多樣的。但是,這取決於您的硬件。