如何在Qt中使用Android上的USB OTG串行接口?
How can one use an USB OTG serial interface on Android, in Qt?
我打算将Qt桌面应用程序移植到Android上。它使用QSerialPort与外部设备(内置CP210x(通信
该应用程序虽然纯粹是用Qt和C++编写的,但在Android上运行良好,但它看不到该设备。CP210x官方驱动下载页面建议从源代码编译Android上的内核,这是普通客户所期望的。我在网上找到的其他建议建议对手机进行越狱,这也不是我们可以期望最终用户做的事情。
在Qt论坛上,这个话题的问题很少,大多数人说QSerialPort的Android支持非常有限。但是,这些主题通常至少有6-7年的历史。
一个Android开发者论坛/wiki/tutorial?建议使用"Android Things",不管它是什么。我找不到任何符合该描述的应用程序。
我知道在未越狱的Android上使用串行USB在物理上是可能的,因为我尝试了串行控制台应用程序并且它起作用了,我可以成功地与我的设备交换数据。
这是否意味着唯一的方法是在Java中开发我自己的包装器,并使用JNIEXPORT?这将打破我之前使用的简单的多平台编译(只是从Qt Creator中选择不同的工具包(有没有更简单的方法来实现这一点?USB OTG使用率是否如此之低,以至于没有其他人想到在这方面实现任何东西?
QSerialPort 只有非官方的部分 Android 支持(见 https://wiki.qt.io/Qt_Serial_Port(。
(...自担风险,仅适用于有根设备,其中可以获取/设置对/dev/ttyXYZ 节点的权限(
您可以使用 JNI 获取具有权限的文件描述符,然后使用 libusb 库C++与设备通信。 但是,是的,它会打破简单的多平台编译。
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 插入或删除时获取usb的dos_name
- 使用 VID、PID、+SN 查找 USB 端口号
- USB传输的LibUSB C++格式不同
- 从 GUID 获取 USB 卷路径
- 如何在C++(VS2010)中设置超时读取USB端口?
- 如何在 MAC OS c/c++ 中阻止 USB 存储设备
- Android Java USB for native cpp
- mbed:使用 USB 文档库编译会导致错误
- 如何集成 HID USB 控制器?
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- 如何检测 USRP USB 类型?
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 如何在Qt中使用Android上的USB OTG串行接口?
- 只需按一次按钮即可通过USB发送数据
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 通过USB在PC和Arduino之间进行串行通信
- USB-HID 读/写(重叠)等待单个对象不返回C++
- 读取USB与操作系统、C++之间传输的数据
- 如何确定SSD驱动器是固定驱动器还是连接在USB上