作为一名Android技术宅,USB OTG是你必须了解的,所谓USB OTG就是你可以利用手机或平板上用来充电、与电脑传输数据的micro USB接口来连接其他USB外设,如游戏手柄、鼠标、键盘、U盘甚至移动硬盘(当然你需要额外供电)。而一条USB OTG数据线也就是必备的工具了。

成品效果

目前关于能否兼容何种USB外设,以及是否需要root你的Android设备并没有一个明确的标准,不过一般情况下“标准”的Android设备如果没经过root的话是无法挂载USB外设的。只有运行Ice Cream Sandwich或更高系统的Android设备才能识别出USB游戏手柄、鼠标或键盘。具体情况可以咨询你身边更加资深的技术宅们。

在我们开始之前有必要说明一下,DIY并不是我们得到一条USB OTG数据线最好的办法,从网上买一条然后等快递上门是最方便的。当然了对于技术宅来说这个办法简直弱爆了,我们身边各种各样的数据线为我们提供了足够的材料,废物利用即环保又省钱,还能满足DIY的乐趣,如果你手头正好有电烙铁,那么我们就可以开始了。

材料及工具

材料和工具

我们需要准备一些材料和工具,不过别担心都是很常见的,所有需要的工具你都可以在一个技术宅的工具箱中找到:

电烙铁,低瓦数的就可以

细无铅焊料

一把锋利的小刀

一些电工胶带及热缩管

一条标准的micro USB数据线

一个A型USB延长线

焊接跳线

我们需要的是micro USB小头的部分,以及USB延长线的母头端,不过首先我们需要在micro USB接口处焊接一截跳线。拿起micro USB线,用小刀削掉小头部分的外皮,直到看到焊点为止,所以我们需要多削掉一些。

切开micro USB公头

焊点一 红色 VCC

焊点二 白色 DATA-

焊点三 绿色 DATA+

焊点四 无 ID

焊点五 黑色 地线

当我们把接口切开之后,会看到彩色的细电线焊接在小引脚上,这些线缆和引脚对应于上面的列表。我们需要将焊点四(ID)与焊点五(地线)通过跳线连接在一起。在标准的USB数据线中焊点四是开放的,而在USB OTG数据线中焊点四是需要接地的。你可以在数据线的任何地方焊接跳线,只要保证将焊点四和焊点五连接起来就可以了。

焊接跳线

然后将USB数据线做过手术的这一端完全减下来,记得留下足够长的接线,并准备两截热缩管(如果你有的话),将它们套在数据线上,但不要马上就加热,一切收尾工作都要在功能测试正常之后进行。

拼接数据线

将USB延长线的公头剪下来,剥去5厘米左右的外皮,查看一下露出来的细电线的颜色是否与之前加工好的micro USB线相同。如果相同的话只需依次按颜色匹配连接在一起就好,如果不幸不同,那么按照上面的焊点列表切开之前剪下的公头比对,如果你手头有万用表的话还可以实际测试一下。

拼接数据线

将两条数据线小心的拼接在一起,并确保在拼接前已经把热缩管套在数据线上了。由于之后在使用中会经常弯折拖拽等等,所以一定要确保焊接的足够结实,即使多花些时间也没关系的。

测试

当所有焊点都冷却后,小心的将数据线接到手机或平板上,找一款老式的USB有线鼠标,接到数据线的另一端,在几秒钟之内你应该就可以看到设备上出现了鼠标指针,如果你用的是激光鼠标而不是滚球鼠标,应该在插入的时候还可以看到鼠标亮起来。

虽然在手机或平板上外接一个鼠标很酷但其实并不是很实用,这仅仅是为了测试而已,如果一切正常的话,加热热缩管,如果没有热缩管的话可以用电工胶布将数据线的接口部分缠严。鼠标与所有其他USB设备使用的都是相同的四个接点,所以如果鼠标可以正常运转的话那么就说明我们的数据线成功了。

加热收紧热缩管

加热收紧热缩管

实际使用

如果你使用的是三星Galaxy S3,那么可以直接通过USB OTG数据线连接U盘,你会在手机的资源管理器中发现一个新的文件夹,名叫USB storage,里面可以看到所有U盘上的文件。如果你使用的是Nexus 7或Galaxy Nexus的话就会稍微复杂一点了。

