通过Android 3.1上的USB端口读取和写入数据

dan*_*dan 6 java usb android tablet

我正在尝试编写一个Android应用程序,用于从Android平板电脑读取和写入数据到我们的嵌入式设备.平板电脑和嵌入式设备通过USB连接到串行转换器.是否可以将嵌入式设备中的数据读入我们的Android平板电脑?我可以看看的任何示例代码?

Ale*_*der 0

由于串行转换器是 USB设备,因此 Android 平板电脑必须充当 USB主机。此功能自 Android 3.1 起可用。API 文档可在Android 开发人员页面上找到,并包含代码示例。

要实际与转换器进行通信,您必须更多地了解其内部结构:市场上有许多不同的设备,一些使用 USB HID,另一些使用 USB CDC 设备类别,或者甚至不符合任何类别。linux lsusb命令可能有助于获取设备/接口描述符。

在典型的 CDC 设备上,您必须与两个批量端点进行交互,并可能使用一些与接口相关的请求来设置波特率等。请参阅USB 实现者论坛上的通信设备类规范。

如果您的设备只有一个 IN 和一个 OUT 批量端点(除了控制端点之外),您可以尝试在 OUT 端点上使用 UsbDeviceConnection.bulkTransfer() 方法将一些字节写入串行线路。这很有可能会起作用,但是为了干净的实现,您应该坚持类规范。