2017-04-10 100 views
0

我想將我的Android手機連接到另一臺USB主機(PC)並以最簡單的方式交換一些數據。讀寫文件似乎有點奇怪。藍牙或WLAN似乎也有一些開銷。模擬串行設備聽起來對我來說更容易。簡單的微控制器可以將自己暴露爲USB串行設備或模擬USB鍵盤來告訴某事,這似乎比扮演主角更容易(除了需要爲USB線和外部設備供電)爲什麼USB Serial需要USB-OTG?

如果我理解正確地說,所有這些終端實用程序都使用USB-OTG並播放USB主機,尋找USB設備。 (?)

我很新到Android編程(Android Studio中首先教程)

,並希望找到一箇舊手機一些使用(三星GT名人堂-S6810P採用Android 4.1.2)顯然不是支持OTG。

我明顯缺少的是什麼,要走的路是什麼? 或我的哪些想法完全錯誤? 提示,從哪裏開始學習,表示讚賞。

+0

如果硬件不支持OTG ... – greenapps

+0

所以藍牙似乎比較容易,不是嗎? – datafiddler

回答

2

OTG意味着在其上的手機運行ARM處理器必須能夠以USB主機(USB主機模式)(的鍵盤,筆驅動器和其他附件可附接是USB設備(USB設備模式))在USB協議中,只有1個設備在主機模式下在總線中所有其他設備都在設備模式下

所以它必要爲USB串行(CDC ACM班/虛擬COM口)電話理論上也可以在設備模式OTG /主機模式的能力。在實踐中,USB CDC ACM設備(USB設備模式)/虛擬COM端口的功能是根本沒有實現在android中,所以從PC到Android的USB串行連接是不可能的因爲android尚未實現要CDC ACM設備/虛擬COM端口(在設備模式下)

這就是爲什麼對於USB串行/虛擬COM端口來說需要具有OTG /主機模式功能的原因。其實這不是必要的,並且USB串行不可能的原因僅僅是android不實現功能成爲CDC ACM設備/設備模式下的虛擬COM端口

如果手機能夠成爲USB主機(OTG功能),它必須有所有的內核模塊像usb-storage大容量存儲設備cdc_acm爲CDC ACM設備(虛擬COM端口),連接的設備...

+0

>不可能,因爲android還沒有實現CDC ACM設備/虛擬COM端口的功能(在設備模式下):這聽起來像是表演停止。沒有簡單的方法將此設備模式功能添加到Android?我想我會學習藍牙... – datafiddler