通过Android应用程序发送和接收USB端口上的数据

通过Android应用程序发送和接收USB端口上的数据

问题描述:

我想构建一个Android应用程序,它将从URL中获取一些数据并将其发送到我的android平板电脑的USB端口上。 USB端口连接到USB串行端口转换器。通过Android应用程序发送和接收USB端口上的数据

我无法弄清楚在USB端口上发送数据的部分。 大量的谷歌搜索后,我发现亚行,http://code.google.com/p/microbridge/等,但没有一个可以使用的Java库。

有什么建议吗?

本答案是在添加应用程序级USB Host APIs之前,在有关历史Android版本的问题中编写的。当代读者应该看到关于现代Android版本的主机模式的许多其他问题

您需要将合适的usb-serial设备驱动程序编译到您的内核中或作为模块加载到它中,并手动创建/ dev/ttyUSB0设备文件或具有自动创建它的内容。

而且我们假设您的转换器已插入正在工作的USB主机端口,该主机端口提供电源并具有支持它的主机模式驱动程序。

从本质上讲,它的工作方式与在桌面Linux上的方式相同 - 您可能需要在桌面Linux上尝试转换器以找出它正在使用的驱动程序。

如果平板电脑没有开箱即用,很可能需要对其进行根目录,才能加载驱动程序模块(或更改内核),在/ dev中创建节点(文件)并设置权限以便程序可以访问它。

访问将通过打开设备文件,调用一些ioctl的配置它,然后只是读写。打开和配置可能需要jni本地代码(尽管你可以从java中完成),然后你应该可以读写java。

另一个值得研究的方法是使用蓝牙串口适配器 - 这更独立于设备,可能不需要生根。

+0

感谢@chris的详细解答。我终于选择了蓝牙串行适配器选项,因为我需要一些可以开箱即用,不需要更改内核的东西。 Android 3.1已经发布了用于USB的API,但它支持平板电脑而不支持手机。 – Neha 2011-06-01 06:47:45

+0

这仍然是一种全新的使用方式?我的意思是,如果我需要转换通过USB接收到的电信号,它会是一样的?或者是什么? – Ibrahim 2017-11-21 22:29:56