USB主从设备(USB Host and Accessory)

来源:互联网 发布:明星吸毒 知乎 编辑:程序博客网 时间:2024/05/16 14:59
usb接口用途广泛,各种设备之间的通信都可能用到它,而且有线的通信要比无线的可靠高速,不得不好好研究一下了

    原文地址:http://developer.android.com/guide/topics/usb/index.html

     USB主从设备

    Android通过两种模式,来支持各种USB外围设备和Android USB附件(硬件实现了Android的附件协议):USB附件模式和USB主机模式。在USB附件模式下,外部 USB 硬件充当USB主机。(作为)附件的例子,包括机器人控制器、扩展插座(docking stations诊断和音乐设备、电子报亭(kiosks)、读卡器等其他设备。这种模式给予不具备主机功能的Android设备,与USB硬件通信的能力。Android USB附件,必须被设计为与装有Android的设备一起工作,并且必须遵循Android附件通讯协议。在USB主机模式下,装有Android的设备扮演着主机的角色。(外围)设备的例子,包括数码像机,键盘,鼠标和游戏控制器。那些适应面很广的USB设备,仍可以与Android应用交互,前提是这些Android应用可以正确的与这些设备通讯。

    1展示了两种模式的异同。当Android设备处于主机模式时,它扮演USB主机角色并为总线供电。当Android设备处于附件模式时,被连接的USB硬件(在这种情况下是一个Android USB附件)扮演主机角色并给总线供电。

    1. USB主从模式

    USB附件和主机模式,在Android 3.1(API level 12)或更高的平台中,直接被支持。USB附件模式,可以作为一个扩展库,后装到Android 2.3.4 (API level 10),来支持更广泛的设备。设备厂商可以选择是否在设备的系统镜像中包含这个扩展库。

    注意:对USB主机和附件模式的支持最终取决于设备的硬件,不管平台的版本(是多少)。你可以通过<uses-feature>元素,过滤出那些支持USB主机和附件的设备。查看USB附件主机文档,可以获取更多详细信息。

    调试注意事项

    当调试那些使用了USB附件和主机特性的应用时,你可能要把USB硬件,连接到你的Android设备上,这将阻止你通过USB建立与Android设备的adb连接。你仍然可以通过网络连接,来访问adb通过网络连接使用adb

    1. 通过USB,Android设备连接到电脑。
    2. SDK platform-tools目录下,在命令行中输入adb tcpip 5555
    3. 输入adb connect <设备的IP地址>:5555,你现在应该已经连接到Android设备了,并能像adb logcat一样执行常用的adb命令。
    4. 要设置你的设备监听USB(即恢复回原来的通过USB来建立adb连接的方式),输入adb usb
    0 0