我必须让我的应用程序与USB设备通信。该设备只能使用CDC ACM作为“主机”。所以,如果我是对的,我必须是“装置”。
我不知道如何实现这一点。我搜索了很长一段时间,找到了很多作为“主机”进行通信的方法,但我还没有找到如何将其作为设备来实现。
有人有一个代码示例或一个指向tuto的链接?
向您问好,ATA Dev
发布于 2022-08-02 10:55:51
Android当然可以与CDC的ACM设备进行通信,也可以作为一个设备。请看一下https://github.com/mik3y/usb-serial-for-android这个库,并查看CdcAcmSerialDriver.java类,在那里他们为CDC ACM设备实现了Android驱动程序。
发布于 2015-11-22 16:53:44
这个问题涉及到Android作为USB device,运行,因此它从根本上不同于Android作为USB 主机使用Android USB APIs操作的更常见的情况。
根据CDC ACM设备的具体要求,Android设备硬件应该能够支持CDC ACM实现,但是Android本身通常不支持,而生产用户构建的安全模型意味着应用程序不能添加这种功能。
相反,您需要修改Android安装(很可能是在内核级别),以使其实现这种USB模式,或者除了通常的模式之外。第一步是找出你是否真的可以改变你的设备上的Android安装,第二步是它是否使用了一个基于“小工具”的USB框架,或者其他方法中的一种。
另一个选择可能是找到一个带有两个USB外设的微控制器,并将其配置为Android和特定主机设备之间的“桥梁”。或者你可以用一个USB接口和一个蓝牙或无线对讲机来和Android设备通话。
https://stackoverflow.com/questions/31434092
复制相似问题