原生的Jelly Bean系统可以识别并挂载U盘,不过系统不会自动安装它。就是说手机和系统是支持U盘的,但是不能直接用。Android的开发者们表示这样做是有目的的,他们会提供实现这一操作的所有功能,但是并没有提供用户界面,他们不希望手机自动读取U盘。关于这个话题之前也争论了很久。

而现在我们需要做的就是root你的设备,当你root设备之后,从谷歌Play商店下载StickMount并安装,之后当你连接U盘时就会得到提示,挂载U盘后就可以看到里面的文件了。

Android技术宅:自制USB OTG数据线的更多相关文章

  1. android USB OTG功能实现

    一个.检查HW概要,确认是否支持OTG特征(vbus无论是动力,IDDIG pin连接是否正确) 两.如果HW确认支持OTG特征,然后根据以下方法被打开USB OTG功能及实现山: 如何打开USB O ...

  2. USB otg 学习笔记

    1 USB OTG的工作原理 OTG补充规范对USB2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device ...

  3. USB OTG to PC USB API简介

    本API分为四部分:Linux或Android内核 (主要是gadget驱动).linux端API及其DEMO.Windows 驱动.Windows API及其Demo. 一.linux.Androi ...

  4. USB OTG介绍(转载)

    1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...

  5. USB OTG学习

    1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...

  6. 详述USB OTG发展及协议标准

    USB On-The-Go 扩大了USB 的应用领域,将USB 从传统的PC 与外设通讯的模式,扩展到移动电子和嵌入式领域中,抛开主机PC,实现通常的外设与外设之间点对点(Point to Point ...

  7. USB OTG简单介绍

    1 引言 随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口.如今,USB支持三种传输速率:低速(1.5Mb/s).全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输 ...

  8. USB OTG简要

    1 介绍 随着USB2.0发布版本号,USB更受欢迎.它已成为一种标准接口.现在,USB它支持三种速度:低速(1.5Mb/s).全速(12Mb/s)速(480Mb/s),四种传输类型:块传输.同步传输 ...

  9. 如何打开USB OTG功能:

    一.检查HW原理图,确认是否支持OTG功能(vbus是否供上电,IDDIG pin连接是否正确)二.若HW确认支持OTG功能,则按照以下方法分别打开USB OTG功能及实现挂载: 如何打开USB OT ...

随机推荐

  1. 为什么我们需要性能测试,需要loadrunner

    什么是功能: 功能按我理解就是软件实现需求,提供服务,那么功能测试就是实现的需求是否与客户给定需求一致,也就是符合预期结果 什么是性能: 功能是实现需求,提供服务,那么性能就可以理解为服务的好坏.比如 ...

  2. 一个简化的printf函数

    <C和指针>第7章第5道编程题: 实现一个简化的printf函数,它能够处理%d.%f.%s 和 %c 格式码,根据ANSI标准的原则,其他格式码的行为是未定义的.你可以假定已经存在函数 ...

  3. tomcat优化-有改protocol 和 缓存 集群方案

    tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...

  4. jquery 事件委托三种事件绑定方式.bind(),.live(),.delegate()

    http://www.ituring.com.cn/article/467# http://www.cnblogs.com/lvdabao/archive/2013/08/30/3290603.htm ...

  5. 实测Eclipse连接小米2S调试问题

    小米2S手机在Eclipse真机调试时,设备选择列表无法显示手机,DDMS也连接不上设备,解决步骤: 1.打开手机设置中开发者选项 - USB调试开启: 2.保证小米2S手机Windows下设备驱动已 ...

  6. java设计模式--行为型模式--迭代模式

    迭代器模式 概述 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 适用性 .访问一个聚合对象的内容而无需暴露它的内部表示. .支持对聚合对象的多种遍历 ...

  7. lostash 正则

     (?:\s+?)  0个或者多个空格

  8. C++的四种cast操作符的区别--类型转换

    Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意? A:转换的含义是通过改变一个变量的类型为别的类型从而 ...

  9. __declspec,__cdecl,__stdcall都是什么意思?有什么作用?

    __cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要 ...

  10. android安卓开发问题集 XMPP篇

    1.消息推送查了下资料,后面还是使用了androidpn (1)java.security.KeyStoreException: KeyStore jks implementation not fou ...