如何从Android平板电脑与USB设备通信?
从一年前开始,这看起来不像是一个普遍的要求,但平板电脑已经发展,希望操作系统也有了进步。如何从Android平板电脑与USB设备通信?,android,usb,Android,Usb,从一年前开始,这看起来不像是一个普遍的要求,但平板电脑已经发展,希望操作系统也有了进步。 我需要从我的Curtis LT8025平板电脑上操作一个简单的USB中继卡,该平板电脑目前运行2.1补丁。 我也是Android和java的新手,所以相对来说比较无知 无需双向通信,只需向设备发出简单的串行命令 有什么建议吗 谢谢 Dave遗憾的是,目前还没有标准API来实现与Android设备的有线通信。不久前,我也面临着类似的问题(参见) 我能够成功地实现Commonware提供的解决方案。如果您需要更
我需要从我的Curtis LT8025平板电脑上操作一个简单的USB中继卡,该平板电脑目前运行2.1补丁。
我也是Android和java的新手,所以相对来说比较无知
无需双向通信,只需向设备发出简单的串行命令 有什么建议吗 谢谢
Dave遗憾的是,目前还没有标准API来实现与Android设备的有线通信。不久前,我也面临着类似的问题(参见) 我能够成功地实现Commonware提供的解决方案。如果您需要更多的帮助,请留下评论,我可以提供详细信息
- 编辑(更多详细信息)-
我使用了第二种方法,它工作完美无瑕。但它只适用于制造USB主机设备的情况。对于USB奴隶来说,第一种方法是我唯一的方法。 如果你使用的是一个串行设备,并且有能力通过原生序列与它交谈,你可能需要考虑IOIO(请参阅更多细节)。 < p>我正在构建一个Android定制系统。我确实在USB上连接了几个设备。我想在OTG端口上连接一个设备,这个端口通常来自使用ADB的平板电脑。我放弃了。这是一场噩梦。我不认为你可以在OTG USB上使用ADB,这是目前的一个设备,并期望能够使用另一个设备,如USB到串行转换器。这意味着,当您想将端口用作主机时,您需要松开整个ADB工具链以进行调试。除此之外,平板电脑的USB OTG驱动程序在主机模式下可能没有得到很好的测试,因为它并没有真正以这种方式使用。这么多令人头痛的事 我发现的简单方法是使用CPU上的第二个USB端口。这是一个普通主机端口(遗憾的是限制为12 Mbit/s)。不幸的是,我不知道是否有任何平板电脑有2个USB端口可从外部(一个OTG和一个主机) 如果您使用两个USB端口(一个主机)进行设置,则可以编译为一个模块(drivername.ko),一个USB到串行转换器。内核源代码树中支持多个芯片组,我已经使用了其中的一些芯片组,并且可以正常工作
希望这些信息对你有帮助 @Vaayu-是的,请!如果您能提供任何建议,我将不胜感激。平板电脑有一个可拆卸的USB(和以太网)集线器。我把它用在闪存驱动器上,所以如果我能找到它的话,可能会有一些驱动程序级的支持。DaveCopy/proc/config.gz关闭设备并gzip-d它,然后查看除了大容量存储之外还提供了哪些(如果有的话)usb设备驱动程序来支持平板电脑附带的usb主机功能。还可以查看/lib/modules/which。对于不受支持的设备,您必须编译一个驱动程序——如果您有根和内核源代码,这是合理的。如果平板电脑支持usb键盘,并且您有root用户,那么您可以假装是键盘,然后通过敲击键盘LED来使用SPI,从而避免编译驱动程序?@chris-是否可以直接与\dev端口通话?我的平板电脑实现了\usb1\usb2\usbdev1.1\usbdev1.3和\usbdev2.1,这可能是需要研究的——例如,用于与linux开发机器上的手机通话的adb驱动程序似乎使用/dev/bus/usb在用户空间中工作——如果您想查看,adb在android.git.kernel.org上的“核心”包中(主机端和客户端都是从同一棵树上构建的,有很多条件编译)@chris找不到/proc/config,但在/proc/devices下我找到了以下字符设备:180 usb 188 ttyUSB和189 usb_设备它们似乎使用了我提到的第二种方法。好主意;用ADB嵌入式封装主机模块。看起来很完美。如果不想包含自己的usb主机模块,这非常棒。ADK是r在你问这个问题后几天-