问题标签 [usb-otg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android 上读取/写入外部 USB 存储设备?
我目前正在制作一个需要能够读取和写入通过 USB OTG 适配器连接的 USB 闪存驱动器的应用程序。Java.io.File
有没有一种简单的方法可以通过标准API访问这个存储?此应用程序只能在运行 Android 4.2.2 的已root 摩托罗拉 Xoom 上运行。任何建议,将不胜感激。
android - Android 向 USB GSM 调制解调器发送 AT 命令
我在 Galaxy Nexus 上安装了 Kali Linux(linuxonandroid 项目)。通过 OTG 电缆连接 GSM 调制解调器(华为 E169)时,它只会被检测为存储设备(使用 dmesg 检查)。在真正的 Linux 计算机上,该设备也被检测为存储设备和调制解调器 (ttyUSB0)。因此,可以使用 minicom 向它发送 at 命令。
我在计算机执行以下命令时禁用了 CD 驱动器(存储设备):AT^U2DIAG=0。该设备仍然不会被检测为调制解调器。
为了使它正常工作,我还能做些什么吗?
android - 在 Android 模拟器上测试 USB 外围设备
我有一台平板电脑、OTG 电缆和一台读取信号并通过 USB 发送信号的特定设备。现在我想制作从该设备读取数据的应用程序。该设备基于 FTDI 芯片。
在文档中声明模拟器不支持 USB 连接。那么在这种情况下如何测试和调试应用程序呢?每次都将 .apk 文件复制到平板电脑不是解决方案。
android - 将 USB 外围设备连接到安卓设备
我有一台平板设备、OTG 数据线和另一台 USB 设备。此其他设备通过 OTG 电缆连接到平板电脑。如何将平板电脑连接到 PC 以与其他 USB 设备同时进行调试?我已经尝试过 USB 集线器,但我无法从 Eclipse 中看到平板电脑。如果我使用电缆将平板电脑直接连接到 PC 以进行充电和数据传输,则调试工作但看不到我必须连接并从中读取一些数据的 USB 设备。该怎么办?
android - Android:外部设备和Android应用程序之间的USB通信
我想通过 USB 电缆实现 android 应用程序和外部设备之间的音频数据通信。
我看过android USB 文档和它的示例代码。我能够在 android 应用程序中成功检测并连接外部设备。
如何在外部设备和安卓应用程序之间传输(发送/接收)数据?
编辑:
让我解释一下我到目前为止所做的事情。
我通过下面的代码找到了设备及其接口。
然后通过以下代码打开设备连接和接口声明。
claimInterface 将成功返回给我。
根据android 开发者文档,USB_DIR_IN 为 128,USB_DIR_OUT 为 0。所以,我已经采用了这两个接口。我通过下面的代码找到了 in & out 端点。
外接设备详情:
Intarface 及其端点详细信息:
android - 通过 Android 与串行 USB 设备通信
我有一个用于测量电流的定制设备。该设备可以连接到 PC 并通过 USB 完成通信。它基于FTDI芯片。我有用 Java 编写的应用程序,该应用程序正在使用 rxtxSerial.dll 库和 gnu.io.rxtx_2.1.7.4.jar。现在我想在我的安卓设备上移植这个应用程序,我有点困惑该怎么做?我只有安卓平板电脑(操作系统版本 4.1.1)、OTG 电缆和这个测量设备。
我的设备应该植根吗?是否有任何类型的库可以简单地添加到我的 Java Android 应用程序并通过 USB 读取数据?从哪儿开始?
我尝试使用相同的库为 PC 移植现有应用程序,但 rxtxSerial.dll 丢失,我无法将其传输到我的 android 设备。
android - 带有触摸键盘的android otg交换
我是android开发的新手。我的第一个项目需要条形码扫描。我现在通过OTG提供一个选项。现在在我的屏幕上需要一个文本框,它从按键输入(用于数量)。但是在我与 OTG 连接时,我的 android 设备键盘没有启用。
我是否缺少任何设备级配置?或者我如何以编程方式控制输入方式(OTG 条码扫描仪/触摸板)。
谢谢 Binesh Nambiar C
android - 未检测到 USB 主机模式设备 - 确切需要哪些文件
我正在尝试让我的三星 Galaxy gt-i8530 手机读取 USB 设备(鼠标、随身碟、键盘)。它具有与 Galaxy s 3 mini 相同的 SoC,并且 mini 支持 OTG。我的目标不是创建一个应用程序,而是简单地打开 USB 主机模式,以便手机可以挂载和读取这些 USB 设备的文件。手机已root,安装了busybox并在4.1.2上运行。我试图找出丢失的文件,以便手机可以检测到这些 USB 设备。一旦我用合适的 otg 电缆插入 USB 随身碟、鼠标或键盘(低于 200mA),什么都不会发生。我还尝试了有源 USB 集线器,但仍然无法识别。
以下是根目录中已经存在的文件:
- /storage(未设置权限)和 /mout(权限 rwxrwxrwx)中的 UsbDriveA-F 文件夹
- 等中的vold.fstab,将命令安装到UsBDriveA-F
- etc/permissions 中的 android.hardware.usb.host.xml 权限
- etc/permissions 中的 android.hardware.usb.accessory.xml
- 手持核心硬件.xml 包括 android.hardware.usb.host
- 系统/lib中的usbhost.so
- /etc/udev/rules.d 中的 51-android.rules(最初是缺失的,所以我创建了它并添加了 SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="插件开发"
现在查看http://developer.android.com/reference/android/hardware/usb/package-summary.html我可以看到除了已经存在的
- etc/permissions 中的 android.hardware.usb.host.xml 权限
- etc/permissions 中的 android.hardware.usb.accessory.xml
似乎这些类:UsbConstants、UsbDevice、UsbDeviceConnection、UsbEndpoint、UsbInterface、UsbManager、UsbRequest 在 etc/permissions 中不存在。同样在 /lib/modules 中没有 usb-storage.ko 文件
这使我得出的结论是,由于这些缺少的类和缺少的 .ko 模块(除非这些文件可以在另一个根文件夹中找到)USB 主机模式无法在我的手机上运行。我对么?还是我错过了其他东西?谢谢
serial-port - 没有usb2uart网桥的虚拟com通信?
我想使用 virtual-com 设置将类似 beagleboard(定制开发)的 omap 板连接到 Windows PC。也就是说,我希望板子在 Windows 中显示为 com 设备,并让 COM 将数据发送到板上的应用程序。主要原因是在 Windows 上使用 virtual-com 驱动程序,因为我们现在使用的 USB 驱动程序在主机和主板之间直接通过 USB 发送数据似乎无法正常工作。
我过去曾使用 FTDI 驱动程序完成此操作,但据我所知,它之所以有效,是因为该设备有一个 FTDI 芯片,可将 USB 协议转换为串行信号(对吗?)。如果没有 USB 到 UART 桥接器董事会,我怎么能这样做?
顺便说一句,USB 通信设备类如何适合这里?应该为板子开发一个CDC驱动程序吗?那么我应该在 Windows 端使用什么?
我有点困惑,所以任何帮助将不胜感激:)
android - 闪存驱动器的 LOST.DIR 问题
我将尝试简要总结一下。我有一个应用程序可以将其数据与通过 OTG 适配器连接的 USB 闪存驱动器同步。问题是这样的:一些文件最终会放在LOST.DIR
闪存驱动器根目录中的一个文件夹中。它们都是 4KB 大,并且有随机的 3 位数字名称,没有文件扩展名。我知道它们包含来自我的应用程序的数据,因为如果我在记事本中打开它们,我可以看到我的应用程序正在输出的数据。然而,这些数据有时会与随机符号混合。根据我对文件系统的基本了解,文件大小一致和随机内容让我认为这些是被 Android 标记为坏的内存块并移至此文件夹。
有一个警告:我将闪存驱动器视为可热插拔,就像它们在 Windows 设备上一样。我知道将它们视为这样可能是无效的。为了解决这个问题,我在完成对闪存驱动器的读写操作后调用运行sync
命令。su
我的理解是,这应该将内存缓冲区/缓存与物理闪存驱动器同步,从而使其安全删除。这可能是一个错误的假设。
所以,我的问题有两个:
- 是什么导致数据随机消失并被移动到
LOST.DIR
? - 将闪存驱动器视为可热插拔是否安全?如果没有,有没有办法让他们表现得那样?
如果我的问题不够清楚或者您需要更多信息,我可以为您澄清。谢谢你。