USB主从设备(USB Host and Accessory)
2016-05-19 21:29
302 查看
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:
通过USB,将Android设备连接到电脑。
从SDK
的platform-tools目录下,在命令行中输入adb tcpip 5555。
输入adb connect <设备的IP地址>:5555,你现在应该已经连接到Android设备了,并能像adb
logcat一样执行常用的adb命令。
要设置你的设备监听USB(即恢复回原来的通过USB来建立adb连接的方式),输入adb 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:
通过USB,将Android设备连接到电脑。
从SDK
的platform-tools目录下,在命令行中输入adb tcpip 5555。
输入adb connect <设备的IP地址>:5555,你现在应该已经连接到Android设备了,并能像adb
logcat一样执行常用的adb命令。
要设置你的设备监听USB(即恢复回原来的通过USB来建立adb连接的方式),输入adb usb。
相关文章推荐
- 第4章:分治策略 ——最大字数组问题
- Struts2中集合在jsp中循环显示
- TCP/IP、Http、Socket的区别
- 数据仓库介绍
- MySQL5.7.12新密码登录方式及密码策略
- oracle拼接字段和group by的使用
- 简单研究跨域的几种方法
- ArrayBlockingQueue和LinkedBlockingQueue的使用
- 《JAVA异常处理》ArrayIndexOutOfBoundsException异常与OutOfMemoryError错误
- 计算机硬件组成
- kettle运行时报错 could not create java virtual machine
- BNU 33693——Problemsetting——————【枚举+最大流】
- Windows下SQLMAP的安装图解
- zebra结构分析三[syslog模块]
- iOS 开发者必知的 75 个工具(译文)
- TCP/IP、Http的区别
- css3动画之animate
- 2016-5-19模拟测试 bzoj3652 bzoj3653 bzoj3654
- Linux 中的find指令
- LruCache