一种基于苹果转换设备的通信方法和系统与流程

文档序号:23727841发布日期:2021-01-26 17:52阅读:117来源:国知局
一种基于苹果转换设备的通信方法和系统与流程

[0001]
本发明涉及通信领域,尤其涉及一种基于苹果转换设备的通信方法和系统。


背景技术:

[0002]
目前,苹果移动设备与苹果外设(连接在苹果移动设备以外的硬件设备)之间的通讯方式多为usb接口通讯方式,这种通讯方式要求苹果外设必须采用苹果ea(external accessory framework)数据格式。由于目前绝大多数苹果外设未采用苹果ea数据格式,这就导致很多苹果外设无法直接与苹果移动设备进行通信,给用户带来极大的不便,严重降低了用户体验。


技术实现要素:

[0003]
本发明提供了一种基于苹果转换设备的通信方法和系统,克服了现有技术的不足。
[0004]
第一方面,本发明提供了一种基于苹果转换设备的通信方法,包括如下步骤:第二方面,本发明提供了一种基于苹果转换设备的通信系统,包括:本发明提供了一种基于苹果转换设备的通信方法和系统,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果ea数据格式的苹果外设可以和苹果移动设备进行通信,提高了用户体验。
附图说明
[0005]
图1为本发明实施例1提供的一种基于苹果转换设备的通信方法的流程图;图2为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;图3为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;图4为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;图5为本发明实施例3提供的一种基于苹果转换设备的通信系统的模块框图。
具体实施方式
[0006]
本申请提出一种基于苹果转换设备的通信方法和系统,下面结合附图,对本申请具体实施方式进行详细说明。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0007]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0008]
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施方式作进一步地详细描述。
[0009]
实施例1本发明实施例1提供了一种基于苹果转换设备的通信方法,如图1所示,包括如下步骤:步骤100:苹果转换设备上电,初始化;步骤101:苹果转换设备等待接收苹果移动设备发送的指令,当接收到认证指令时,执行步骤102,当接收到设备连接指令时,执行步骤108,当接收到数据传输指令时,执行步骤115;步骤102:苹果转换设备向苹果移动设备发送认证请求;步骤103:苹果移动设备向苹果转换设备发送认证应答;步骤104:苹果移动设备向苹果转换设备发送设备识别通知;步骤105:苹果转换设备向苹果移动设备发送设备识别请求;步骤106:苹果移动设备向苹果转换设备发送设备识别应答;步骤107:苹果转换设备接收苹果移动设备发送的设备识别应答,返回步骤101;步骤108:苹果转换设备向苹果外设发送获取设备描述符指令;步骤109:苹果外设向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;步骤110:苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;步骤111:苹果转换设备向苹果外设发送获取接口描述符指令;步骤112:苹果外设向苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;步骤113:苹果转换设备从接收到的接口描述符应答中获取苹果外设的接口描述符并保存;步骤114:苹果转换设备向苹果移动设备发送连接成功响应,返回步骤101;步骤115:苹果转换设备解析接收到的数据传输指令得到待处理数据,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式,按照苹果外设的数据格式封装待处理数据得到苹果外设数据;步骤116:苹果转换设备将苹果外设数据发送给苹果外设;步骤117:苹果外设解析接收到的苹果外设数据得到待处理数据,对待处理数据进行处理得到处理结果,根据处理结果生成第一响应数据;步骤118:苹果外设将第一响应数据发送给苹果转换设备;步骤119:苹果转换设备解析接收到的第一响应数据得到处理结果,根据处理结果生成第二响应数据;步骤120:苹果转换设备将第二响应数据发送给苹果移动设备,返回步骤101;步骤121:苹果移动设备解析接收到的第二响应数据得到处理结果。
[0010]
可选地,本实施例中,步骤108之前还包括:苹果转换设备判断苹果外设是否已插入苹果转换设备,如果是,执行步骤108,否则,向苹果移动设备发送连接失败响应,返回步骤101。
[0011]
可选地,本实施例中,步骤111之前还包括:苹果转换设备从苹果外设的设备描述符中获取苹果外设的供应商标识、设备标识和设备版本号,判断供应商标识、设备标识和设备版本号是否均在预设列表上,如果是,执行步骤111,否则,向苹果移动设备发送连接失败响应,返回步骤101。
[0012]
可选地,本实施例中,步骤115还包括:苹果转换设备向苹果移动设备返回包含设备繁忙信息的接收响应。
[0013]
可选地,本实施例中,步骤102之前还包括:步骤m1:苹果转换设备向苹果移动设备发送握手请求;步骤m2:苹果移动设备接收苹果转换设备发送的握手请求,向苹果转换设备发送握手应答;步骤m3:苹果转换设备接收苹果移动设备发送的握手应答,向苹果移动设备发送包括自身配置信息的配对请求;步骤m4:苹果移动设备接收苹果转换设备发送的配对请求,对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备发送配对应答。
[0014]
可选地,本实施例中,步骤102至步骤103具体为:步骤a1:苹果转换设备向苹果移动设备发送包含cp芯片证书的第一认证请求;步骤a2:苹果移动设备接收苹果转换设备发送的第一认证请求,保存第一认证请求中的cp芯片证书,生成挑战码,向苹果转换设备发送包含挑战码的第一认证应答;步骤a3:苹果转换设备接收苹果移动设备发送的第一认证应答,将第一认证应答中的挑战码发送给cp芯片进行签名得到签名结果,向苹果移动设备发送包含签名结果的第二认证请求;步骤a4:苹果移动设备接收苹果转换设备发送的第二认证请求,使用保存的cp芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,向苹果转换设备发送第二认证应答;步骤a5:苹果转换设备接收苹果移动设备发送的第二认证应答。
[0015]
可选地,本实施例中,步骤105至步骤106具体包括:步骤b1:苹果转换设备向苹果移动设备发送包含自身设备信息的设备识别请求;步骤b2:苹果移动设备接收苹果转换设备发送的设备识别请求;步骤b3:苹果移动设备对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备发送设备识别成功应答。
[0016]
可选地,本实施例中,步骤108和步骤109具体包括:步骤c0:苹果转换设备通过第一预设地址向苹果外设发送获取设备描述符指令;步骤c1:苹果外设通过第一预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;步骤c2:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取最大数据包的长度,通过第一预设地址以最大数据包的长度向苹果外设发送包含第二预设地址的设置地址指令;步骤c3:苹果外设接收苹果转换设备发送的设置地址指令,解析设置地址指令得到第
二预设地址并保存,通过第二预设地址向苹果转换设备发送设置地址成功响应;步骤c4:苹果转换设备接收苹果外设发送的设置地址成功响应,通过第二预设地址向苹果外设发送获取设备描述符指令;步骤c5:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;步骤c6:苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存。
[0017]
可选地,本实施例中,步骤114之前还包括:步骤e1:苹果转换设备向苹果外设发送包含配置参数的配置连接指令;步骤e2:苹果外设接收苹果转换设备发送的配置连接指令,解析配置连接指令得到配置参数,根据配置参数进行配置连接,向苹果转换设备发送配置连接响应;步骤e3:苹果转换设备接收苹果外设发送的配置连接响应。
[0018]
可选地,本实施例中,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式具体为:步骤f1:苹果转换设备从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断设备类、设备子类和设备协议是否与预设的设备类、设备子类和设备协议匹配,如均匹配,执行步骤f2,否则,结束;步骤f2:苹果转换设备从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据接口类、接口子类和接口协议确定出苹果外设的数据格式。
[0019]
可选地,本实施例中,苹果转换设备解析接收到的数据传输指令得到待处理数据具体为:苹果转换设备从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;按照苹果外设的数据格式封装待处理数据得到苹果外设数据具体为:苹果转换设备获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度和待处理数据顺次拼接得到苹果外设数据。
[0020]
可选地,本实施例中,根据处理结果生成第一响应数据,具体包括:苹果外设获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处理结果的长度和处理结果顺次拼接得到第一响应数据。
[0021]
可选地,本实施例中,步骤119具体包括:步骤i1:苹果转换设备接收苹果外设发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第一响应数据作为处理结果;步骤i2:苹果转换设备获取保存的苹果数据格式指令码,将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据。
[0022]
本发明提供了一种基于苹果转换设备的通信方法,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果ea数据格式的苹果外设可以和苹果移动设备进行通信,提高了用户体验。
[0023]
实施例2本发明实施例2提供了一种基于苹果转换设备的通信方法,如图2所示,包括如下步骤:
步骤200:苹果转换设备上电,初始化;可选地,本实施例中,当苹果转换设备插入到苹果移动设备时,苹果转换设备上电,初始化。
[0024]
步骤201:苹果转换设备等待接收苹果移动设备发送的指令,当接收到认证指令时,执行步骤202,当接收到设备连接指令时,执行步骤301,当接收到数据传输指令时,执行步骤401;步骤202:苹果转换设备向苹果移动设备发送握手请求;例如,本实施例中,苹果转换设备向苹果移动设备发送的握手请求具体为:ff 55 02 00 ee 10;步骤203:苹果移动设备接收苹果转换设备发送的握手请求,向苹果转换设备发送握手应答;例如,本实施例中,向苹果转换设备发送的握手应答具体为:ff 55 02 00 ee 10;步骤204:苹果转换设备接收苹果移动设备发送的握手应答,向苹果移动设备发送包括自身配置信息的配对请求;可选地,本实施例中,步骤204具体为:苹果转换设备接收苹果移动设备发送的握手应答,判断握手应答与握手请求是否匹配,如果是,获取自身的配置信息,向苹果移动设备发送包括自身配置信息的配对请求,否则,结束;例如,本实施例中,获取的自身的配置信息具体为:01 05 10 00 04 0b 00 17 03 03 0m 00 01 0b 02 01 m5;配对请求具体为:ff 5m 00 1m 80 2b 00 00 e2 01 05 10 00 04 0b 00 17 03 03 0m 00 01 0b 02 01 m5;步骤205:苹果移动设备接收苹果转换设备发送的配对请求,对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备发送配对应答;例如,本实施例中,配对应答具体为:ff 5m 00 1m c0 09 b0 00 14 01 7f ff ff em 60 27 10 1e 01 01 00 01 02 02 01 db;步骤206:苹果转换设备接收苹果移动设备发送的配对应答,向苹果移动设备发送配对成功响应;步骤207:苹果移动设备接收苹果转换设备发送的配对成功响应,向苹果转换设备发送认证通知;例如,本实施例中,认证通知具体为:ff 5m 00 10 40 0m b0 01 9c 40 40 00 06 mm 00 d0;步骤208:苹果转换设备接收苹果移动设备发送的认证通知,向苹果移动设备发送包含cp芯片证书的第一认证请求;例如,本实施例中,第一认证请求具体为:ff 5m 03 m0 40 b1 7f 01 93 40 40 03 96 mm 01 03 90 00 00;步骤209:苹果移动设备接收苹果转换设备发送的第一认证请求,保存第一认证请求中的cp芯片证书,生成挑战码,向苹果转换设备发送包含挑战码的第一认证应答;例如,本实施例中,挑战码具体为:3082038806092m864886f70d010702m0820379308203750201013100300b06092m864886f70d010701m082035d3082035930820241m003020102020
f2222mm150807mm06mm8409mm229533300d06092m864886f70d0101050500308183310b300906035504061302555331133011060355040m130m4170706c6520496e632e31263024060355040b131d4170706c652043657274696669636174696f6e20417574686f72697479313730350603550403132e4170706c652069506f64204163636573736f726965732043657274696669636174696f6e20417574686f72697479301e170d3135303830373038303430355m170d3232303231343232313830385m3070310b300906035504061302555331133011060355040m0c0m4170706c6520496e632e311f301d060355040b0c164170706c652069506f64204163636573736f72696573312b302906035504030c224950415f3232323241413135 3038303741413036414138343039414132323935333330819f300d06092m864886f70d010101050003818d0030818902818100b5ecbef2259f93cdb01929248e86f18fb51e30d85m81m0d69c42m9mbcebdb1dm8e55cm29fb7d2823f6mm17db8ce9dc1b7c877b9f38f8739d21f8b9764b5142b558b7md3edm089ce888b5bm74d5em8041839m4f7d5157ef3m02cc44fm1e725fdf9956336d718bd29d573b471b5c72fdc2d33m5e035d263b922117d0198fc392010203010001m360305e301d0603551d0e04160414079889565416de7fc6 49mc2c15cfc95546e63b74300c0603551d130101ff040230 00301f0603551d23041830168014ff4b1m439mf51996mb18002b61c9ee409d8ec704300e0603551d0f0101ff0404030203b8300d06092m864886f70d010105050003820101008378d8317f3067f2ef14c9fme230e5emb3cm18b3732fb6861m6f447105e0549m8c4fm25ff18567cd7mm50dm2615f2818mf0e03mecf9d2cde620084mb25c983mmd4d53me2f4b3f5105399m2db6fb9235ec296c93fdfm07ede0c363efb5782ce99f2e50204f8b6m273b4885f09c72c5fbdd564m6e57c47d266mme049680677b204dcec64892dfcb515m9e60d77mf6925e3bee836cdb521eb11b039b2de1f3e246650fe05f95e9d14dmfd01811db2e17mb54e2c75f4m374m69483m029em720e41b26f0e77m63855dm878864meefb66dembd9db6e7b277c01e377063b9bfe3e2bdf359cm00f3f473306c5c2bef5c25ee615m44f53de473c8cmf933d8cf07me1ce54c3100;第一认证应答具体为:ff5m0009407fb1002e3082038806092m864886f70d010702m0820379308203750201013100300b06092m864886f70d010701m082035d3082035930820241m003020102020f2222mm150807mm06mm8409mm229533300d06092m864886f70d0101050500308183310b300906035504061302555331133011060355040m130m4170706c6520496e632e31263024060355040b131d4170706c652043657274696669636174696f6e20417574686f72697479313730350603550403132e4170706c652069506f64204163636573736f726965732043657274696669636174696f6e20417574686f72697479301e170d3135303830373038303430355m170d3232303231343232313830385m3070310b300906035504061302555331133011060355040m0c0m4170706c6520496e632e311f301d060355040b0c164170706c652069506f64204163636573736f72696573312b302906035504030c224950415f32323232414131353038303741413036414138343039414132323935333330819f300d06092m864886f70d010101050003818d0030818902818100b5ecbef2259f93cdb01929248e86f18fb51e30d85m81m0d69c42m9mbcebdb1dm8e55cm29fb7d2823f6mm17db8ce9dc1b7c877b9f38f8739d21f8b9764b5142b558b7md3edm089ce888b5bm74d5em8041839m4f7d5157ef3m02cc44fm1e725fdf9956336d718bd29d573b471b5c72fdc2d33m5e035d263b922117d0198fc392010203010001m360305e301d0603551d0e04160414079889565416de7fc649mc2c15cfc95546e63b74300c0603551d130101ff04023000301f0603551d2
3041830168014ff4b1m439mf51996mb18002b61c9ee409d8ec704300e0603551d0f0101ff0404030203b8300d06092m864886f70d010105050003820101008378d8317f3067f2ef14c9fme230e5emb3cm18b3732fb6861m6f447105e0549m8c4fm25ff18567cd7mm50dm2615f2818mf0e03mecf9d2cde620084mb25c983mmd4d53me2f4b3f5105399m2db6fb9235ec296c93fdfm07ede0c363efb5782ce99f2e50204f8b6m273b4885f09c72c5fbdd564m6e57c47d266mme049680677b204dcec64892dfcb515m9e60d77mf6925e3bee836cdb521eb11b039b2de1f3e246650fe05f95e9d14dmfd01811db2e17mb54e2c75f4m374m69483m029em720e41b26f0e77m63855dm878864meefb66dembd9db6e7b277c01e377063b9bfe3e2bdf359cm00f3f473306c5c2bef5c25ee615m44f53de473c8cmf933d8cf07me1ce54c3100;步骤210:苹果转换设备接收苹果移动设备发送的第一认证应答,将第一认证应答中的挑战码发送给苹果移动设备的认证芯片(简称cp芯片)进行签名得到签名结果,向苹果移动设备发送包含签名结果的第二认证请求;例如,本实施例中,签名结果具体为:ff5m00284080b1010d4040001emm02001800008c5972d110793667e6 0700567357109bb1b8d7mmme;第二认证请求具体为:ff5m009440b28001m04040008mmm030084000091e6ce81m5d9e44dfb3f53m7e67d24155dc8e44979c5667134d702cd83e8e87e2d44fm9bc35129508659eb2473dfe6438e9b2mdb3bcf729775f8045211c8545bdc62b969e3148398d3mcm0fbd04mm6035154f78m18087814e7d8fme69cc8m9em3990eed0696105165cf126de9d84c54mm5649m89cem50980b53e62m3d6e3ebdf9fc8545bdc62b969e3148398d3mcm0fbd04mm6035154f78m18087814e7d8fme69cc8m9em3990eed0696105165cf126de9d84c54mm5649m89cem50980b53e62m3d6e3ebdf9f;步骤211:苹果移动设备接收苹果转换设备发送的第二认证请求,使用保存的cp芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,向苹果转换设备发送第二认证应答;例如,本实施例中,第二认证应答具体为:ff 5m 00 09 40 80 b2 00 2c;步骤212:苹果转换设备接收苹果移动设备发送的第二认证应答;步骤213:苹果移动设备向苹果转换设备发送设备识别通知;例如,本实施例中,设备识别通知具体为:ff 5m 00 10 40 81 b2 01 23 40 40 00 06 mm 05 cb;步骤214:苹果转换设备接收苹果移动设备发送的设备识别通知,向苹果移动设备发送包含设备信息的设备识别请求;例如,本实施例中,设备识别请求具体为:ff5m00f540b382013c404000eb1d01000m0000695233303100000m0001695233303100002300024665697469616e20546563686e6f6c6f6769657320436f2e2c204c74642e00001500034335353338314330313530303030353600000m000420342e333200000m000520312e303000000m0006me00me02me03000m0007em00em01me0100050008020006000900640023000m000500000000150001636f6d2e6674736166652e6952333031000005000201000f000b53343754345545535033000007000c656e000007000d656e0000260010000600000000001800014c696768746e696e6720436f6e6e6563746f720000040002m5;步骤215:苹果移动设备接收苹果转换设备发送的设备识别请求,对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备发送设备识别成功应答;
例如,本实施例中,设备识别应答具体为: ff 5m 00 10 40 0e b3 01 95 40 40 00 06 1d 02 5b;步骤216:苹果转换设备接收苹果移动设备发送的设备识别成功应答,返回步骤201。
[0025]
可选地,如图3所示,当接收到设备连接指令时,执行步骤301至步骤311:步骤301:苹果转换设备通过第一预设地址向苹果外设发送获取设备描述符指令;可选地,本实施例中,苹果转换设备给苹果外设供电,当苹果外设插入到苹果转换设备时,苹果外设上电。
[0026]
可选地,本实施例中,第一预设地址具体为苹果外设插入苹果转换设备时,苹果转换设备与苹果外设进行临时通信的默认地址;例如,本实施例中,第一预设地址为00;例如,本实施例中,获取设备描述符指令具体为:80 06 00 01 00 00 12 00;可选地,本实施例中,步骤301之前还包括:苹果转换设备判断苹果外设是否已插入苹果转换设备,如果是,执行步骤301,否则,向苹果移动设备发送设备连接失败响应。
[0027]
步骤302:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第一预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;例如,本实施例中,苹果外设的设备描述符具体为:12 01 10 01 00 00 00 08 6e 09 2d 06 49 05 01 02 03 01;步骤303:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取最大数据包的长度,通过第一预设地址以最大数据包的长度向苹果外设发送包含第二预设地址的设置地址指令;步骤304:苹果外设接收苹果转换设备发送的设置地址指令,解析设置地址指令得到第二预设地址并保存,通过第二预设地址向苹果转换设备发送设置地址成功响应;步骤305:苹果转换设备接收苹果外设发送的设置地址成功响应,通过第二预设地址向苹果外设发送获取设备描述符指令;步骤306:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;步骤307:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取苹果外设的供应商标识、设备标识和设备版本号,判断苹果外设的供应商标识、设备标识和设备版本号是否在预设列表上,如果是,通过第二预设地址向苹果外设发送获取接口描述符指令,执行步骤309,否则,向苹果移动设备发送连接失败响应,执行步骤308;步骤308:苹果移动设备接收苹果转换设备发送的连接失败响应,返回步骤201;步骤309:苹果外设接收苹果转换设备发送的获取接口描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;步骤310:苹果转换设备接收苹果外设发送的获取接口描述符应答,解析获取接口描述符应答得到苹果外设的接口描述符并保存,通过第二预设地址向苹果外设发送包含配置参数的配置连接指令;步骤311:苹果外设接收苹果转换设备发送的配置连接指令,解析配置连接指令得到配
置参数,根据配置参数进行配置连接,通过第二预设地址向苹果转换设备发送配置连接响应;步骤312:苹果转换设备接收苹果外设发送的配置连接响应,向苹果移动设备发送连接成功响应,返回步骤201;步骤313:苹果移动设备接收苹果转换设备发送的连接成功响应。
[0028]
可选地,如图4所示,当接收到数据传输指令时,执行步骤401至步骤405:步骤401:苹果转换设备接收苹果移动设备发送的数据传输指令,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设支持的数据格式;可选地,本实施例中,设备描述符包括:设备类、设备子类和设备协议,接口描述符包括:接口类、接口子类和接口协议;根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式具体为:步骤b1:苹果转换设备从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断获取到的设备类、设备子类和设备协议是否与预设的设备类、设备子类和设备协议匹配,如均匹配,执行步骤b2,否则,结束;步骤b2:苹果转换设备从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据获取到的接口类、接口子类和接口协议确定出苹果外设的数据格式。
[0029]
当苹果外设具体为:hid鼠标、hid键盘、ccid读卡器或认证设备。
[0030]
可选地,本实施例中,认证设备具体为key;可选地,本实施例中,步骤401之前还包括:苹果移动设备按照苹果移动设备的数据格式封装待处理数据得到苹果数据,将苹果数据发送给苹果转换设备;可选地,本实施例中,苹果移动设备的数据格式具体为:ea数据格式;可选地,本实施例中,苹果移动设备按照苹果移动设备的数据格式组织待处理数据得到苹果数据具体为:苹果移动设备获取预设的苹果数据格式指令码,计算待处理数据的长度,将苹果数据格式指令码、计算得到的待处理数据的长度和待处理数据顺次拼接得到苹果数据。
[0031]
可选地,本实施例中,步骤401还包括:苹果转换设备向苹果移动设备返回包含设备繁忙信息的接收响应。
[0032]
步骤402:苹果转换设备按照苹果移动设备的数据格式解析数据传输指令得到待处理数据,按照苹果外设的数据格式封装待处理数据得到苹果外设数据,将苹果外设数据发送给苹果外设;可选地,本实施例中,步骤402之前还包括:苹果转换设备判断所述苹果外设是否处于忙碌状态,如果是,向苹果移动设备返回包含设备忙碌标志的接收应答,否则,执行步骤402。
[0033]
可选地,本实施例中,步骤402之前还包括:步骤z1:苹果转换设备判断苹果外设是否处于忙碌状态,如果是,向苹果移动设备返回包含等待标志的接收应答,执行步骤z2,否则,执行步骤122;步骤z2:苹果转换设备缓存苹果外设数据;步骤z3:苹果转换设备监测所述苹果外设的工作状态,当监测到苹果外设空闲时,将缓存的苹果外设数据发送给苹果外设,执行步骤122。
[0034]
可选地,本实施例中,步骤402具体为:步骤c1:苹果转换设备从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;步骤c2:苹果转换设备获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度和待处理数据顺次拼接得到苹果外设数据。
[0035]
步骤403:苹果外设接收苹果转换设备发送的苹果外设数据,按照苹果外设的数据格式解析苹果外设数据得到待处理数据,对待处理数据进行处理得到处理结果,按照苹果外设的数据格式封装处理结果得到第一响应数据,将第一响应数据发送给苹果转换设备;可选地,本实施例中,步骤403具体为:步骤d1:苹果外设接收苹果转换设备发送的苹果外设数据,从苹果外设数据中截取预设字节上的数据得到苹果外设数据格式指令码和待处理数据的长度,将截取后剩余的苹果外设数据作为待处理数据;步骤d2:苹果外设对待处理数据执行预设处理操作得到处理结果;步骤d3:苹果外设获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处理结果的长度和处理结果顺次拼接得到第一响应数据,将第一响应数据发送给苹果转换设备。
[0036]
步骤404:苹果转换设备接收苹果外设发送的第一响应数据,按照苹果外设的数据格式解析第一响应数据得到处理结果,按照苹果移动设备的数据格式封装处理结果得到第二响应数据,将第二响应数据发送给苹果移动设备,返回步骤201;可选地,本实施例中,步骤404具体为:步骤e1:苹果转换设备接收苹果外设发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第一响应数据作为处理结果;步骤e2:苹果转换设备获取保存的苹果数据格式指令码,将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据,将第二响应数据发送给苹果移动设备。
[0037]
步骤405:苹果移动设备接收苹果转换设备发送的第二响应数据,按照苹果移动设备的数据格式解析第二响应数据得到处理结果。
[0038]
可选地,本实施例中,按照苹果移动设备的数据格式解析第二响应数据得到处理结果具体为:苹果移动设备从第二响应数据中截取预设字节上的数据得到苹果数据格式指令码和处理结果的长度,将截取后剩余的数据作为处理结果。
[0039]
本发明提供了一种基于苹果转换设备的通信方法,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果ea数据格式的苹果外设可以和苹果移动设备进行通信,提高了用户体验。
[0040]
实施例3本发明实施例3提供了一种基于苹果转换设备的通信系统,如图5示,该系统包括:苹果转换设备60、苹果移动设备50和苹果外设70;苹果转换设备60包括:初始化模块601、第一接收模块602、第一发送模块603、第二发送模块604、第二接收模块605、第三发送模块606、第一获取模块607、第四发送模块608、第二
获取模块609、第五发送模块610、第一解析模块611、第一确定模块612、第一封装模块613、第六发送模块614、第二解析模块615和第七发送模块616;初始化模块601,用于上电,初始化;第一接收模块602,用于等待接收苹果移动设备50发送的指令,当接收到认证指令时,触发第一发送模块603,当接收到设备连接指令时,触发第三发送模块606,当接收到数据传输指令时,触发第一解析模块611;第一发送模块603,用于向苹果移动设备50发送认证请求;第二发送模块604,用于向苹果移动设备50发送设备识别请求;第二接收模块605,用于接收苹果移动设备50发送的设备识别应答,触发第一接收模块602;第三发送模块606,用于向苹果外设70发送获取设备描述符指令;第一获取模块607,用于从接收到的设备描述符应答中获取苹果外设70的设备描述符并保存;第四发送模块608,用于向苹果外设70发送获取接口描述符指令;第二获取模块609,用于从接收到的接口描述符应答中获取苹果外设70的接口描述符并保存;第五发送模块610,用于向苹果移动设备50发送连接成功响应,触发第一接收模块602;第一解析模块611,用于解析接收到的数据传输指令得到待处理数据;第一确定模块612,用于根据保存的苹果外设70的设备描述符和接口描述符确定苹果外设70的数据格式;第一封装模块613,用于根据保存的苹果外设70的设备描述符和接口描述符确定苹果外设70的数据格式;第六发送模块614,用于将苹果外设数据发送给苹果外设70;第二解析模块615,用于解析接收到的第一响应数据得到处理结果,根据处理结果生成第二响应数据;第七发送模块616,用于将第二响应数据发送给苹果移动设备50,触发第一接收模块602;苹果移动设备50包括:第八发送模块501、第九发送模块502、第十发送模块503和第三解析模块504;第八发送模块501,用于向苹果转换设备60发送认证应答;第九发送模块502,用于向苹果转换设备60发送设备识别通知;第十发送模块503,用于向苹果转换设备60发送设备识别应答;第三解析模块504,用于解析接收到的第二响应数据得到处理结果;苹果外设70包括:第十一发送模块701、第十二发送模块702、第四解析模块703、处理模块704、第一生成模块705和第十三发送模块706;第十一发送模块701,用于向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答;第十二发送模块702,用于向苹果转换设备60发送包含苹果外设70的接口描述符的获取接口描述符应答;
第四解析模块703,用于解析接收到的苹果外设数据得到待处理数据;处理模块704,用于对待处理数据进行处理得到处理结果;第一生成模块705,用于根据处理结果生成第一响应数据;第十三发送模块706,用于将第一响应数据发送给苹果转换设备60。
[0041]
可选地,本实施例中,苹果转换设备60还包括:第一判断模块;第一判断模块,用于判断苹果外设70是否已插入苹果转换设备60,如果是,触发第三发送模块606,否则,触发第五发送模块610;第五发送模块610,还用于向苹果移动设备50发送连接失败响应,触发第一接收模块602。
[0042]
可选地,本实施例中,苹果转换设备60还包括:第二判断模块;第二判断模块,用于从苹果外设70的设备描述符中获取苹果外设70的供应商标识、设备标识和设备版本号,判断供应商标识、设备标识和设备版本号是否均在预设列表上,如果是,触发第四发送模块608,否则,触发第五发送模块610;第五发送模块610,还用于向苹果移动设备50发送连接失败响应,触发第一接收模块602。
[0043]
可选地,本实施例中,第六发送模块614,还用于向苹果移动设备50返回包含设备繁忙信息的接收响应。
[0044]
可选地,本实施例中,苹果转换设备60还包括:第十四发送模块和第二接收发送模块;第十四发送模块,用于向苹果移动设备50发送握手请求;第二接收发送模块,用于接收苹果移动设备50发送的握手应答,向苹果移动设备50发送包括自身配置信息的配对请求;苹果移动设备50还包括:第一接收发送模块、第三接收模块和第一验证模块;第一接收发送模块,用于接收苹果转换设备60发送的握手请求,向苹果转换设备60发送握手应答;第三接收模块,用于接收苹果转换设备60发送的配对请求;第一验证模块,用于对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备60发送配对应答。
[0045]
可选地,本实施例中,第一发送模块603具体包括:第一发送单元、第一接收单元、第二发送单元和第二接收单元;第一发送单元,用于向苹果移动设备50发送包含cp芯片证书的第一认证请求;第一接收单元,用于接收苹果移动设备50发送的第一认证应答;第二发送单元,用于将第一认证应答中的挑战码发送给cp芯片进行签名得到签名结果,向苹果移动设备50发送包含签名结果的第二认证请求;第二接收单元,用于接收苹果移动设备50发送的第二认证应答;第八发送模块501具体包括:第三接收单元、保存生成单元、第三发送单元、第四接收单元、验签单元和第四发送单元;第三接收单元,用于接收苹果转换设备60发送的第一认证请求;保存生成单元,用于保存第一认证请求中的cp芯片证书,生成挑战码;
第三发送单元,用于向苹果转换设备60发送包含挑战码的第一认证应答;第四接收单元,用于接收苹果转换设备60发送的第二认证请求;验签单元,用于使用保存的cp芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,触发第四发送单元;第四发送单元,用于向苹果转换设备60发送第二认证应答。
[0046]
可选地,本实施例中,第二发送模块604,具体用于向苹果移动设备50发送包含自身设备信息的设备识别请求;第十发送模块503,具体用于接收苹果转换设备60发送的设备识别请求;对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备60发送设备识别成功应答。
[0047]
可选地,本实施例中,第四发送模块608具体包括:第五发送单元、第五接收单元、第一解析单元、第六发送单元、第六接收单元、第七发送单元和第一获取单元;第五发送单元,用于通过第一预设地址向苹果外设70发送获取设备描述符指令;第五接收单元,用于接收苹果外设70发送的获取设备描述符应答;第一解析单元,解析获取设备描述符应答得到苹果外设70的设备描述符,从苹果外设70的设备描述符中获取最大数据包的长度;第六发送单元,用于通过第一预设地址以最大数据包的长度向苹果外设70发送包含第二预设地址的设置地址指令;第六接收单元,用于接收苹果外设70发送的设置地址成功响应;第七发送单元,用于通过第二预设地址向苹果外设70发送获取设备描述符指令;第一获取单元,用于从接收到的设备描述符应答中获取苹果外设70的设备描述符并保存;第十一发送模块701具体包括:第八发送单元、第七接收单元、第九发送单元、第八接收单元和第十发送单元;第八发送单元,用于通过第一预设地址向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答;第七接收单元,用于接收苹果转换设备60发送的设置地址指令,解析设置地址指令得到第二预设地址并保存;第九发送单元,用于通过第二预设地址向苹果转换设备60发送设置地址成功响应;第八接收单元,用于接收苹果转换设备60发送的获取设备描述符指令;第十发送单元,用于通过第二预设地址向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答。
[0048]
可选地,本实施例中,苹果转换设备60还包括:第十五发送模块和第四接收模块;第十五发送模块,用于向苹果外设70发送包含配置参数的配置连接指令;第四接收模块,用于接收苹果外设70发送的配置连接响应;苹果外设70还包括:第五接收模块、解析配置模块和第十六发送模块;第五接收模块,用于接收苹果转换设备60发送的配置连接指令;解析配置模块,用于解析配置连接指令得到配置参数,根据配置参数进行配置连接;第十六发送模块,用于向苹果转换设备60发送配置连接响应。
[0049]
可选地,本实施例中,第一确定模块612具体包括:第一匹配单元和第一确定单元;
第一匹配单元,用于从保存的苹果外设70的设备描述符中获取设备类、设备子类和设备协议,判断设备类、设备子类和设备协议是否与预设的设备类、设备子类和设备协议匹配,如均匹配,触发第一确定单元,否则,结束;第一确定单元,用于从保存的苹果外设70的接口描述符中获取接口类、接口子类和接口协议,根据接口类、接口子类和接口协议确定出苹果外设70的数据格式。
[0050]
可选地,本实施例中,第一解析模块611,具体用于从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;第一封装模块613,具体用于获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度和待处理数据顺次拼接得到苹果外设数据。
[0051]
可选地,本实施例中,第一生成模块705,具体用于获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处理结果的长度和处理结果顺次拼接得到第一响应数据。
[0052]
可选地,本实施例中,第二解析模块615具体用于,接收苹果外设70发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第一响应数据作为处理结果;获取保存的苹果数据格式指令码,将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据。
[0053]
本发明提供了一种基于苹果转换设备的通信系统,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果ea数据格式的苹果外设可以和苹果移动设备进行通信,提高了用户体验。
[0054]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1