Articles of USB

当终端显示“抱歉,找不到PTY”时该怎么办? (Mac OSx)

我正在将一个Android设备连接到FTDI,后者连接到我的Mac。 在我的Android设备上,我正在使用FTDI AOA HyperTerm。 我可以使用这个程序向我的mac发送没有任何问题的字符: https : //www.decisivetactics.com/products/serial/ 。 如你所见,我只能使用它7天,所以我想用我的终端代替。 当我运行此命令时: screen /dev/tty.usbserial 9600 我得到一个有两条消息的空白屏幕,第二个是“抱歉,找不到一个PTY”。 我该怎么做才能解决这个问题? 编辑:当我关闭串行程序时,它在我的终端上工作。 但是,当我重新启动终端时,它会给出相同的消息。 我打开串口,选择我的USB设备,关闭串口并使用我的终端。 为什么是这样?

Java.io.IOException,“坏文件号”USB连接

我正在设置Android手机和其他设备之间的USB配件连接。 只是来回发送字节进行测试。 我一开始就得到了一些明确的沟通,但它最终会因为Java.io.IOException: write failed: EBADF (Bad file number)”而死亡Java.io.IOException: write failed: EBADF (Bad file number)”在一秒左右之后。有时读数仍然存在但写作已经死亡;其他都是死。 我没有像谷歌文档那样做任何超级想象,阅读和写作的事情: 初始连接(在广播接收器内部,我知道这部分至少在最初工作): if (action.equals(ACTION_USB_PERMISSION)) { ParcelFileDescriptor pfd = manager.openAccessory(accessory); if (pfd != null) { FileDescriptor fd = pfd.getFileDescriptor(); mIn = new FileInputStream(fd); mOut = new FileOutputStream(fd); } } 读: Thread thread = new Thread(new Runnable() { @Override public void run() […]

关于android中的controltransfer设置USB通信的说明

我正在尝试编写Java代码,让我的XOOM通过USB转串口电缆与我们的嵌入式设备进行通信。 我使用了这段代码: connection.controlTransfer(0x21, 34, 0, 0, null, 0, 0); connection.controlTransfer(0x21, 32, 0, 0, new byte[] { (byte) 0x80, 0x25, 0x00, 0x00, 0x00, 0x00, 0x08 }, 7, 0); 我知道这是将设置请求发送到USB设备。 我不明白为什么requestType是0x21,为什么requestID是32,34等。 根据这里的规范: http : //www.beyondlogic.org/usbnutshell/usb6.shtml#SetupPacket ,在标准设备请求,标准接口请求和标准端点请求中,requestType都不是0x21而且requestID都没有32或34.这些参数是否有任何解释,包括传输的日期缓冲?

Google Glass未被亚行列为Android设备

我正在尝试将玻璃器皿.APK部署到Google Glass设备,但ADB没有列出。 我按照几个指南介绍了如何将Google Glass连接到Windows 8操作系统: glassdev CodeProject上 堆栈溢出 为了将设备连接到我的电脑,我做了以下操作。 1.安装USB驱动程序以为Android SDK Manager 2.更新android_winusb.inf文件并包含识别设备所需的行: https ://dl.dropboxusercontent.com/u/83972129/android_winusb.inf 我在设备“硬件ID”设置下find的这些ID: USB \ VID_18D1&PID_9001&REV_0216 USB \ VID_18D1&PID_9001 3.连接设备并强制使用上面的驱动程序 https://dl.dropboxusercontent.com/u/83972129/android_device.png 看起来几乎和指南一样,它被安装为“Android ADB Interface”而不是“Android Composite ADB Interface” 然后我去了ADB工具并试图列出Android设备: https://dl.dropboxusercontent.com/u/83972129/android_adb.png 谷歌玻璃不存在,没有adb服务重启没有系统重启帮助。 5.因此,IDE无法看到设备,无法部署.APK 我该如何调试这个问题? 这可能有什么问题?

三星Galaxy S2 Android上的USB附件API

我无法将我的Android应用程序启动到三星Galaxy S2上。 我正在尝试使用Google Add on Library for USB Accessory。 当我在Google Nexsus S上启动相同的应用程序时,它运行正常。 在应用程序清单文件中,我使用了以下标记(在应用程序标记下): 我在控制台上收到的错误是 [2011-08-11 12:00:28 – App] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY [2011-08-11 12:00:28 – App] Please check logcat output for more details. [2011-08-11 12:00:29 – App] Launch canceled! 现在,如果我从清单中省略以下行: 我在LogCat上收到以下错误: 08-11 11:58:40.250: ERROR/AndroidRuntime(30780): java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager 任何解决这个问题的想法? 我的目标是在Galaxy S2上使用USB主机(或至少使用USB附件API)。

通过usb访问dev机器localhost

我的活动需要与位于我的开发机器上的java服务器通信。 实际上,使用模拟器,我可以通过特殊的10.0.2.2地址访问服务器套接字。 现在我想在通过usb连接的手机上测试我的应用程序,但似乎我不能再使用10.0.2.2访问我的开发机器localhost了。 自然地使用wifi路由器和适当的局域网寻址可以解决问题,但我需要使用USB连接。 任何提示? 编辑: 只是添加了不同的场景,让大家更好地理解: 1.基于仿真器的场景: 在我的电脑上运行的标准java服务器@localhost:15000 在我的模拟器上运行的android java客户端。 当Android应用程序需要联系服务器时,它使用10.0.2.2:15000,如此处指定的那样。 一切正常。 2.物理连接设备的正确wifi方案: 在我的电脑上运行的标准java服务器@ 192.168.1.10:15000。 在我的设备上运行的android java客户端,分配了192.168.1.11地址。 当Android应用程序需要联系服务器时,它使用192.168.1.10:15000并且一切正常。 3.期望的场景: 在我的电脑上运行的标准java服务器@localhost:15000。 在我的设备上运行的android java客户端通过usb电缆连接。 没有网络活动。 当android应用程序需要联系服务器时,它会尝试连接到10.0.2.2:15000,但会抛出exception(Network unreachable)。 看起来特殊地址10.0.2.2仅适用于仿真器实例。 我只是想知道在adb / adt套件中是否有办法从通过usb电缆连接的设备访问pc地址。 我希望现在更清楚一点。 谢谢。

使用Javascript,HTML5或任何跨平台语言将数据写入USB HID(支持Android)

我用HTML5和JavaScript编写了一个UI。 我选择了这个实现,以便我可以在Android Chrome和Windows 8 RT之间共享相同的代码。 现在,我的下一个目标是将数据写入USB HID。 我正在与之通信的设备被视为HID。 我提到这个部分是为了有办法写入HID设备而不是USB RAW设备。 我已就这件事做了很多研究。 但是,HTML5规范经常变化,以至于我可能错过了一些东西。 无论如何,有人可以推荐一种语言或实现,我可以使用它来共享公共代码来访问Android和Windows 8 RT上的USB设备吗? 如果没有办法在两者之间分享,那么仅在Android上获得USB通信的建议怎么样? 以下是我的研究和结论: Silverlight:不支持。 在Web插件方面,Windows 8 RT或Android不支持 Flash:可能的选项。 虽然他们在发布Jelly Bean时删除了对Android的支持,但在这两种操作系统中均受支持 HTML5:不支持 看看GamePad API,但它似乎只支持从游戏手柄中读取 查看了设备标记,但当前草稿中不再存在此标记。 我读到“导航器”对象在Javascript中替换它,但它看起来完全不同。 此外,设备仅针对获取video和音频 JavaScript:不支持。 根据我的理解,这是因为它存在安全风险。 Chrome打包应用:不支持。 不确定Windows 8 RT中的支持。 但是,Android Chrome也不支持它。 存在一个USB API ,可以完全满足我的需求,但API仅适用于打包的应用程序 Java Applet:UNSUPPORTED。 不确定Windows 8 RT中的支持。 但是,Android Chrome也不支持它。 有关如何与USB设备通信的许多资源。 但是,由于智能手机不支持Java小程序,因此最终不受支持。 几个有用的post 如何在asp.net中向串口或USB端口发送和接收数据? 是否可以从Web应用程序访问跨浏览器跨操作系统的USB? 是否可以提供javascript API来控制USB,LPT,COM设备?

处理Android中的所有鼠标事件

好吧,问题很简单 – 如何在android 2/3/4中处理左/右/中间点击,滚轮和(!)hover移动。 我一直在挖掘这个话题,发现了以下内容 在api 14中,我们可以使用花哨的新MotionEvent来处理几乎任何事情 自从api 12(仍然缺少蓝牙)(UPD OA向后移植到2.3.4)以来,我们也有开放附件似乎可以使用USB鼠标 鼠标实际上适用于具有ICS和Honeycomb以及cynogen 2.3.7的平板电脑,但只需按一下按钮即可。我想知道有没有办法拦截鼠标消息。 请帮助我了解如何在每个版本的android中以最简单和正确的方式处理蓝牙和USB鼠标。 或者说它不可能。 UPD2:看起来像USB主机仅在3.1+,而USB附件无用于此任务

传输数据USB

我正在尝试通过USB发送和接收数据,我的设备,Acer Iconia A500具有连接到设备所需的一切和​​一切,这很好并且工作正常,但是当我尝试发送和接收数据时,它不会表现为预期。 这是我的代码 for( ; ; ) { //this is the main loop for transferring String get = “$getPos”; byte[] getBytes = get.getBytes(); conn.bulkTransfer( epOUT, getBytes, getBytes.length, 500 ); try { Thread.sleep( 500 ); byte[] buffer = new byte[4096]; conn.bulkTransfer( epIN, buffer, 4096, 500 ); StringBuilder byStr = new StringBuilder(); for( int i = […]

Android USB Host API:批量传输缓冲区大小

我正在编写软件来在平板电脑 (摩托罗拉Xoom与Android版本4.0.3和内核版本2.6.39.4) 和使用 Android提供的USB Host API的外围设备 之间进行通信 。 我只使用两种types的通信: control : controlTransfer(int requestType, int request, int value, int index, byte[] buffer, int length, int timeout) bulk : bulkTransfer(UsbEndpoint endpoint, byte[] buffer, int length, int timeout) 控制传输工作正常,但我有批量传输的问题。 我只能使用32768作为bulkTransfer函数的缓冲区大小。 不可能使用更少或更多。 我知道由于缓冲管的限制(大小:32769字节),我不能使用更多。 此外围设备流式传输bulkTranfer函数无法正确读取的数据。 我想有些数据会丢失。 我发现: 在Linux中如果进程尝试从空管道(缓冲区)读取,则read(2)将阻塞,直到数据可用。 如果进程尝试写入完整管道,则写入(2)块,直到从管道读取足够的数据以允许写入完成。 基于此,我对该问题的解释是由于write(2)函数产生的阻塞标志,一些数据不会写入管道(缓冲区)。 我对么? 如果这是真的我可以改变管道缓冲区。 我对此问题的第一个解决方案是更大的缓冲。 对于kernel> = 2.6.35,您可以使用fcntl(fd, F_SETPIPE_SZ, size)更改管道的大小,但是如何findUSB管道的fd (文件描述符)? 第二个选项是使用ulimit […]