3.5mm数据传输 ios_ios12.3降级ios9.3.5 - CSDN
精华内容
参与话题
  • 一文读懂Android/iOS手机如何通过音频接口与外设通信 0 背景 1 音频口通信特点 1.1 通用性强 1.2 速率低 1.3 小信号 2 手机音频口通信原理 2.1音频接口 2.2音频通信模型与信号组成 2.2.1通信模型 2.2.2...

    一文读懂Android/iOS手机如何通过音频接口与外设通信


    更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:
    在这里插入图片描述


    • 0 背景
    • 1 音频口通信特点
    • 1.1 通用性强
    • 1.2 速率低
    • 1.3 小信号
    • 2 手机音频口通信原理
    • 2.1音频接口
    • 2.2音频通信模型与信号组成
      • 2.2.1通信模型
      • 2.2.2音频通信使用的信号
    • 3 手机音频口全双工通信方案
    • 3.1设备→手机
    • 3.2 手机→设备
    • 4 案例分析(以2FSK信号调制为例)
    • 4.1 2FSK信号调制
    • 4.1.1 Android下实现2FSK软件调制
    • 4.2 2FSK信号解调
    • 4.2.1解调电路
    • 4.2.2解调原理分析
    • 5 音频口通信关键技术与问题分析
    • 5.1 从手机获取电能
    • 5.2 不同手机音频口驱动能力
    • 5.3 不同手机对音频信号的处理
    • 5.4 调制信号处理
    • 5.5编码与速率问题
    • 5.6 通信协议制定
    • 6 现有的解决方案
    • 6.1 Hijack Project
    • 6.2手机刷卡器(拉卡拉)
    • 6.3 其他产品
    • 7 开发需要考虑的几点
    • 参考文献及网页链接

    #0 背景
    -> 随着移动互联网技术的迅猛发展,两大主流智能移动设备iOS 和Android占据了绝对的市场,除了基本的通话、娱乐功能之外,这些移动设备已经成为新时代中重要的信息终端设备节点。
    -> 目前智能移动设备主要集成了Wi-Fi、蓝牙无线通信标准接口,然而在外设应用领域中,由于受成本、功耗等因素的限制,许多传感器、控制设备往往采用传统的串行通信、USB通信等技术,但是有些智能手机或平板电脑缺乏这些通信接口,因此未来应用手机和传统设备之间统一的通信接口–音频接口,有着极大的市场。
    -> 目前手机外设+ 手机APP模式已是未来产品的一个新导向。因此,解决跨平台下手机与外设的通信也是未来的移动技术的重点。
    下图是市面上现有的几种基于音频口通信的设备:

    这里写图片描述
    图1 红外遥控器
    这里写图片描述
    图2 心率测试仪
    这里写图片描述
    图3 手机刷卡器


    #1 音频口通信特点
    ##1.1 通用性强

    在智能手机普及的今天,手机的对外通信接口多种多样,而其中以3.5mm的音频接口通用性最强,基本所有的手机、平板电脑都会有这个接口,所以在一些要求通用性的设备上,音频接口成为首选。

    ##1.2 速率低
    由于手机音频部分的采样频率一般为44.1KHZ(部分国产山寨为8KHZ
    ),这极大的限制了音频通讯的速率。
    我们都知道如果是44.1KHZ的采样频率,那么最高的信号频率只能为20KHZ左右,而信号周期也不可能只有2个采样点,通常要到10个以上,这样层层下来通讯速率可想而知。
    ##1.3 小信号
    音频通信的信号都是毫伏级的,各个手机厂商略有不同,但通常最大不超过200mv。
    通常我们通信使用的信号强度也就100mv左右,这导致信号比较容易受干扰,且在开发阶段对工具有着种种限制。


    #2 手机音频口通信原理
    ##2.1 音频接口

    这里写图片描述
    图4 音频接口(国际标准和国内标准)
    首先,音频接口上传输的是音频信号,如耳机听音乐、打电话;如今使用的耳机大多是3.5mm的四芯座,分别是地、左声道、右声道和麦克风MIC(线控开关)。
    如上图,左边是国际标准,右边是国内标准。因此可以看出,手机向外部发送数据是通过左右声道,接受数据是通过MIC口作为信号通道;这为手机与外设全双工通信建立了硬件基础。

    ##2.2音频通信模型与信号组成
    ###2.2.1通信模型
    所有的音频信号都是模拟信号,所以手机的音频口通信实际上就是对音频信号的调制和解调。
    调制有模拟调制和数字调制之分,模拟调制就是把模拟信号(比如人说话的声音)直接加载到电磁波上,使得电磁波的某一特性随着声源的变化而变化;而数字调制是近现才发展起来的,特别是DSP(数字信号处理)技术的发展,数字调制中的调频FM有2FSK(2进制调制)、4FSK(4进制调制)、8FSK(8进制调制)等等
    这里写图片描述
    图5典型的 音频通信系统模型
    可以看出由设备→手机是用MIC,手机→设备用左、右声道中的任意一个。实际产品中,最终手机解析信号是需要的是频率和幅值。另外说明实际应用中两个声道一般只用一个,剩下的一个通常被用来帮助设备进行上电识别或者供电。
    ###2.2.2音频通信使用的信号:

    1、方波:方波通常使用的是曼彻斯特编码方式,它的好处是可以用单片机直接输出方波,经过衰减后即可使用,方便简单。缺点是兼容性不好,因为手机音频部分有这样一个特性,它只识别变化的电平信号,当麦克输入的信号长时间保持在某一非零电平时,手机会将其视为零,而强行拉回零电位。这就是采用方波通讯方式的兼容性不好的最大原因了,并且方波也容易受干扰。
    2、正弦波:正弦波不会出现上面所说的方波的问题,故正弦波的兼容性和稳定性更好一些。通常采用方案有FSK、DTMF、信号发生器、或方波转正弦波等。


    3 手机音频口全双工通信方案

    要实现手机音频口的全双工通信,必须满足2个条件:

    • 1.信号必须在音频频率之内
    • 2.需要是低功耗的
      第一个条件限制了信号带宽,第二个条件限制了成本和功率。在这2种限制条件下,目前主要有2种方式实现这种同时的双向通信:FSK调制和基于曼彻斯特编码的直接数字通信。

    ##3.1设备→手机
    1、曼彻斯特编码(Manchester Encoding):是一个同步时钟编码技术;在诸多通信方式中,曼彻斯特编码是最灵活简便的一种方法,编码信号可由单片机直接产生,经衰减电路衰减后便可直接使用。注意事项:曼彻斯特编码信号的生成有两种方式,一种是用PWM生成,一种是用定时器中断翻转IO。

    曼彻斯特编码可以直接进行数字传输,编码将1变成01,而将0变成10,在每位编码中有一跳变,同时将时钟同步信息一起传输到对方。虽然这种编码方式将传输速率降低了一半,但是在编码后0和1的数量完全相等,不存在直流分量,因此具备自同步能力和良好的抗干扰能力。

    这里写图片描述
    图6 曼彻斯特编码后的波形

    2、 FSK(Frequency-shift keying)编码方式:FSK使用时通常都是用集成的芯片来生成的,而这些芯片通常都是遵守固定的通信协议的的要求(FSK为Bell202或V.23协议)。这两种通信方式的优点是采用正弦波通信、稳定性好且使用简便。但由于固定通信协议的限制导致通信速率、比特率也受到限制而缺乏灵活性。

    FSK的原理很简单:用一个频率表示1,另一个不同的频率表示0。在这里我们使用1200Hz的信号代表0,2400Hz的信号代表1。如图所示,1(高电平)所在的频率高,0(低电平)所在的频率低,这样就完成了FSK调制。

    这里写图片描述
    图7 FSK调制后的信号

    3、 信号发生器、锁相环方式:这种方式用信号发生器或者锁相环来产生方波或正玄波,由单片机来控制波形的输出,也可以实现音频通信,且十分灵活。但缺点是电路较复杂,且不同频率信号之间衔接不好掌握。

    ##3.2 手机→设备
    由于手机输出的音频信号很小,无法直接使用,因此现有方案是用运放发大到合适的范围,与用电压比较器转换成TTL方波。

    1、 放大电路方式:将手机输出信号经放大电路放大到合适的幅值,然后有锁相环或者通过FSK、DTMF芯片进行解析。
    2、 电压比较器方式:将手机输出的交流信号经电路强行拉到Vcc/2级别,然后加到电压比较器一端,另一段接比较电压Vcc/2,这样交流信号即被转化为TTL方波信号,再进行解析就容易了。


    #4. 案例分析(2FSK信号调制)

    4.1 2FSK信号调制

    2FSK按字面的英语全称是:2 (binary system) Frequency-shift keying(二进制频移键控),就是用二进制里的0、1来控制载波的频率,从而达到通信的目的。
    例如:我们用1ms长、1KHz的正弦信号来代表二进制里的1;用1ms长、2KHz的正弦来代表二进制里的0;那一连串的1KHz、2KHz的信号解调出来就是一连串的0和1。

    这里写图片描述
    图 8二进制调频示意图
    ###4.1.1 Android下实现2FSK软件调制
    要实现2FSK,首先需要在Android系统下面获得一个基准的正弦信号发生器,有了这个基准的正弦信号发生器,只要给一个二进制量(0 or 1),就可改变输出频率,从而达到我们想要的信号调制目的。
    如下图,经过调制后的信号输出波形图:(黄色的是实际输出波型、红色方波是对应二进制数据)
    传送的数据是定义的通信协议头:0x5AA5

    这里写图片描述
    图9经过调制后的信号输出波形图
    然后设计Android程序,步骤如下:
    • 获取对应音频采样率下的最小缓冲区的大小
    • 新建Audio Track(音频数据输出Class)
    • 将缓冲区中的音频数据写入音频播放线程并设置左右声道音量等
    注:若需要其中一个声道对外部扩展头供电,可以设置该声道为循环播放。
    ##4.2 2FSK信号解调

    ###4.2.1解调电路
    解调端使用MSP430的单片机,主要是因为TI的单片机功耗较低,休眠状态下,电流可达到uA级,正常工作下电流也可以保持在几个mA级左右,适合手机音频口通信。
    这里写图片描述
    图10 MSP430 解调电路
    案例中P2.3脚接手机音频口的右声道,
    在单片机代码里设置并激活此引脚的第二功能(比较器0)的正向输入端,并将比较器0的反向输入端配置成内部VCC/2参考电压,如图,在手机右声道上用两个100K的电阻对VCC进行分压,所以只要右声道的电压在比较器导通的范围内变化时,比较器就能捕获到手机右声道上的信号了。下图是比较器的输出特性:

    这里写图片描述
    图11 比较器的输出特性
    调制信号经过比较器之后的输出波形图如下:
    这里写图片描述
    图12 调制信号经过比较器之后的输出波形图

    ###4.2.2解调原理分析
    既然前面的调制信号是用不同频率的波形来表示的,经过比较器之后,输出的波形如上图所示,这些宽窄有续的方波里就携带了我们想要的信息,然后再通过MSP430单片机里的捕获器来捕获这些方波信号。

    同时用定时器来计算这些方波的时间,从而解调出我们前面调制的信号,最终获得码元。

    解调过程方框图如下:

    这里写图片描述
    图13 解调过程方框图


    #5 音频口通信关键技术与问题分析

    ##5.1 从手机获取电能
    如果外设没有电池供电,要实现音频口通信,首先就需要从音频口获取电能来驱动单片机或者传感器等设备,然后才能将数据转换成音频数据通过音频口传输出去,或者将传感器收集到的数据通过单片机转换成音频数据后通过mic口传入手机。
    一般的音频口取电电路都是一个通用的升压电路,因此升压电能转换效率和是非常关键的。
    ##5.2 不同手机音频口驱动能力
    这里写图片描述
    图14 不同手机音频口驱动功率对比
    如图14所示,iPhone音频口可以输出16mw的功率,而其他的安卓手机只有几mw的输出能力;对于iPhone手机强大的音频口驱动能力,足以驱动常见的单片机及传感器

    ##5.3 不同手机对音频信号的处理
    在个别手机上,接收到的音频波形跟其他手机相比,是反相的。即高电平的波峰变成了低电平的波谷。这个问题可以在解码的时候,根据特定的前导码来判断。
    手机Mic采样到的音频信号电平可能会不一样。例如同一段音频信号,使用A手机Audio Record采样出来,波峰的值大概是32000;另外找一个手机可能是3200。
    考虑到人耳能听到的音频信号一般都是在100Hz——10KHz左右的范围内,各别手机自带的降噪音等能力,会自动对音频信号进行处理、滤波。
    ##5.4 调制信号处理
    传输上使用什么样的调制方式,采用什么样的波特率、频率。如何对调制信号完成数据的组帧和解帧,才能手机音频口和外设之间可以实现高效的双向全双工通信。
    ##5.5编码与速率问题
    编码上如何编码表示数据,如何校验和纠错,如何滤波和解码数据。还需要进行简单的纠错编码,这样在出现少量错误的时候可以进行校正,进一步的降低误码率。
    在保证误码率的同时,还要考虑传输速率,目前至少要达到2k~4kbps的传输速率才能满足系统需求。
    ##5.6 通信协议制定
    通讯上如何制定合适的协议,包括如何判断信号开始、如何握手建立连接。


    #6 现有的解决方案
    ##6.1 Hijack Project

    Hijack是一个硬件和软件平台,用来在小型、低耗电周边设备和iOS设备之间建立通信。
    该系统采用22kHz音频信号,将其转换为7.4mW电能(转化效率47%),可以带动一个TI MSP430微控制器和其它电子元件,并实现Hijack和iOS应用进行通信。
    这里写图片描述
    这里写图片描述
    图15 现有的Hijack 开发板
    这里写图片描述
    图16 Hijack音频口取电电路
    取电电路分析:
    Right接耳机右声道输出,之后是一个升压变压器T1,因为输出的音频电压很低,甚至不能触发后面的场效应晶体管FET导通,所以需要先升压。升压完了之后经过FET组成的桥整流电路,再经整流二极管D1调整以后就得到直流输出。
    这里写图片描述
    图17 Hijack App测试

    ##6.2手机刷卡器(拉卡拉)
    手机音频刷卡器是一种转账工具,用于个人支付和转账支付。它必须包括一个超低功耗微控制器(MCU)、支付卡插槽、安全访问模块、篡改检测脚、音频接口。
    这里写图片描述
    图18 音频口刷卡器框架图
    拉卡拉就是一个手机刷卡器;拉卡卡、智能手机、拉卡拉软件、网络,构成了一个完整的、更强大的POS系统。
    这里写图片描述
    图19 拉卡拉示意图
    芯片处理输入信号和转换刷卡数据处理模块,它是整个系统的核心。在手机应用里点击刷卡时,音频信号通过L或R从手机发送到电路板,通过A\D模块转换成数据信号。刷卡时电路板拿到银行卡6,再通过A\D模块转换成音频传输给手机。当然手机APP应用里在信号出入的时候,也需要做相应的A\D编解码工作,这也是手机APP里最重要的工作。
    这里写图片描述
    图20手机与拉卡拉音频通讯示意图

    手机与拉卡拉的音频通讯过程大致如下:
    • 先在手机上打开拉卡拉的应用。点击刷卡。
    • 手机应用会调用Android Api的Audio Track,通过L和R线路给拉卡拉手机刷卡设备发送一段通知信号(L和R表达的信息是一样的,只是波形是反相的,L的高电平对应于R的低电平,还没搞清楚拉卡拉为什么这么设计)。
    • 芯片上的通讯模块拿到音频信号,解码后发现是刷卡通知,就等待刷卡层传来刷卡信息。
    • 在刷卡槽刷卡后,卡的信息传递给芯片。
    • 芯片拿到卡的信息,编码成音频信号,同M线路发送给手机。
    • 手机APP通过Audio Record对音频信号进行采样,拿到数字信号。
    • 手机APP程序通过对数据信号进行解码,拿到实际的数据信息,即卡的信息。
    • 如果刷卡失败,则手机APP拿到的是一段失败提示信息。
    • 至此手机与刷卡器的通讯完成,手机APP再使用此卡的信息与拉卡拉的服务器端后台通讯,处理后续支付操作。

    ##6.3 其他产品
    这里写图片描述
    图 21Quick-Jack评估测试板
    这里写图片描述
    图22 智能手机温湿度监控产品
    这里写图片描述
    图23 音频-串口转换模块


    #7 开发需要考虑的几点

    • 1、 手机录音软件,最好能在手机上直接看到波形的。
    • 2、 建议用笔记本电脑进行开发,而非台式机。因为音频信号很小,容易受干扰,而台式机干扰较大,笔记本还有一个好处是必要时可将外接电源拔掉,用电池供电。
    • 3、 录音笔,有时需要得到纯净的音频信号,方便更加准确的分析。
    • 4、 音频转接板,一边接音频母座,一边接音频公头,将MIC、地、左、右声道4跟线用排阵引出,方便录音。
    • 5、 需要信号衰减电路,可将设备电路产生的信号衰减至音频接口能承受的范围内。前期调试时,我们可以用该电路将信号录进电脑进行信号分析

    #参考:

    [1].Verma S, Robinson A, Dutta P. AudioDAQ: turning the mobile phone’s ubiquitous headset port into a universal data acquisition interface[C]//Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems. ACM, 2012: 197-210.
    [2].Kuo Y S, Verma S, Schmid T, et al. Hijacking power and bandwidth from the mobile phone’s audio interface[C]//Proceedings of the First ACM Symposium on Computing for Development. ACM, 2010: 24.
    [3].赵文景, 封化民. 智能手机音频通信的实现[J]. 北京电子科技学院学报, 2014(4):64-67.
    [4].张佳进, 陈立畅, 张超,等. 智能移动设备的音频通信接口设计与实现[J]. 自动化与仪器仪表, 2015(4):149-152.
    [5].何江山.基于智能手机的家用人体生理参数检测终端设计[D]. 浙江大学, 2015.
    [6].国外Hijack 的项目网站、源码、购买链接:
    http://web.eecs.umich.edu/~prabal/projects/hijack/
    https://code.google.com/p/hijack-main/
    http://www.seeedstudio.com/depot/hijack-development-pack-p-865.html
    https://github.com/taweili/hijack/tree/master/iPhone
    [7].国内Android方案Git(基于Hijack)
    https://github.com/ab500/hijack-infinity
    [8].安卓手机和单片机音频通信
    http://blog.csdn.net/raoqin/article/details/9797131
    [9].手机的音频口通信方案
    http://blog.csdn.net/guang09080908/article/details/43405051
    [10].拉卡拉手机刷卡器音频通讯技术原理初步分析
    http://blog.csdn.net/kimmking/article/details/8712161
    [11].一种智能手机获取监测环境温度、湿度的实现方法
    http://www.eepw.com.cn/article/274760.htm
    [12].Android音频口通信(一)——2FSK信号调制
    http://blog.csdn.net/wocao1226/article/details/8773348
    [13].手机音频口双向通信模块 (3P)
    http://www.taskcity.com/users/20225-kuangjiu/portfolios/154338?locale=en
    [14].iOS开发之音频口通信-通过方波来收发数据
    http://www.jianshu.com/p/649e2c341c00
    [15].通过手机耳机口和外设之间传输数据
    http://www.zhihu.com/question/26918431
    [16].在安卓系统中使用音频接口用于数据传输
    https://software.intel.com/zh-cn/android/articles/using-the-audio-jack-as-data-interface-on-android-systems?language=it

    展开全文
  • iPhone

    千次阅读 2012-10-26 13:32:45
    iPhone 百科名片 ...iPhone 是结合[ur机[/ur码助理[/ur放器[/uur信设备[/u[ur机[/uur·乔布斯[/u07年1月9日举行的Macworld宣布推出,2007年6月29日在美国上市。iPhone是一部4频段的GSM制式手机,支持EDGE和802....

    iPhone

    百科名片

    iPhone  
    iPhone

    iPhone 是结合[ur机[/ur码助理[/ur放器[/uur信设备[/u[ur机[/uur·乔布斯[/u07年1月9日举行的Macworld宣布推出,2007年6月29日在美国上市。iPhone是一部4频段的GSM制式手机,支持EDGE和802.11b/g[ur网[/u电邮、移动通话、短信、网络浏览以及其他的无线通信服务。2007年6月29日18:00 iPhone 2G 在美国上市,2008年7月11日,苹果公司推出3G iPhone。2010年6月8日凌晨1点乔布斯发布了 iPhone 4 。2011年10月5日凌晨,iPhone 4S 发布。2012年9月13日凌晨(美国时间9月12日上午)iPhone 5 发布。

    中文名: “爱疯”
    外文名: iphone
    生产公司: 苹果公司(Apple)
    触摸屏: 电容屏,多点触控
    网络模式: GSM,CDMA2000,WiMAX,LTE
    可用空间: 16GB、32GB、64GB
    摄像头像素: 4代500万、4S及5代800万

    编辑本段概述

      iPhone包括了iPod的媒体播放功能,和为了移动设备修改后的Mac OS X操作系统(iOS,本名iPhone OS,自4.0版本起改名为iOS),以及800万像素的摄像头。(一代、二代为200万,3GS为320万,支持自动对焦,4代提升到背照式500万,而2011年发布的4S提升到800万并且采用2.4f大光圈 )此外,设备内置有重力感应器,iphone4有三轴陀螺仪(三轴方向重力感应器),能依照用户水平或垂直的持用方式,自动调整屏幕显示方向。并且内置了光感器,支持根据当前光线强度调整屏幕亮度。还内置了距离感应器,防止在接打电话时,耳朵误触屏幕引起的操作。2012年9月发布的iPhone5更是加入了一个全新的拍照模式——全景模式,在该模式下可以用iPhone 5拍摄全景照片,全景照片可达2800万像素。

    iPhone5

    iPhone5(11张)
      [ur话[/uiPod和上网装置 ─ iPhone 将三大功能集于一身,通过iPhone的多点触摸(Multi-Touch)技术,手指轻点就能拨打电话、应用程序之间也易如反掌。还可以直接从网站拷贝粘贴文字和图片。它同时是世界上第一台批量生产商业用途的使用电容屏的智能手机(世界第一台电容屏手机是lg ke850,但是是功能机 )。

    编辑本段发布

      
      iPhone 图

    iPhone 图

    2007年6月29日18:00 iPhone 2G 在美国上市,4GB版售价(根据各国家与地区的情况,必需要与运营商签订一到两年的话费合约,才能购买iPhone,也可以视之为存话费购机)为499美元,8GB售价为599美元。9月5日苹果宣布减价,苹果公司美国线上商店4GB版停产,8GB售399美元。9月6日,乔布斯在公司网站上刊登一封致全体iPhone用户的公开信,对降价一事表示歉意,并承诺对老用户作出补偿。 
      2008年2月4日,[ur司[/u6G版iPhone,售价499美元。 
      2008年7月11日,苹果公司推出3G iPhone。8GB版售价为199美元,16GB版售价为299美元。iOS 2.x版正式提供全球语言。
      2009年6月9 West会议中心举行的[urC[/u9(苹果全球开发者大会)上,苹果公司发布了iPhone第三代产品iPhone 3GS。作为iPhone 3G的提升,3GS中的S,代表SPEED。
      2010年6月8日凌晨1点,[ur/u发者大会(WWDC 10)在[ur[/ucone West会展中心正式开幕。苹果CEO[ur·乔布斯[/u上发布了全新的[urone[/u手机,型号为iPhone 4。iPhone4在美国发布,共有2个版本,16G版签订2年合约价199美元,32G版2年合约价299美元(约人民币1930人民币)。裸机零售价16G版499美元,32G版599美元。 比国内港版,联通行货 联通iPhone4合约计划稍便宜几百。 2011年4月底,白色iPhone 4开始在中国大陆发售。
      App 应用

    App 应用

      2011年10月5日凌晨,[urone 4S[/u传言中的iPhone5并没有出现在发布会上。同时,iPhone4 和 iPhone3GS的售价降低,iPhone3 8G签约免费,iPhone4 8G约99美元。iPhone4S 16G签约价为199美元,32G签约价为299美元,64G签约价为399美元。
      苹果2011年11月1日宣布,2011年11月11日中国香港开售,iPhone 4S 4日起预订。iPhone 4S将于2011年11月11日在中国香港、韩国,以及其他13个国家和地区开售。
      苹果官网于2012年1月4日晚宣布,iPhone 4S于1月13日在[ur陆[/u21个国家或地区开售。
      2012年1月13日,[ur通[/u大陆发售iPhone 4S。
      2012年3月9日,[ur信[/uiPhone 4S [urA[/u上市。
      2012年9月12日上午10点(北京时间9月13日凌晨1点),苹果在旧金山芳草地艺术中心(Yerba Buena Center)召开发布会发布 [urone 5[/u

    编辑本段配置

    iPhone

      
    手机名 iPhone
    手机类型 智能手机,音乐手机,拍照手机
    上市时间 2007-8
    手机制式 GSM
    手机频段 GSM 850/900/1800/1900
    手机外形 直板
    主屏尺寸 3.5英寸
    主屏材质 TFT
    主屏色彩 彩屏
    主屏参数 触摸屏,320×480像素 支持Multi-touch
    内存容量 4G/8G/16G
    系统 iOS 1.0(可升级至iOS 3.1.3)
    标准配置 立体声耳机,USB数据线,充电器,底座
    通话时间 8小时通话 7小时视频播放 24小时音乐播放 6小时Wi-Fi上网
    待机时间 250小时
    外壳颜色 黑色/白色
    尺寸 115×61×11.6mm
    重量 135g
    基本功能
    铃声 和弦铃声
    通讯录 名片式管理
    信息功能 SMS短信
    E-mail收发 支持E-mail,支持语音邮件
    输入法 触摸屏,完全使用手指操作,无需触控笔
    录音功能 支持录音功能
    主要功能 内置天线,时钟,内置震动,情景模式,通话时间提示,免提通话,待机图片,来电图片识别,来电铃声识别,飞行模式
    附加功能 闹钟,日历,计算器,日程表,世界时钟,定时器,秒表
    数据应用功能
    蓝牙 蓝牙v2.0,支持EDR
    红外线 无红外线功能
    数据业务  
    数据线 支持数据线
    扩展卡 无扩展卡功能
    WiFi(WLAN) 支持Wi-Fi,802.11b/g Wi-Fi
    GPS定位系统 无GPS定位系统
    其它数据功能 内置Modem,USSD功能,SyncML功能
    拍照功能
    摄像头 内置摄像头
    摄像头像素 200万像素
    传感器类型 CMOS传感器
    闪光灯 无闪光灯
    视频拍摄 不支持有声视频拍摄
    多媒体娱乐功能
    MP3播放器 支持MP3播放,内置苹果播放器,并且支持和桌面计算机的iTunes同步,MP3等多种格式,支持后台播放
    视频播放 支持视频播放,MOV,MP4以及H264格式,支持播放分辨率为640×480像素,每秒30帧,比率为1.5Mbps的视频片段
    其它性能 iPhone有专门的底座,有 Home 按钮,支持与iTunes同步,机身背部集成扬声器。支持可视语音mail,内置Google Map,内置股票软件,内置Yahoo Pushmail,内置天气预告功能,YouTube功能,内置GPS导航

    iPhone 3G

      
    手机名 iPhone 3G
    手机类型 智能手机,音乐手机,拍照手机,3G手机
    上市时间 2008年
    手机制式 GSM,WCDMA,UMTS
    手机频段 WCDMA(3G),GSM 850/900/1800/1900,HSDPA
    手机外形 直板
    主屏尺寸 3.5英寸
    主屏材质 TFT
    主屏色彩 彩屏
    主屏参数 触摸屏,320×480像素
    内存容量 8G/16G
    系统 iOS 2.0(可升级至iOS 4.2.1)
    标准配置 立体声耳机,USB数据线,充电器,底座
    通话时间 10小时2G,5小时3G,7小时视频播放,24小时音乐播放,6小时Wi-Fi上网
    待机时间 300小时
    外壳颜色 黑色/白色
    尺寸 115.5×62.1×12.3mm
    重量 133g
    基本功能
    铃声 支持mp3,aac,amr,wma,和弦等格式
    通讯录 名片式管理
    信息功能 SMS短信
    E-mail收发 支持E-mail,支持SMTP,POP3,IMAP4等邮件协议,支持语音邮件
    输入法 英文输入法,中文输入法,触摸屏完全使用手指操作,无需触控笔
    办公功能 支持文档阅读,支持TXT
    录音功能 支持录音功能
    主要功能 内置天线,时钟,内置震动,情景模式,通话时间提示,免提通话,待机图片,来电图片识别,来电铃声识别,飞行模式
    附加功能 闹钟,日历,计算器,日程表,世界时钟,定时器,秒表
    电子词典 支持电子词典
    数据应用功能
    蓝牙 支持蓝牙,蓝牙v2.0,支持EDR
    红外线 无红外线功能
    数据业务 GPRS,EDGE
    WWW浏览器 支持WWW浏览器,Safari浏览器
    数据线 支持数据线,USB 2.0
    扩展卡 无扩展卡功能
    WiFi(WLAN) 支持WiFi,支持802.11 b/g
    GPS定位系统 支持GPS,支持A-GPS网络辅助导航功能
    其它数据功能 内置Modem,USSD功能,SyncML功能
    拍照功能
    摄像头 内置摄像头
    摄像头像素 200万像素
    传感器类型 CMOS传感器
    闪光灯 无闪光灯
    视频拍摄 不支持有声视频拍摄
    多媒体娱乐功能
    MP3播放器 支持MP3播放,内置苹果播放器,并且支持和桌面计算机的iTunes同步,MP3等多种格式,支持后台播放
    视频播放 支持视频播放,MOV,MP4以及H264格式,支持播放分辨率为640×480像素,每秒30帧,比率为1.5Mbps的视频片段
    其它性能 iPhone有专门的底座,有 Home 按钮,支持与iTunes同步,机身背部集成扬声器。支持可视语音mail,内置Google Map,股票软件,Yahoo Pushmail,天气预告功能,YouTube功能

    iPhone 3GS

      
    手机名 iPhone 3GS
    上市日期 2009年
    手机类型 3G手机,智能手机,音乐手机
    外观设计 直板
    主屏尺寸 3.5英寸
    触摸屏 支持
    主屏材质 TFT
    主屏分辨率 320×480像素
    网络模式 GSM,WCDMA
    数据业务 GPRS,EDGE,HSPA
    支持频段 2G:GSM 850/900/1800/1900
    3G:WCDMA 900/1900/2100MHz
    内存容量 8G/16G/32G
    操作系统 iOS 3(可升级到iOS 6.0)
    CPU型号 ARM Coretex A8
    CPU频率 660MHz
    机身内存 256MB RAM+8GB
    理论通话时间 720分钟(2G),300分钟(3G)
    理论待机时间 300小时
    其他使用时间 音乐播放时间:30小时
    视频播放时间:10小时
    网络使用时间:5小时
    键盘类型 虚拟QWERTY键盘
    机身颜色 黑色/白色
    产品尺寸 115.5×62.1×12.3mm
    手机重量 135g
    机身特点 环保材料机身
    基本功能
    输入法 中文输入法,英文输入法,第三方输入法
    输入方式 手写
    通话记录 100条已接+100条已拨+100条未接电话
    短信(SMS) 支持
    彩信(MMS) 支持
    免提通话 支持
    录音功能 支持
    情景模式 支持
    动画屏保 支持
    待机图片 支持
    图形菜单 支持
    来电铃声识别 支持
    来电图片识别 支持
    自动键盘锁 支持
    日历功能 支持
    闹钟功能 支持
    秒表 支持
    计算器 支持
    单位换算 支持
    产品特性
    GPS功能 支持
    电子罗盘 支持
    重力感应器 支持
    加速传感器 支持
    光线传感器 支持
    距离传感器 支持
    拍照功能
    摄像头 内置
    摄像头像素 300万像素
    传感器类型 CMOS
    数码变焦 不支持
    自动对焦 支持
    拍摄模式 支持
    拍摄场景 微距
    照片特效 支持
    图像尺寸 最大支持2048×1536像素照片拍摄
    连拍功能 支持
    视频拍摄 支持
    其他功能 地理标记
    娱乐功能
    视频播放 支持MP4/3GP/AVC/AVI/MPEG-4等格式
    音频播放 支持MP3/AAC/AAC+/AMR/WMA/WAV等格式
    图形格式 支持JPEG/PNG/GIF/BMP等格式
    铃音描述 支持MP3等格式
    收音机 支持
    电子书 支持
    游戏 内置
    SNS支持 支持Twitter,MySpace,Facebook,YouTube,Flickr,Picasa等
    即时通讯 支持QQ,MSN,飞信等
    应用程序 支持
    服务特色 App Store
    数据功能
    蓝牙功能 支持蓝牙2.1+EDR
    Wi-Fi功能 支持
    WAPI功能 支持
    WLAN功能 支持
    WAP浏览器 支持
    WWW浏览器 支持
    PC数据同步 支持
    数据接口 USB v2.0
    耳机插孔 3.5mm
    商务功能
    电子邮件 支持
    语音功能 支持
    世界时间 支持
    办公工具 TXT,Quick Office,Adobe PDF,zip管理
    电子词典 支持
    备忘录 支持
    记事本 支持
    其他功能
    特殊功能 支持焦点搜索功能
    支持iTunes音乐商店接入
    手机附件
    包装清单 主机 x1
    锂电池 x1
    数据线 x1
    耳机 x1
    充电器 x1
    说明书 x1

    iPhone 4

      
    手机名 iPhone 4
    上市日期 2010年
    [ur型[/ud] 3G手机,智能手机,音乐手机,拍照手机
    手机制式 GSM,WCDMA,CDMA EV-DO(电信3G专用)
    [ur段[/ud] GSM 800/850/900/1800/1900
    WCDMA 2100MHz
    CDMA EV-DO(电信3G专用)
    [ur输[/ud] GPRS,EDGE,HSPA
    [ur质[/ud] IPS
    主屏尺寸 3.5英寸
    主屏参数 960×640像素
    触摸屏 支持
    [ur声[/ud] 和弦
    铃音描述 支持MP3,MIDI,WMA,AMR,AAC等格式
    [ur统[/ud] iOS 4.0(可升级至iOS 6.0)
    CPU型号 苹果A4处理器 集成PowerVR SGX535图形核心
    CPU频率 1GHz
    内存(RAM)
    可用空间
    512MB
    8GB/16GB/32GB
    标配 锂电池,电源适配器,耳机,数据线,用户手册
    [ur话时间[/ud] 840分钟(2G),420分钟(3G)
    理论待机时间 300小时
    其他播放时间 3G网络时间:6小时
    WLAN网络时间:10小时
    音乐播放时间:40小时
    视频播放时间:10小时
    基于2G通话时间:18小时
    基于3G通话时间:8小时
    玩2D游戏:8小时
    玩3D游戏:4小时
    录制视频:3小时
    拍摄照片:4小时
    LED手电:2小时
    保修政策 行货联保1年
    产品外形
    外观设计 直板
    机身颜色 黑色/白色
    产品尺寸 115.2×58.6×9.3mm
    手机重量 137g
    机身特点 屏幕采用Retina显示技术,外壳跟天线合一
    QWERTY全键盘 虚拟QWERTY键盘
    产品天线 跟外壳合一
    拍照功能 LED闪光灯定时器
    摄像头 内置
    摄像头像素 500万像素
    数码变焦 5倍数码变焦
    自动对焦 支持
    拍摄场景 支持
    照片特效 支持
    连拍功能 支持
    拍照描述 最大支持2592×1944像素照片拍摄
    视频拍摄 30fps 1280×720像素
    娱乐功能
    Java功能 不支持
    视频播放 支持MP4/3GP/AVC/AVI/MPEG-4等格式
    音乐播放 支持MP3/AAC/AAC+/AMR/WMA/WAV等格式
    图形格式 支持JPEG/EXIF等格式
    [ur/ud] 内置
    第三方软件 支持
    数据功能 Wi-Fi功能
    [ur能[/ud] 支持蓝牙2.1+EDR
    耳机插孔 3.5mm
    数据线接口 Micro USB v2.0
    基本功能 短信(SMS)彩信(MMS)免提通话情景模式[ur能[/u
    输入法 支持多国输入法
    中文输入法,英文输入法
    输入方式 虚拟键盘+手写
    通话记录 已接+已拨+未接电话
    网络功能 [ur件[/uW浏览器,[ur浏览器[/uAN功能,PC共享上网,[ur讯[/ud]
    商务功能 [ur式[/u日程表世界时间
    文档格式 支持[ur[/urel[/urerpoint[/urd[/ur[/u
    其他功能 GPS功能
    重力感应器
    加速传感器
    光线传感器
    距离传感器
    待机图片计算器
    来电铃声识别
    来电图片识别
    动画屏保
    图形菜单
    秒表
    记事本
    自动键盘锁
    单位换算
    地图软件 支持
    电子罗盘 数字指南针
    [urcML功能[/ud] 支持
    产品特性 1、厚度仅9.3毫米。
    2、高分辨率960×640屏幕,采用Retina显示技术,文字和画质更锐利,对比度800:1。
    3、内建前置摄像头,背部主摄像头提升至500万像素,拥有闪光灯,
    4、采用和iPad相同的苹果A4处理器,主频降为800MHz。存储方面则仍为16GB和32GB两个版本。
    5、双麦克风设计,有助于降噪,机身周边的固定框被设计为了iPhone4的天线,左侧是蓝牙、Wi-Fi和GPS,右侧是WCDMA和GSM天线。
    6、加入了三轴陀螺仪,保留了方向感应器、距离感应器和光线感应器,可以被更多的应用程序应用。
    7、增加了基于Wi-Fi的免费视频聊天功能——Facetime。

    iPhone 4S

      
    手机名 iPhone 4S
    发布时间 2011年10月4日
    内存容量 内置存储:16GB/32GB/64GB
    处理器 [ur5[/u处理器(部分游戏和功能仅支持在该处理器上运行)
    屏幕 3.5-inch IPS 960 x 640 Retina Display
    主相机 八百万像素自动对焦,内建 LED 闪光灯和 f/2.4 光圈
    前置相机 VGA at 30fps
    录像 1080p @ 30fps, iMovie 选购
    操作系统 [ur 5[/u级至iOS 6.0)
    移动通信 GSM / CDMA / WCDMA
    Wi-Fi 802.11b/g/n
    传感器 加速传感器、指南针、陀螺仪
    FaceTime
    蓝牙 有 Bluetooth 4.0
    内存 512MB
    机身存储 16GB 32GB 64GB
    SIM 标准 Micro SIM
    电池寿命 3G 通话最高 8 小时,2G 通话最高 14 小时3G 连续数据传输最高 6 小时
    WiFi 数据传输最高 9 小时
    最高 40 小时音乐播放
    最高 10 小时影片播放
    重量 140 克
    三围尺寸 115.2 x 58.6 x 9.3mm
    其他 Siri,iCloud
    支持频段 2G:GSM 850/900/1800/1900MHz ,3G:[urMA[/u0MHz, 3G:[urA2000[/u [urO[/u/1900MHz
    网络连接 GSM/GPRS/EDGE/UMTS/HSDPA/HSUPA/HSPA+/CDMA2000 1X/CDMA2000 1X EV-DO
    显示芯片 Imagination PowerVR SGX543

    iPhone 5

      
    手机名 iPhone 5
    发布时间 2012年9月12日
    内存容量 内置存储:16GB/32GB/64GB
    处理器 双核 苹果 A6
    屏幕 4英寸,1136x640分辨率
    主相机 800万像素
    前置相机 120万像素
    录像 1080p(1920×1080,30帧/秒)视频录制
    操作系统 iOS 6.0
    移动通信 GSM,CDMA2000(仅美国支持),LTE
    Wi-Fi
    传感器 加速传感器、指南针、陀螺仪
    FaceTime
    蓝牙 有 Bluetooth 4.0
    内存 1GB
    机身存储 16GB 32GB 64GB
    SIM 标准 Nano SIM卡
    电池类型 不可拆卸式电池
    重量 112 克
    三围尺寸 123.8x58.6x7.6mm
    支持频段 2G:GSM 850/900/1800/1900
    3G:CDMA EVDO 800/1900/2100MHz
    网络连接 WIFI,IEEE 802.11 a/n/b/g

    编辑本段支持语言

      [ur文[/ur文[/ur/ur/ur/ur/u语、意大利语、西班牙语、葡萄牙语、丹麦语、芬兰语、挪威语、瑞典语、韩国语、俄语、以及波兰语。键盘及字典支持: 美式英语(U.S.)、英式英语,法语(法国)、法语(加拿大)、德语、日语、荷兰语、意大利语、西班牙语、葡萄牙语 (葡萄牙)、葡萄牙语(巴西)、丹麦语、芬兰语、挪威语、瑞典语、韩国语 (无字典)、俄语、以及波兰语。

    编辑本段操作系统

      [ur[/u [urone[/u)是由[ur司[/uhone开发的操作系统。它是给iPhone,[urd touch[/urd[/u就像其基于的[ur OS X操作系统[/u它也是以Darwin为基础的。
      iOS的系统架构分为四个层次:核心[ur统[/uhe Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。操作系统占用大概240MB的内存空间。iOS的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包括滑动,轻触开关及按键。与系统互动包括滑动 ([urping[/u按([urping[/u压([urching[/u转(reverse pinching)。此外,通过其内置的加速器,可以令其旋转装置改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。
      屏幕下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。屏幕上方有一个状态栏能显示一些有关数据,如时间、电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下方的home键。
      2012年6月12日,[ur 6[/u,并于2012年9月19日开放下载。
    展开全文
  • 手机刷卡器分析

    千次阅读 2014-02-24 19:51:20
    做支付的都知道Square,一个伟大的支付公司,2009年成立,前几天估值已达到50亿美元 。手机刷卡器就是从Square开始的。尽管中国地区对支付行业有...这里不讨论他的业务模式,分析一下刷卡器与手机怎样实现数据通信的。

        做支付的都知道Square,一个伟大的支付公司,2009年成立,前几天估值已达到50亿美元 。手机刷卡器就是从Square开始的。尽管中国地区对支付行业有很多的限制,还是有很多的中国特色的“Square”出现,例如,比较早的乐刷、盒子支付,包括我们的刷卡器产品,晚一些的拉卡拉、银联等等。这里不讨论他的业务模式,分析一下刷卡器与手机怎样实现数据通信的。

        刷卡器与手机通信是走的音频通道,手机上需要安装特定的应用来解析数据。一个完整的刷卡流程包含APP、传输、刷卡器三部分组成。刷卡器的功能是捕捉,编码,并发送传感器数据;传输线即耳机口的公头和母头,负责数据的传输;APP的功能是接受数据,解码。图一是Square宣传图的一部分,Square的刷卡器是简单的刷卡设备,他是单向通讯。国内多数设备是双向通讯,所以接送数据的同时也发送数据。单向设备便宜;双向设备价格更贵一些,更安全些。在老美的国度,信用卡盗刷担责方是银行,单向设备是满足要求的。



    图一

        Square是一个单向通信设备,只有刷卡器向APP传输数据,APP并不给刷卡器传输数据。这篇文章我们也只介绍单向数据传输,双向传输数据请读者自行理会,因为双向和单向流程是一样的。

    一、传输部分

        三部分中最简单的传输部分,手机中使用的多是3.5mm四芯五线插头。插头包含四部分,左声道、右声道、mic、接地,不同的标准Mic和接地位置不同,iPhone中接地在第三阶,Mic在第四阶;Android中则相反,Motorola中是这样做的,而小米或一部分三星手机是使用的iPhone标准上面介绍的是公头,母头与其对应。

        刷卡设备中使用左声道或右声道做输出,Mic做输入。


    图二


    二、刷卡器

    刷卡器实现三个功能(单向):

    1、信息编码(例如ASCII或摩尔斯电码) 

    2、编码信息转换成音频信号[D➜A] 

    3、发送音频信号


    信息编码是把卡信息转变成ASCII的过程。需要刷卡器识别卡磁道信息。

        [D➜A] 的过程是数字调制,指的是用数字数据调制模拟信号(D>A),主要有三种形式:移幅键控法ASK、移频键控法FSK、移相键控法PSK。这里一般使用FSK。具体的算法根据自己的条件设计,信用卡的磁道内容使用20个字符就能包含,即ASCII的45-64部分,频率可使用5000-14000部分(信号应该在0到22,050 Hz范围内)。


    图三


    三、APP

    APP的功能同样有三部分组成(单向):

    1、接收音频信号

    2、解析过滤音频信号,将音频信号转换成数字信号[A➜D]

    3、转换成卡数据


        接收音频信号时应该使用44100Hz采样率,为什么使用44100Hz呢,首先441000是多数手机都支持,再就是根据奈奎斯特 - 香农采样定理(采样频率应至少两次包含在信号中的最高频率),在采样板中的采样频率已达到14000。

        手机上接收到的数据是MIC采样的一大堆数据,如何在这么一大堆看似杂乱无章的数据里解析过滤出我们的需要的数据呢,这里就应用到了DSP(数字信号处理技术)。


        国内的很多刷卡设备(包括我们的设备)都是双向的,也就是说刷卡器和APP都做调制、解调的动作,双向手机刷卡器数据交互流程如图四,【6】。图四是图一的流程细分图。


    图四




    /**
    * @author 张兴业
    *  http://blog.csdn.net/xyz_lmn
    *  android开发进阶群:281537853
    *  iOS入门群:83702688
    *  我的新浪微博:@张兴业TBOW
    */


    参考:

    【1】http://www.360doc.com/content/10/1018/14/3947093_61966283.shtml [常用音频接口]

    【2】http://wz8311.blog.51cto.com/2212985/410850  [ask fsk psk 数字调制的三种基本形式]

    【3】http://stu.jsjxy.net/tongxin/gxtx/images/chap7-5-2.htm [光纤通信新技术]

    【4】http://baike.c114.net/view.asp?id=2155-C38EC19B [FSK]

    【5】http://wenku.baidu.com/view/af6a3440336c1eb91a375d19.html [2FSK调制解调及其仿真 ]

    【6】http://www.cnblogs.com/heiyue/archive/2013/04/08/3008493.html [拉卡拉刷卡器]

    【7】http://www.pbc.gov.cn:8080/image_public/rhwg/001801f2.html[银行卡磁条信息格式和使用规范]

    【8】http://www.cyberd.co.uk/support/technotes/isocards.htm [ANSI/ISO ALPHA Data Format][1\2\3磁道]

    【9】http://blog.tehinterweb.com/?p=60 [Magnetic Stripe ABA Track 2 Encoding]

    【10】http://www.acmetech.com/documentation/credit_cards/magstripe_track_format.html[Track format of magnetic stripe cards (tracks 1 and 2)]



    展开全文
  • 1 inch = 2.54cm = 25.4mm 3.iPhone手机宽高 上表中的宽高(width/height)为手机的物理尺寸,包括显示屏和边框。 以下为iPhone4s的宽高示意图: 4.屏幕尺寸 我们通常所说的iPhone5屏幕尺寸为4英寸、iPhone6屏幕...

    1.iPhone尺寸规格

    在这里插入图片描述

    2.单位inch(英吋)

    1 inch = 2.54cm = 25.4mm

    3.iPhone手机宽高

    上表中的宽高(width/height)为手机的物理尺寸,包括显示屏和边框。
    以下为iPhone4s的宽高示意图:
    在这里插入图片描述

    4.屏幕尺寸

    我们通常所说的iPhone5屏幕尺寸为4英寸、iPhone6屏幕尺寸为4.7英寸,指的是显示屏对角线的长度(diagonal)。
    以下为iPhone5~6+的屏幕尺寸规格示意图:
    在这里插入图片描述

    5.像素密度PPI

    PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目。
    PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。
    在这里插入图片描述
    在这里插入图片描述
    根据勾股定理,可以得知iPhone4(s)的PPI计算公式为:
    在这里插入图片描述
    计算结果稍有出入,这是因为像素的离散采样有锯齿效应。

    6.缩放因子(scale factor between logic point and device pixel)

    (1)Scale起源
    早期的iPhone3GS的屏幕分辨率是320480(PPI=163),iOS绘制图形(CGPoint/CGSize/CGRect)均以point为单位(measured in points):
    1 point = 1 pixel(Point Per Inch=Pixel Per Inch=PPI)
    后来在iPhone4中,同样大小(3.5 inch)的屏幕采用了Retina显示技术,横、纵向方向像素密度都被放大到2倍,像素分辨率提高到(320x2)x(480x2)= 960x640(PPI=326), 显像分辨率提升至iPhone3GS的4倍(1个Point被渲染成1个2x2的像素矩阵)。
    但是对于开发者来说,iOS绘制图形的API依然沿袭point(pt,注意区分印刷行业的“磅”)为单位。在同样的逻辑坐标系下(320x480):
    1 point = scale
    pixel(在iPhone4~6中,缩放因子scale=2;在iPhone6+中,缩放因子scale=3)。
    可以理解为:
    scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point)

    (2)UIScreen.scale
    UIScreen.h中定义了该属性:
    // The natural scale factor associated with the screen.(read-only)
    @property(nonatomic,readonly) CGFloat scale NS_AVAILABLE_IOS(4_0);
    --------------------------------------------------------------------------------
    This value reflects the scale factor needed to convert from the default logical coordinate space into the device coordinate space of this screen.
    The default logical coordinate space is measured using points. For standard-resolution displays, the scale factor is 1.0 and one point equals one pixel. For Retina displays, the scale factor is 2.0 and one point is represented by four pixels.
    --------------------------------------------------------------------------------
    为了自动适应分辨率,系统会根据设备实际分辨率,自动给UIScreen.scale赋值,该属性对开发者只读。

    (3)UIScreen.nativeScale
    iOS8新增了nativeScale属性:
    // Native scale factor of the physical screen
    @property(nonatomic,readonly) CGFloat nativeScale NS_AVAILABLE_IOS(8_0);
    以下是iPhone6+下的输出,初步看来nativeScale与scale没有太大区别:
    --------------------------------------------------------------------------------
    (lldb)p (CGFloat)[[UIScreen mainScreen] scale]
    (CGFloat) $1 = 3
    (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale]
    (CGFloat) $2 = 3
    --------------------------------------------------------------------------------

    (4)机型判别
    在同样的逻辑分辨率下,可以通过scale参数识别是iPhone3GS还是iPhone4(s)。以下基于nativeScale参数,定义了探测机型是否为iPhone6+的宏:
    --------------------------------------------------------------------------------
    // not UIUserInterfaceIdiomPad
    #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    // detect iPhone6 Plus based on its native scale
    #define IS_IPHONE_6PLUS (IS_IPHONE && [[UIScreenmainScreen] nativeScale] == 3.0f)
    --------------------------------------------------------------------------------
    那么,同样的分辨率和scale,如何区分机型iPhone4与4s、iPhone5与5s呢?通过[[UIDevice currentDevice] model]只能判别iPhone、iPad、iPod大类,要判断iPhone具体机型型号,则需要通过sysctlbyname(“hw.machine”)获取详细的设备参数信息予以甄别。

    7.Resolutions &Rendering

    在这里插入图片描述
    在这里插入图片描述

    8.@2x/@3x以及高倍图适配

    (1)@2x
    @2x means the same “double”retina resolution that we’veseen on all iOS devices with retina displays to date, where each virtual pointin the user interface is represented by two physical pixels on thedisplay in each dimension, horizontal and vertical.

    iPhone3GS时代,我们为一个应用提供图标(或按钮提供贴图),只需要icon.png。针对现在的iPhone4~6 Retina显示屏,需要制作额外的@2x高分辨率版本。

    例如在iPhone3GS中,scale=1,用的图标是50x50pixel(logicalimage.size=50x50point);在iPhone4~6中,scale=2,则需要100×100pixel(logical image.size=50x50point,乘以image.scale=dimensions in pixels),并且命名为icon@2x.png。
    如果APP要同时兼容iPhone3GS~iPhone6,则需要提供icon.png/icon@2x.png两种分辨率的图片。

    (2)@3x
    @3x means a new “triple” retina resolution, where eachuser interface point is represented by three display pixels. A single @2x pointis a 2 × 2 square of 4 pixels; an @3x point is a 3 × 3 square of 9 pixels.”
    iPhone6+在实际渲染时,downsampling/1.15(1242x2208->1080x1920),准确的讲,应该是@2.46x。苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。
    参考:《为什么iPhone 6 Plus要将3x渲染的2208x1242分辨率缩小到1080p屏幕上?》《详解 iPhone 6 Plus 的奇葩分辨率》《iPhone 6 Plus屏幕分辨率》
    如果APP要同时兼容iPhone3GS~iPhone6+,则需要提供icon.png/icon@2x.png/icon@3x.png三种分辨率的图片。
    需要注意的是,iOS APP图标的尺寸和命名都需要遵守相关规范。

    (3)高倍图文件命名
    对于iPhone3、4/5/6、6+三类机型,需要按分辨率提供相应的高倍图并且文件名添加相应后缀,否则会拉伸(stretchable/resizable)失真(模糊或边角出现锯齿)。
    以下基于UIImage的两类初始化API简介高倍图的适配:
    <1>+imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半);如果没找到设置默认image.scale=1.0,对应逻辑size大小同像素尺寸。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。
    <2>+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)
    这组方法创建的UIImage对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。如果文件名包含@2x后缀,则image.scale=2.0;否则默认image.scale=1.0,同样对于Retina屏将会失真。
    <3>目前,适配iPhone6+时,除了一些铺满全屏的大图(LogoIcon、LaunchImage)需提供三倍图,其他的小图仍可沿用原有的二倍图自适应拉伸。

    9.Screen Bounds & Application Frame

    (1)UIScreen.bounds
    // Bounds of entire screen in points(本地坐标系,起点为[0,0])
    @property(nonatomic,readonly) CGRect bounds;
    --------------------------------------------------------------------------------
    //考虑转屏的影响,按照实际屏幕方向(UIDeviceOrientation)的宽高
    #define SCREEN_WIDTH ([UIScreenmainScreen].bounds.size.width)
    #define SCREEN_HEIGHT ([UIScreenmainScreen].bounds.size.height)
    #define STATUSBAR_HEIGHT ([UIApplicationsharedApplication].statusBarFrame.size.height)
    //不考虑转屏的影响,只取竖屏(UIDeviceOrientationPortrait)的宽高
    #define SCREEN_WIDTH MIN([UIScreenmainScreen].bounds.size.width, [UIScreenmainScreen].bounds.size.height)
    #define SCREEN_HEIGHT MAX([UIScreenmainScreen].bounds.size.height, [UIScreenmainScreen].bounds.size.width)
    #define STATUSBAR_HEIGHT MIN([UIApplicationsharedApplication].statusBarFrame.size.width, [UIApplicationsharedApplication].statusBarFrame.size.height)
    --------------------------------------------------------------------------------

    (2)UIScreen.nativeBounds
    iOS8新增了nativeBounds属性,输出竖屏像素级分辨率:
    // The bounding rectangle of the physical screen,measured in pixels. (read-only)
    // This rectangle is based on the device in a portrait-up orientation. This value does not change as the device rotates.
    @property(nonatomic,readonly) CGRect nativeBounds NS_AVAILABLE_IOS(8_0);
    以下是iPhone6+下的输出:
    --------------------------------------------------------------------------------
    (lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] bounds])
    {{0, 0}, {414, 736}}
    (lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] nativeBounds])
    {{0, 0}, {1242, 2208}}
    --------------------------------------------------------------------------------

    (3)UIScreen.applicationFrame
    // Frame of application screen area in points (i.e.entire screen minus status bar if visible)
    // bounds除去系统状态栏
    @property(nonatomic,readonly) CGRect applicationFrame;
    --------------------------------------------------------------------------------
    // APPFRAME_WIDTH=SCREEN_WIDTH
    #define APPFRAME_WIDTH ([UIScreen mainScreen].applicationFrame.size.width)
    // APPFRAME_HEIGHT=SCREEN_HEIGHT-STATUSBAR_HEIGHT
    //注意:横屏(UIDeviceOrientationLandscape)时,iOS8默认隐藏状态栏,此时APPFRAME_HEIGHT=SCREEN_HEIGHT
    #define APPFRAME_HEIGHT ([UIScreen mainScreen].applicationFrame.size.height)
    --------------------------------------------------------------------------------
    (4)bounds和frame的区别
    下图展示了bounds和frame的区别:

    在这里插入图片描述

    10.机型尺寸适配(Screen Scale Adaption)

    从iPhone3GS/iPhone4(s)过渡到iPhone5(s)时,在逻辑上宽度不变高度稍高,之前旧的素材和布局通过AutoresizingFlexible简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型如LaunchImage)。从分辨率的角度来看,除了需要提供LaunchImage这种满屏图,其他基本沿用二倍图(@2x);从屏幕尺寸角度来看,需要对纵向排版略加调整。

    从iPhone5(s)发展到iPhone6(+),由于高宽比保持不变,iOS对图标、图片、字体进行等比放大自适应,清晰度会有所降低。同时,绝对坐标布局会导致在大屏下出现偏左偏上的问题。从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x);从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。
    (1)按宽度适配
    我们先来看一下iPhone4~6(+)的屏幕高宽比:
    iPhone4(s):分辨率960640,高宽比1.5
    iPhone5(s):分辨率1136
    640,高宽比1.775
    iPhone6:分辨率1334750,高宽比1.779
    iPhone6+:分辨率1920
    1080,高宽比1.778
    可粗略认为iPhone5(s)、6(+)的高宽比是一致的(16:9),即可以等比例缩放。因此可以按宽度适配:
    fitScreenWidth= width*(SCREEN_WIDTH/320)
    这样,共有iPhone3/4/5、6、6+三组宽度,在iPhone6、6+下将按比例横向放大。
    (2)按高度适配
    在同样的宽度下,iPhone4(s)的屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配:
    fitScreenHeight= height*(SCREEN_HEIGHT/568)
    共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。
    这里需要注意iPhone/iOS双环上网的热点栏对纵向布局的影响:iPhone作为个人热点且有连接时,系统状态栏下面会多一行热点连接提示栏"Personal Hotspot: * Connection",纵向会下压20pt,[UIApplication sharedApplication].statusBarFrame高度变为40pt;当所有连接都断开时,热点栏消失,纵向高度恢复正常为20pt。详情可参考《iPhone/iOS开启个人热点的纵向适配小结》。
    (3)按字体适配
    另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配:
    例如适配表视图(UITableView:UIScrollView),无法左右滑动,因此无论字号缩放比例多大,横向都不应超过SCREEN_WIDTH。注意限定控件元素内容区域宽度以及间距,并设置适当的LineBreakMode。表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。
    对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。

    11.UI相对布局

    考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView在superView中的相对位置(EdgeInsets/Frame/Center)以及siblingView之间的偏移(Offset),尽量给出适合Autolayout的相对布局比例(理想情况是只给百分比)。假如交互按照iPhone5(s)下绝对标注,则在iPhone4(s)上可能挤出屏幕底部,而在iPhone6(+)上则可能横向偏左或纵向偏上。

    开发人员基于与屏幕边缘的间距(Margin/EdgeInsets),定位边缘处的控件(钉钉子)作为参照,然后基于控件尺寸和间隙进行相对计算排版。这样,若钉子移动,相邻控件将顺向偏移,不会因为局部调整而出现凌乱。
    我们截取 iPhone5s QQ 文件助手列表中的文件cell,使用 Sketch Measure 对其进行测量标注。
    在这里插入图片描述

    打开[截图.png]文件,由于不包含 Sketch 图元对象,无法进行 measure 标注(提示:请在画板中使用该功能)。因此,第一步需要对要相对标注的各个UI元素进行对象化。依次 Insert Artboard 创建图层 frame、thumbnail、title、detail、source、button。
    选中整个cell的frame(bounds),进行 Measure size:width=640px(SCREEN_WIDTH),height=168px。默认横向尺寸和纵向参考线都居中导致标注重叠,将纵向参考线右移至合适位置;也可选中WIDTH标注图层中的text和label元素,在不移动参考线的前提下,利用鼠标局部移动标注字面量。
    (1)缩略图标
    ● 在左侧边栏layer list中选中frame,再command选中文件类型缩略图对象thumbnail,进行 Measure spacing,丈量缩略图左侧相对frame的间距为24px。
    ● 选中文件类型缩略图对象thumbnail,进行 measure size,由于正方形等宽为112px112px,故横纵标注重叠无影响。thumbnail在frame中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。
    (2)传输按钮
    ● 对 button 和 frame 进行 Measure spacing,丈量按钮右侧相对frame的间距为24px。
    ● 选中按钮button进行 measure size,其宽高为144px
    60px。横纵标注重叠影响视觉,将纵向参考线右移至合适位置。
    ● button在frame中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。
    (3)文件信息
    ● 对thumbnail和detail(title、source等宽且左对齐)进行 Measure spacing,丈量图标右侧相对detail的间距为20px;对button和detail进行 Measure spacing,丈量按钮左侧相对detail间距为20px。这样,左侧钉住thumbnail,右侧钉住button,中间信息部分的宽度无需给定,计算被动约束的横向余量即可。具体编程时,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然宽度,一般title都会超过约束宽度,因此需设置 lineBreakMode指定Wrapping省略或Truncating截断格式。
    ● 选中文件信息第1行标题title和第2行详情detail,进行 Measure spacing,测量纵向相对间距10px;第2行详情detail和第3行来源的纵向相对间距也为10px。一般 UILabel 的文本在给定字体下的纵向自然显示无约束,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然高度,title的上间距和source的底间距无需给定,通过计算纵向余量均摊即可。
    可简单的基于屏宽横纵比例进行scale缩放,将以上测量出的标注应用到iPhone6(+)大屏下,当然交互设计工程师最好还是针对特定机型都给定适配标注。苹果在WWDC2012 iOS6中已提出了Auto Layout的概念,即使用约束条件来定义视图的位置和尺寸,以适应不同尺寸和分辨率的屏幕。

    12.DEPRECATED API适配

    最后,除了对屏幕尺寸和分辨率进行适配之外,还需对iOS SDK中相关的DEPRECATED API进行适配。典型的如:
    (1)UILineBreakMode->NSLineBreakMode
    (2)UITextAlignment->NSTextAlignment
    (3)sizeWithFont:->boundingRectWithSize:
    (4)stretchableImageWithLeftCapWidth:topCapHeight:->resizableImageWithCapInsets:
    (5)…

    参考:
    《iOS设备的屏幕尺寸、分辨率及其屏幕边长比例》
    《iOS判断设备屏幕尺寸、分辨率》
    《iOS8中的UIScreen》
    《Detecting iPhone 6/6+ screen sizes in point values》
    《iOS8已出,@3x图让我们何去何从?》
    《在Xcode 6中用矢量化PDF(vectorized PDF)来支持各种尺寸的iPhone》
    《iOS8适配须知》
    《适配iOS8备忘录》
    《iOS界面适配(一)(二)(三)》
    《iPhone 6/6+适配心得》
    《iOS8/Xcode6/iPhone6(+)适配》
    《APP适配iOS8,iPhone6(+)截图简要说明》
    《按比例快速兼容适配iPhone6/6 Plus》
    《iOS的APP如何适应iPhone 5s/6/6+三种屏幕的尺寸?》

    展开全文
  • 自己家里搭建NAS服务器有什么好方案? 在家里存一些视频什么的,最好也可以一直挂着BT下载 可以双硬盘确保备份 20 条评论 ...这几天组好了NAS,把方案分享出来给各位下片狂魔,好东西放在网盘里面会变成这个屌样:...
  • 大家都知道,自从iPhone 7开始取消耳机孔后,果粉们就再也不用愉快地用普通的数据线听歌听电话了,而如果用苹果官方的Airpods,不仅价钱高昂,而且因为受技术的限制,音质也不会太好。 所幸市面上有一些第三方...
  • iPhone 4S

    万次阅读 2012-03-02 21:01:48
    iPhone4S是iPhone4的升级版(“4S”is “for steve”另一说法是英文“Speed”的缩写)。于2011年10月由苹果新任CEO蒂姆·库克在2011苹果秋季产品发布会上发布。2012年1月13日,首批iPhone 4S由中国联通独家引进在...
  • iPhone 4S用移动卡?手机网络常识普及 编辑:徐磊 来源:手机中国 前几日,笔者有一位朋友从网上买了一部二手的苹果iPhone 4S,拿到手之后才发现,这部iPhone 4S原来是电信版的,而自己用的SIM卡是中国...
  • 转Cisco 6509 详尽交换机的配置

    千次阅读 2008-07-01 23:35:00
    6509介绍 Cisco Catalyst 6500系列交换机提供3插槽、6插槽、9插槽和13插槽的机箱,以及多种集成式服务模块,包括数千兆位网络安全性、内容交换、语音和网络分析模块。 Catalyst 6500系列中的所有型号都使用了统一的...
  • 本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案。见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案。  本人在2013年时使用plupload为核心进行文件的批量上传的解决方案。...
  • 三中新教学楼信息系统集成方案

    万次阅读 2004-10-29 15:42:00
    第 1 章 用户需求分析信息化是我国现代化建设的组成部分,可以大大提高我国综合国力,它关系到各级政府部门,各经济、科技、文化...广州市第三中学信息网络的建设是为教学研究和教学数据积累提供的一个全面的信息基础
  • BIOS设置详解

    千次阅读 2009-11-29 09:27:00
    Phoenix BIOS BIOS设置: 几乎所有的主板所附Phoenix-Award BIOS 都包含了CMOS SETUP 程序,以供用户自行依照需求,设定不同的数据,使计算机正常工作,或执行特定的功能。CMOS SETUP会将各项数据储存于主机板上内建...
  • 作者:刘昊昱  ...内核版本:3.10.1   MMC MMC全称MultiMedia Card,由西门子公司...MMC卡尺寸为32mm x24mm x 1.4mm,它将存贮单元和控制器一同做到了卡上,智能的控制器使得MMC保证兼容性和灵活性。 MMC卡具有MMC和SPI
  • 机器学习干货贴

    万次阅读 2016-10-02 01:58:28
    1.Kaggle Ensembling Guide 摘要:Creating ensembles from submission files Voting ensembles. Averaging Ra... 2.[导读]Machine Learning Theory 摘要:机器学习相关理论,Machine Learning Theory - Part 1: ...
  • 大家一起学电脑之硬件版

    万次阅读 2005-09-14 16:33:00
    大家一起学电脑之硬件版首先文章还是先从硬件的认识开始,再到安装操作系统的注意事项,再到进入与退出系统可能发生的情况与问题,然后再说单个硬件的详解,最后再说故障和技巧吧。晕,因为有些文章因为发现的晚,...
  • HTML5面试题

    千次阅读 2019-04-10 17:39:26
    一、 Doctype的作用? 严格模式和混杂模式的区分,以及如何触发这2种模式? 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。 DOCTYPE不存在或格式不正确会导致文档...
  • 1. 前言 本文是Linux MMC framework的第二篇,将从驱动工程师的角度,介绍MMC host controller driver有关的知识,学习并掌握如何在MMC framework的框架下,编写MMC控制器的驱动程序...MMC的host driver,是用于驱动MM
  • 32位与64位编程注意事项总结

    万次阅读 2016-02-22 21:41:02
    http://www.oschina.net/p/flowvisor   http://www.cnblogs.com/centimeter/articles/2395405.html   http://www.360doc.com/content/13/0520/21/7662927_286868466.shtml   ...
  • 廖雪峰Python 3.X 教程

    万次阅读 2016-09-03 12:20:59
    Python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。...
  • Oracle AWR报告详细分析

    万次阅读 多人点赞 2018-03-07 17:19:20
    Oracle AWR报告详细分析 (文档 ID 1523048.1)AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库AWR 是通过对比两次快照(snapshot)收集到的统计...
1 2 3 4 5 ... 12
收藏数 227
精华内容 90
关键字:

3.5mm数据传输 ios