2017-04-10 96 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