通过USB与Android设备通信

时间:2017-09-08 08:06:32

标签: linux-kernel usb embedded-linux

我正在开发基于Am3352的主板上的应用程序,需要通过USB与Android设备(平板电脑/手机)进行通信。我需要通过USB交换一些自定义数据字节(只有我的应用程序和在Android设备上运行的应用程序才能理解)。

当我将Android平板电脑连接到我的AM3352主板时,我在控制台上使用VID PID等进行打印,这表明设备已被检测到。我需要知道的是,如何让内核为设备分配一个dev文件。例如,当我们将usb连接到串行转换器时,我们将获得/ dev / ttyUSBx文件,以便我们可以打开它并写入/读取此文件。同样可以直接连接usb吗?

我期待生成/ dev / ttyACMx设备文件,以便我可以写入和读取它。内核中启用了CDC /调制解调器支持。 (我不确定这是否会有所帮助,但无论如何都试过了。)

请告诉我如何获取与设备关联的设备文件名,以便我可以读取和写入设备。

1 个答案:

答案 0 :(得分:1)

首先你必须知道你的Android设备的USB类型。如何在你的linux盒子上识别这个设备?作为大容量存储或CDC还是其他什么?然后你可以尝试与它沟通。而且你不必在/ dev /中创建任何设备来通过USB与android通信。看看libusb库。

在您的示例中 - / dev / ttyUSBx已创建,因为内核知道这是通信设备类。所以你还需要知道这个Android设备是什么类型的USB设备。