我想将我的Android手机连接到另一台USB主机(PC)并以最简单的方式交换一些数据。 读/写文件似乎有点奇怪。蓝牙或WLAN似乎也有一些开销。模拟串行设备对我来说听起来更容易。简单的微控制器可以将自己暴露为USB串行设备或模拟USB键盘来讲述一些东西,这比播放主机角色要容易得多(除了需要为USB线和外部设备供电)
如果我理解正确,所有这些终端实用程序都使用USB-OTG并播放USB主机,寻找USB设备。 (?)
我对Android编程很新(Android Studio中的第一个教程)
并希望找到旧手机(三星Fame GT-S6810P与Android 4.1.2)的一些用法,显然不支持OTG。
我明显错过了什么,走的路是什么? 或者我的哪些想法完全错了? 我们非常感谢提示,从哪里开始学习。
答案 0 :(得分:2)
OTG意味着运行手机的ARM处理器必须能够 USB主机(USB主机模式)(可以连接的键盘,笔式驱动器和其他附件< em> 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端口) ),...