一种基于苹果转换设备的通信方法和系统转让专利

申请号 : CN202011572628.0

文献号 : CN112272096B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明提供了一种基于苹果转换设备的通信方法和系统,涉及通信领域。该方法包括苹果移动设备对苹果转换设备建立连接的过程、苹果转换设备与苹果外设建立连接的过程以及苹果移动设备通过苹果转换设备与苹果外设进行通信的过程。本发明通过苹果转换设备将苹果移动设备发送的苹果数据转换为苹果外设可以识别的数据并将苹果外设发送的外接设备数据转换为苹果移动设备可以识别的数据,使不支持苹果EA数据格式的苹果外设可以和苹果移动设备进行通信,提高了用户体验。

权利要求 :

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:所述苹果移动设备解析接收到的第二响应数据得到处理结果;

所述步骤115还包括:所述苹果转换设备向所述苹果移动设备返回包含设备繁忙信息的接收响应;

所述步骤116之前还包括:

步骤z1:所述苹果转换设备判断所述苹果外设是否处于忙碌状态,如果是,向所述苹果移动设备返回包含等待标志的接收应答,执行步骤z2,否则,执行步骤116;

步骤z2:所述苹果转换设备缓存所述苹果外设数据;

步骤z3:所述苹果转换设备监测所述苹果外设的工作状态,当监测到所述苹果外设空闲时,执行步骤116;

所述步骤108和所述步骤109具体包括:步骤c0:所述苹果转换设备通过第一预设地址向所述苹果外设发送获取设备描述符指令;

步骤c1:所述苹果外设通过所述第一预设地址向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;

步骤c2:所述苹果转换设备接收所述苹果外设发送的获取设备描述符应答,解析所述获取设备描述符应答得到苹果外设的设备描述符,从所述苹果外设的设备描述符中获取最大数据包的长度,通过所述第一预设地址以所述最大数据包的长度向所述苹果外设发送包含第二预设地址的设置地址指令;

步骤c3:所述苹果外设接收所述苹果转换设备发送的设置地址指令,解析所述设置地址指令得到第二预设地址并保存,通过所述第二预设地址向所述苹果转换设备发送设置地址成功响应;

步骤c4:所述苹果转换设备接收所述苹果外设发送的设置地址成功响应,通过所述第二预设地址向所述苹果外设发送获取设备描述符指令;

步骤c5:所述苹果外设接收所述苹果转换设备发送的获取设备描述符指令,通过所述第二预设地址向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;

步骤c6:所述苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;

所述步骤110还包括:所述苹果转换设备从所述苹果外设的设备描述符中获取所述苹果外设的供应商标识、设备标识和设备版本号,判断所述苹果外设的供应商标识、设备标识和设备版本号是否在预设列表上,如果是,执行步骤111,否则,向苹果移动设备发送连接失败响应,返回步骤101。

2.如权利要求1所述的方法,其特征在于,所述步骤108之前还包括:所述苹果转换设备判断苹果外设是否已插入所述苹果转换设备,如果是,执行步骤108,否则,向所述苹果移动设备发送连接失败响应,返回步骤101。

3.如权利要求1所述的方法,其特征在于,所述步骤102之前还包括:步骤m1:所述苹果转换设备向所述苹果移动设备发送握手请求;

步骤m2:所述苹果移动设备接收所述苹果转换设备发送的握手请求,向所述苹果转换设备发送握手应答;

步骤m3:所述苹果转换设备接收所述苹果移动设备发送的握手应答,向所述苹果移动设备发送包括自身配置信息的配对请求;

步骤m4:所述苹果移动设备接收所述苹果转换设备发送的配对请求,对所述配对请求中的配置信息进行验证,当验证通过时,向所述苹果转换设备发送配对应答。

4.如权利要求1所述的方法,其特征在于,所述步骤102至所述步骤103具体为:步骤a1:所述苹果转换设备向所述苹果移动设备发送包含CP芯片证书的第一认证请求;

步骤a2:所述苹果移动设备接收所述苹果转换设备发送的第一认证请求,保存所述第一认证请求中的CP芯片证书,生成挑战码,向所述苹果转换设备发送包含所述挑战码的第一认证应答;

步骤a3:所述苹果转换设备接收所述苹果移动设备发送的第一认证应答,将所述第一认证应答中的挑战码发送给CP芯片进行签名得到签名结果,向所述苹果移动设备发送包含所述签名结果的第二认证请求;

步骤a4:所述苹果移动设备接收所述苹果转换设备发送的第二认证请求,使用保存的CP芯片证书对所述第二认证请求中的签名结果进行验签,当验签通过时,向所述苹果转换设备发送第二认证应答;

步骤a5:所述苹果转换设备接收所述苹果移动设备发送的第二认证应答。

5.如权利要求1所述的方法,其特征在于,所述步骤105至所述步骤106具体包括:步骤b1:所述苹果转换设备向所述苹果移动设备发送包含自身设备信息的设备识别请求;

步骤b2:所述苹果移动设备接收所述苹果转换设备发送的设备识别请求;

步骤b3:所述苹果移动设备对所述设备识别请求中的设备信息进行验证,当验证通过时,向所述苹果转换设备发送设备识别成功应答。

6.如权利要求1所述的方法,其特征在于,所述步骤114之前还包括:步骤e1:所述苹果转换设备向所述苹果外设发送包含配置参数的配置连接指令;

步骤e2:所述苹果外设接收所述苹果转换设备发送的配置连接指令,解析所述配置连接指令得到配置参数,根据所述配置参数进行配置连接,向所述苹果转换设备发送配置连接响应;

步骤e3:所述苹果转换设备接收所述苹果外设发送的配置连接响应。

7.如权利要求1所述的方法,其特征在于,所述根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式具体为:步骤f1:所述苹果转换设备从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断所述设备类、所述设备子类和所述设备协议是否与预设的设备类、设备子类和设备协议匹配,如均匹配,执行步骤f2,否则,结束;

步骤f2:所述苹果转换设备从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据所述接口类、所述接口子类和所述接口协议确定出所述苹果外设的数据格式。

8.如权利要求1所述的方法,其特征在于,所述苹果转换设备解析接收到的数据传输指令得到待处理数据具体为:所述苹果转换设备从所述苹果数据中截取预设字节上的数据得到苹果数据格式指令码和所述待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;

所述按照苹果外设的数据格式封装所述待处理数据得到苹果外设数据具体为:所述苹果转换设备获取保存的苹果外设数据格式指令码,将所述苹果外设数据格式指令码、所述待处理数据的长度和所述待处理数据顺次拼接得到苹果外设数据。

9.如权利要求8所述的方法,其特征在于,所述根据所述处理结果生成第一响应数据,具体包括:所述苹果外设获取保存的苹果外设数据格式指令码,计算出所述处理结果的长度,将所述苹果外设数据格式指令码、所述处理结果的长度和所述处理结果顺次拼接得到第一响应数据。

10.如权利要求9所述的方法,其特征在于,所述步骤119具体包括:步骤i1:所述苹果转换设备接收所述苹果外设发送的第一响应数据,从所述第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第一响应数据作为处理结果;

步骤i2:所述苹果转换设备获取保存的苹果数据格式指令码,将所述苹果数据格式指令码、所述处理结果的长度和所述处理结果顺次拼接得到第二响应数据。

11.一种基于苹果转换设备的通信系统,其特征在于,所述系统包括:苹果转换设备、苹果移动设备和苹果外设;

所述苹果转换设备包括:初始化模块、第一接收模块、第一发送模块、第二发送模块、第二接收模块、第三发送模块、第一获取模块、第四发送模块、第二获取模块、第五发送模块、第一解析模块、第一确定模块、第一封装模块、第六发送模块、第二解析模块和第七发送模块;

所述初始化模块,用于上电,初始化;

所述第一接收模块,用于等待接收苹果移动设备发送的指令,当接收到认证指令时,触发所述第一发送模块,当接收到设备连接指令时,触发所述第三发送模块,当接收到数据传输指令时,触发所述第一解析模块;

所述第一发送模块,用于向所述苹果移动设备发送认证请求;

所述第二发送模块,用于向所述苹果移动设备发送设备识别请求;

所述第二接收模块,用于接收所述苹果移动设备发送的设备识别应答,触发所述第一接收模块;

所述第三发送模块,用于向所述苹果外设发送获取设备描述符指令;

所述第一获取模块,用于从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;

所述第四发送模块,用于向所述苹果外设发送获取接口描述符指令;

所述第二获取模块,用于从接收到的接口描述符应答中获取苹果外设的接口描述符并保存;

所述第五发送模块,用于向所述苹果移动设备发送连接成功响应,触发所述第一接收模块;

所述第一解析模块,用于解析接收到的数据传输指令得到待处理数据;

所述第一确定模块,用于根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式;

所述第一封装模块,用于按照苹果外设的数据格式封装所述待处理数据得到苹果外设数据;

所述第六发送模块,用于将所述苹果外设数据发送给所述苹果外设;

所述第二解析模块,用于解析接收到的第一响应数据得到处理结果,根据所述处理结果生成第二响应数据;

所述第七发送模块,用于将所述第二响应数据发送给所述苹果移动设备,触发所述第一接收模块;

所述苹果移动设备包括:第八发送模块、第九发送模块、第十发送模块和第三解析模块;

所述第八发送模块,用于向所述苹果转换设备发送认证应答;

所述第九发送模块,用于向所述苹果转换设备发送设备识别通知;

所述第十发送模块,用于向所述苹果转换设备发送设备识别应答;

所述第三解析模块,用于解析接收到的第二响应数据得到处理结果;

所述苹果外设包括:第十一发送模块、第十二发送模块、第四解析模块、处理模块、第一生成模块和第十三发送模块;

所述第十一发送模块,用于向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;

所述第十二发送模块,用于向所述苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;

所述第四解析模块,用于解析接收到的苹果外设数据得到待处理数据;

所述处理模块,用于对所述待处理数据进行处理得到处理结果;

所述第一生成模块,用于根据所述处理结果生成第一响应数据;

所述第十三发送模块,用于将第一响应数据发送给所述苹果转换设备;

所述第六发送模块,还用于向所述苹果移动设备返回包含设备繁忙信息的接收响应;

所述苹果转换设备,还用于判断所述苹果外设是否处于忙碌状态,如果判断结果为处于忙碌状态,向所述苹果移动设备返回包含等待标志的接收应答,缓存所述苹果外设数据监测所述苹果外设的工作状态,当监测到所述苹果外设空闲时,触发所述第六发送模块;所述第四发送模块具体包括:第五发送单元、第五接收单元、第一解析单元、第六发送单元、第六接收单元、第七发送单元和第一获取单元;

所述第五发送单元,用于通过第一预设地址向所述苹果外设发送获取设备描述符指令;

所述第五接收单元,用于接收所述苹果外设发送的获取设备描述符应答;

所述第一解析单元,解析所述获取设备描述符应答得到苹果外设的设备描述符,从所述苹果外设的设备描述符中获取最大数据包的长度;

所述第六发送单元,用于通过所述第一预设地址以所述最大数据包的长度向所述苹果外设发送包含第二预设地址的设置地址指令;

所述第六接收单元,用于接收所述苹果外设发送的设置地址成功响应;

所述第七发送单元,用于通过所述第二预设地址向所述苹果外设发送获取设备描述符指令;

所述第一获取单元,用于从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;

所述第十一发送模块具体包括:第八发送单元、第七接收单元、第九发送单元、第八接收单元和第十发送单元;

所述第八发送单元,用于通过所述第一预设地址向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;

所述第七接收单元,用于接收所述苹果转换设备发送的设置地址指令,解析所述设置地址指令得到第二预设地址并保存;

所述第九发送单元,用于通过所述第二预设地址向所述苹果转换设备发送设置地址成功响应;

所述第八接收单元,用于接收所述苹果转换设备发送的获取设备描述符指令;

所述第十发送单元,用于通过所述第二预设地址向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;所述苹果转换设备还包括:第二判断模块;

所述第二判断模块,还用于从所述苹果外设的设备描述符中获取所述苹果外设的供应商标识、设备标识和设备版本号,判断所述苹果外设的供应商标识、设备标识和设备版本号是否在预设列表上,如果是,触发所述第四发送模块,否则,向苹果移动设备发送连接失败响应,触发所述第一接收模块。

12.如权利要求11所述的系统,其特征在于,所述苹果转换设备还包括:第一判断模块;

所述第一判断模块,用于判断苹果外设是否已插入所述苹果转换设备,如果是,触发所述第三发送模块,否则,触发所述第五发送模块;

所述第五发送模块,还用于向所述苹果移动设备发送连接失败响应,触发所述第一接收模块。

13.如权利要求11所述的系统,其特征在于,所述苹果转换设备还包括:第十四发送模块和第二接收发送模块;

所述第十四发送模块,用于向所述苹果移动设备发送握手请求;

所述第二接收发送模块,用于接收所述苹果移动设备发送的握手应答,向所述苹果移动设备发送包括自身配置信息的配对请求;

所述苹果移动设备还包括:第一接收发送模块、第三接收模块和第一验证模块;

所述第一接收发送模块,用于接收所述苹果转换设备发送的握手请求,向所述苹果转换设备发送握手应答;

所述第三接收模块,用于接收所述苹果转换设备发送的配对请求;

所述第一验证模块,用于对所述配对请求中的配置信息进行验证,当验证通过时,向所述苹果转换设备发送配对应答。

14.如权利要求11所述的系统,其特征在于,所述第一发送模块具体包括:第一发送单元、第一接收单元、第二发送单元和第二接收单元;

所述第一发送单元,用于向所述苹果移动设备发送包含CP芯片证书的第一认证请求;

所述第一接收单元,用于接收所述苹果移动设备发送的第一认证应答;

所述第二发送单元,用于将所述第一认证应答中的挑战码发送给CP芯片进行签名得到签名结果,向所述苹果移动设备发送包含所述签名结果的第二认证请求;

所述第二接收单元,用于接收所述苹果移动设备发送的第二认证应答;

所述第八发送模块具体包括:第三接收单元、保存生成单元、第三发送单元、第四接收单元、验签单元和第四发送单元;

所述第三接收单元,用于接收所述苹果转换设备发送的第一认证请求;

所述保存生成单元,用于保存所述第一认证请求中的CP芯片证书,生成挑战码;

所述第三发送单元,用于向所述苹果转换设备发送包含所述挑战码的第一认证应答;

所述第四接收单元,用于接收所述苹果转换设备发送的第二认证请求;

所述验签单元,用于使用保存的CP芯片证书对所述第二认证请求中的签名结果进行验签,当验签通过时,触发所述第四发送单元;

所述第四发送单元,用于向所述苹果转换设备发送第二认证应答。

15.如权利要求11所述的系统,其特征在于,所述第二发送模块,具体用于向所述苹果移动设备发送包含自身设备信息的设备识别请求;

所述第十发送模块,具体用于接收所述苹果转换设备发送的设备识别请求;对所述设备识别请求中的设备信息进行验证,当验证通过时,向所述苹果转换设备发送设备识别成功应答。

16.如权利要求11所述的系统,其特征在于,所述苹果转换设备还包括:第十五发送模块和第四接收模块;

所述第十五发送模块,用于向所述苹果外设发送包含配置参数的配置连接指令;

所述第四接收模块,用于接收所述苹果外设发送的配置连接响应;

所述苹果外设还包括:第五接收模块、解析配置模块和第十六发送模块;

所述第五接收模块,用于接收所述苹果转换设备发送的配置连接指令;

所述解析配置模块,用于解析所述配置连接指令得到配置参数,根据所述配置参数进行配置连接;

所述第十六发送模块,用于向所述苹果转换设备发送配置连接响应。

17.如权利要求11所述的系统,其特征在于,所述第一确定模块具体包括:第一匹配单元和第一确定单元;

所述第一匹配单元,用于从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断所述设备类、所述设备子类和所述设备协议是否与预设的设备类、设备子类和设备协议匹配,如均匹配,触发所述第一确定单元,否则,结束;

所述第一确定单元,用于从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据所述接口类、所述接口子类和所述接口协议确定出所述苹果外设的数据格式。

18.如权利要求11所述的系统,其特征在于,所述第一解析模块,具体用于从所述苹果数据中截取预设字节上的数据得到苹果数据格式指令码和所述待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;

所述第一封装模块,具体用于获取保存的苹果外设数据格式指令码,将所述苹果外设数据格式指令码、所述待处理数据的长度和所述待处理数据顺次拼接得到苹果外设数据。

19.如权利要求18所述的系统,其特征在于,所述第一生成模块,具体用于获取保存的苹果外设数据格式指令码,计算出所述处理结果的长度,将所述苹果外设数据格式指令码、所述处理结果的长度和所述处理结果顺次拼接得到第一响应数据。

20.如权利要求19所述的系统,其特征在于,所述第二解析模块具体用于,接收所述苹果外设发送的第一响应数据,从所述第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第一响应数据作为处理结果;获取保存的苹果数据格式指令码,将所述苹果数据格式指令码、所述处理结果的长度和所述处理结果顺次拼接得到第二响应数据。

说明书 :

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

技术领域

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

背景技术

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

发明内容

[0003] 本发明提供了一种基于苹果转换设备的通信方法和系统,克服了现有技术的不足。
[0004] 第一方面,本发明提供了一种基于苹果转换设备的通信方法,包括如下步骤:
[0005] 步骤100:苹果转换设备上电,初始化;
[0006] 步骤101:所述苹果转换设备等待接收苹果移动设备发送的指令,当接收到认证指令时,执行步骤102,当接收到设备连接指令时,执行步骤108,当接收到数据传输指令时,执
行步骤115;
[0007] 步骤102:所述苹果转换设备向所述苹果移动设备发送认证请求;
[0008] 步骤103:所述苹果移动设备向所述苹果转换设备发送认证应答;
[0009] 步骤104:所述苹果移动设备向所述苹果转换设备发送设备识别通知;
[0010] 步骤105:所述苹果转换设备向所述苹果移动设备发送设备识别请求;
[0011] 步骤106:所述苹果移动设备向所述苹果转换设备发送设备识别应答;
[0012] 步骤107:所述苹果转换设备接收所述苹果移动设备发送的设备识别应答,返回步骤101;
[0013] 步骤108:所述苹果转换设备向所述苹果外设发送获取设备描述符指令;
[0014] 步骤109:所述苹果外设向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0015] 步骤110:所述苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;
[0016] 步骤111:所述苹果转换设备向所述苹果外设发送获取接口描述符指令;
[0017] 步骤112:所述苹果外设向所述苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;
[0018] 步骤113:所述苹果转换设备从接收到的接口描述符应答中获取苹果外设的接口描述符并保存;
[0019] 步骤114:所述苹果转换设备向所述苹果移动设备发送连接成功响应,返回步骤101;
[0020] 步骤115:所述苹果转换设备解析接收到的数据传输指令得到待处理数据,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式,按照苹果外设的数据
格式封装所述待处理数据得到苹果外设数据;
[0021] 步骤116:所述苹果转换设备将所述苹果外设数据发送给所述苹果外设;
[0022] 步骤117:所述苹果外设解析接收到的苹果外设数据得到待处理数据,对所述待处理数据进行处理得到处理结果,根据所述处理结果生成第一响应数据;
[0023] 步骤118:所述苹果外设将第一响应数据发送给所述苹果转换设备;
[0024] 步骤119:所述苹果转换设备解析接收到的第一响应数据得到处理结果,根据所述处理结果生成第二响应数据;
[0025] 步骤120:所述苹果转换设备将所述第二响应数据发送给所述苹果移动设备,返回步骤101;
[0026] 步骤121:所述苹果移动设备解析接收到的第二响应数据得到处理结果。
[0027] 第二方面,本发明提供了一种基于苹果转换设备的通信系统,包括:苹果转换设备、苹果移动设备和苹果外设;
[0028] 所述苹果转换设备包括:初始化模块、第一接收模块、第一发送模块、第二发送模块、第二接收模块、第三发送模块、第一获取模块、第四发送模块、第二获取模块、第五发送
模块、第一解析模块、第一确定模块、第一封装模块、第六发送模块、第二解析模块和第七发
送模块;
[0029] 所述初始化模块,用于上电,初始化;
[0030] 所述第一接收模块,用于等待接收苹果移动设备发送的指令,当接收到认证指令时,触发所述第一发送模块,当接收到设备连接指令时,触发所述第三发送模块,当接收到
数据传输指令时,触发所述第一解析模块;
[0031] 所述第一发送模块,用于向所述苹果移动设备发送认证请求;
[0032] 所述第二发送模块,用于向所述苹果移动设备发送设备识别请求;
[0033] 所述第二接收模块,用于接收所述苹果移动设备发送的设备识别应答,触发所述第一接收模块;
[0034] 所述第三发送模块,用于向所述苹果外设发送获取设备描述符指令;
[0035] 所述第一获取模块,用于从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;
[0036] 所述第四发送模块,用于向所述苹果外设发送获取接口描述符指令;
[0037] 所述第二获取模块,用于从接收到的接口描述符应答中获取苹果外设的接口描述符并保存;
[0038] 所述第五发送模块,用于向所述苹果移动设备发送连接成功响应,触发所述第一接收模块;
[0039] 所述第一解析模块,用于解析接收到的数据传输指令得到待处理数据;
[0040] 所述第一确定模块,用于根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式;
[0041] 所述第一封装模块,用于根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式;
[0042] 所述第六发送模块,用于将所述苹果外设数据发送给所述苹果外设;
[0043] 所述第二解析模块,用于解析接收到的第一响应数据得到处理结果,根据所述处理结果生成第二响应数据;
[0044] 所述第七发送模块,用于将所述第二响应数据发送给所述苹果移动设备,触发所述第一接收模块;
[0045] 所述苹果移动设备包括:第八发送模块、第九发送模块、第十发送模块和第三解析模块;
[0046] 所述第八发送模块,用于向所述苹果转换设备发送认证应答;
[0047] 所述第九发送模块,用于向所述苹果转换设备发送设备识别通知;
[0048] 所述第十发送模块,用于向所述苹果转换设备发送设备识别应答;
[0049] 所述第三解析模块,用于解析接收到的第二响应数据得到处理结果;
[0050] 所述苹果外设包括:第十一发送模块、第十二发送模块、第四解析模块、处理模块、第一生成模块和第十三发送模块;
[0051] 所述第十一发送模块,用于向所述苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0052] 所述第十二发送模块,用于向所述苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;
[0053] 所述第四解析模块,用于解析接收到的苹果外设数据得到待处理数据;
[0054] 所述处理模块,用于对所述待处理数据进行处理得到处理结果;
[0055] 所述第一生成模块,用于根据所述处理结果生成第一响应数据;
[0056] 所述第十三发送模块,用于将第一响应数据发送给所述苹果转换设备。
[0057] 本发明提供了一种基于苹果转换设备的通信方法和系统,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果EA数据格式的苹果外设可以和苹
果移动设备进行通信,提高了用户体验。

附图说明

[0058] 图1为本发明实施例1提供的一种基于苹果转换设备的通信方法的流程图;
[0059] 图2为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;
[0060] 图3为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;
[0061] 图4为本发明实施例2提供的一种基于苹果转换设备的通信方法的流程图;
[0062] 图5为本发明实施例3提供的一种基于苹果转换设备的通信系统的模块框图。

具体实施方式

[0063] 本申请提出一种基于苹果转换设备的通信方法和系统,下面结合附图,对本申请具体实施方式进行详细说明。所述实施例的示例在附图中示出,其中自始至终相同或类似
的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实
施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0064] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该
理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的
意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义
来解释。
[0065] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施方式作进一步地详细描述。
[0066] 实施例1
[0067] 本发明实施例1提供了一种基于苹果转换设备的通信方法,如图1所示,包括如下步骤:
[0068] 步骤100:苹果转换设备上电,初始化;
[0069] 步骤101:苹果转换设备等待接收苹果移动设备发送的指令,当接收到认证指令时,执行步骤102,当接收到设备连接指令时,执行步骤108,当接收到数据传输指令时,执行
步骤115;
[0070] 步骤102:苹果转换设备向苹果移动设备发送认证请求;
[0071] 步骤103:苹果移动设备向苹果转换设备发送认证应答;
[0072] 步骤104:苹果移动设备向苹果转换设备发送设备识别通知;
[0073] 步骤105:苹果转换设备向苹果移动设备发送设备识别请求;
[0074] 步骤106:苹果移动设备向苹果转换设备发送设备识别应答;
[0075] 步骤107:苹果转换设备接收苹果移动设备发送的设备识别应答,返回步骤101;
[0076] 步骤108:苹果转换设备向苹果外设发送获取设备描述符指令;
[0077] 步骤109:苹果外设向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0078] 步骤110:苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存;
[0079] 步骤111:苹果转换设备向苹果外设发送获取接口描述符指令;
[0080] 步骤112:苹果外设向苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;
[0081] 步骤113:苹果转换设备从接收到的接口描述符应答中获取苹果外设的接口描述符并保存;
[0082] 步骤114:苹果转换设备向苹果移动设备发送连接成功响应,返回步骤101;
[0083] 步骤115:苹果转换设备解析接收到的数据传输指令得到待处理数据,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式,按照苹果外设的数据格式
封装待处理数据得到苹果外设数据;
[0084] 步骤116:苹果转换设备将苹果外设数据发送给苹果外设;
[0085] 步骤117:苹果外设解析接收到的苹果外设数据得到待处理数据,对待处理数据进行处理得到处理结果,根据处理结果生成第一响应数据;
[0086] 步骤118:苹果外设将第一响应数据发送给苹果转换设备;
[0087] 步骤119:苹果转换设备解析接收到的第一响应数据得到处理结果,根据处理结果生成第二响应数据;
[0088] 步骤120:苹果转换设备将第二响应数据发送给苹果移动设备,返回步骤101;
[0089] 步骤121:苹果移动设备解析接收到的第二响应数据得到处理结果。
[0090] 可选地,本实施例中,步骤108之前还包括:苹果转换设备判断苹果外设是否已插入苹果转换设备,如果是,执行步骤108,否则,向苹果移动设备发送连接失败响应,返回步
骤101。
[0091] 可选地,本实施例中,步骤111之前还包括:苹果转换设备从苹果外设的设备描述符中获取苹果外设的供应商标识、设备标识和设备版本号,判断供应商标识、设备标识和设
备版本号是否均在预设列表上,如果是,执行步骤111,否则,向苹果移动设备发送连接失败
响应,返回步骤101。
[0092] 可选地,本实施例中,步骤115还包括:苹果转换设备向苹果移动设备返回包含设备繁忙信息的接收响应。
[0093] 可选地,本实施例中,步骤102之前还包括:
[0094] 步骤m1:苹果转换设备向苹果移动设备发送握手请求;
[0095] 步骤m2:苹果移动设备接收苹果转换设备发送的握手请求,向苹果转换设备发送握手应答;
[0096] 步骤m3:苹果转换设备接收苹果移动设备发送的握手应答,向苹果移动设备发送包括自身配置信息的配对请求;
[0097] 步骤m4:苹果移动设备接收苹果转换设备发送的配对请求,对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备发送配对应答。
[0098] 可选地,本实施例中,步骤102至步骤103具体为:
[0099] 步骤a1:苹果转换设备向苹果移动设备发送包含CP芯片证书的第一认证请求;
[0100] 步骤a2:苹果移动设备接收苹果转换设备发送的第一认证请求,保存第一认证请求中的CP芯片证书,生成挑战码,向苹果转换设备发送包含挑战码的第一认证应答;
[0101] 步骤a3:苹果转换设备接收苹果移动设备发送的第一认证应答,将第一认证应答中的挑战码发送给CP芯片进行签名得到签名结果,向苹果移动设备发送包含签名结果的第
二认证请求;
[0102] 步骤a4:苹果移动设备接收苹果转换设备发送的第二认证请求,使用保存的CP芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,向苹果转换设备发送第二
认证应答;
[0103] 步骤a5:苹果转换设备接收苹果移动设备发送的第二认证应答。
[0104] 可选地,本实施例中,步骤105至步骤106具体包括:
[0105] 步骤b1:苹果转换设备向苹果移动设备发送包含自身设备信息的设备识别请求;
[0106] 步骤b2:苹果移动设备接收苹果转换设备发送的设备识别请求;
[0107] 步骤b3:苹果移动设备对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备发送设备识别成功应答。
[0108] 可选地,本实施例中,步骤108和步骤109具体包括:
[0109] 步骤c0:苹果转换设备通过第一预设地址向苹果外设发送获取设备描述符指令;
[0110] 步骤c1:苹果外设通过第一预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0111] 步骤c2:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取最大数据包的长
度,通过第一预设地址以最大数据包的长度向苹果外设发送包含第二预设地址的设置地址
指令;
[0112] 步骤c3:苹果外设接收苹果转换设备发送的设置地址指令,解析设置地址指令得到第二预设地址并保存,通过第二预设地址向苹果转换设备发送设置地址成功响应;
[0113] 步骤c4:苹果转换设备接收苹果外设发送的设置地址成功响应,通过第二预设地址向苹果外设发送获取设备描述符指令;
[0114] 步骤c5:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0115] 步骤c6:苹果转换设备从接收到的设备描述符应答中获取苹果外设的设备描述符并保存。
[0116] 可选地,本实施例中,步骤114之前还包括:
[0117] 步骤e1:苹果转换设备向苹果外设发送包含配置参数的配置连接指令;
[0118] 步骤e2:苹果外设接收苹果转换设备发送的配置连接指令,解析配置连接指令得到配置参数,根据配置参数进行配置连接,向苹果转换设备发送配置连接响应;
[0119] 步骤e3:苹果转换设备接收苹果外设发送的配置连接响应。
[0120] 可选地,本实施例中,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设的数据格式具体为:
[0121] 步骤f1:苹果转换设备从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断设备类、设备子类和设备协议是否与预设的设备类、设备子类和设备协议
匹配,如均匹配,执行步骤f2,否则,结束;
[0122] 步骤f2:苹果转换设备从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据接口类、接口子类和接口协议确定出苹果外设的数据格式。
[0123] 可选地,本实施例中,苹果转换设备解析接收到的数据传输指令得到待处理数据具体为:苹果转换设备从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待
处理数据的长度,将截取后剩余的苹果数据作为待处理数据;
[0124] 按照苹果外设的数据格式封装待处理数据得到苹果外设数据具体为:苹果转换设备获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度
和待处理数据顺次拼接得到苹果外设数据。
[0125] 可选地,本实施例中,根据处理结果生成第一响应数据,具体包括:苹果外设获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处
理结果的长度和处理结果顺次拼接得到第一响应数据。
[0126] 可选地,本实施例中,步骤119具体包括:
[0127] 步骤i1:苹果转换设备接收苹果外设发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第
一响应数据作为处理结果;
[0128] 步骤i2:苹果转换设备获取保存的苹果数据格式指令码,将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据。
[0129] 本发明提供了一种基于苹果转换设备的通信方法,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果EA数据格式的苹果外设可以和苹果移动
设备进行通信,提高了用户体验。
[0130] 实施例2
[0131] 本发明实施例2提供了一种基于苹果转换设备的通信方法,如图2所示,包括如下步骤:
[0132] 步骤200:苹果转换设备上电,初始化;
[0133] 可选地,本实施例中,当苹果转换设备插入到苹果移动设备时,苹果转换设备上电,初始化。
[0134] 步骤201:苹果转换设备等待接收苹果移动设备发送的指令,当接收到认证指令时,执行步骤202,当接收到设备连接指令时,执行步骤301,当接收到数据传输指令时,执行
步骤401;
[0135] 步骤202:苹果转换设备向苹果移动设备发送握手请求;
[0136] 例如,本实施例中,苹果转换设备向苹果移动设备发送的握手请求具体为:FF 55 02 00 EE 10;
[0137] 步骤203:苹果移动设备接收苹果转换设备发送的握手请求,向苹果转换设备发送握手应答;
[0138] 例如,本实施例中,向苹果转换设备发送的握手应答具体为:FF 55 02 00 EE 10;
[0139] 步骤204:苹果转换设备接收苹果移动设备发送的握手应答,向苹果移动设备发送包括自身配置信息的配对请求;
[0140] 可选地,本实施例中,步骤204具体为:苹果转换设备接收苹果移动设备发送的握手应答,判断握手应答与握手请求是否匹配,如果是,获取自身的配置信息,向苹果移动设
备发送包括自身配置信息的配对请求,否则,结束;
[0141] 例如,本实施例中,获取的自身的配置信息具体为:01 05 10 00 04 0B 00 17 03 03 0M 00 01 0B 02 01 M5;
[0142] 配对请求具体为: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;
[0143] 步骤205:苹果移动设备接收苹果转换设备发送的配对请求,对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备发送配对应答;
[0144] 例如,本实施例中,配对应答具体为: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;
[0145] 步骤206:苹果转换设备接收苹果移动设备发送的配对应答,向苹果移动设备发送配对成功响应;
[0146] 步骤207:苹果移动设备接收苹果转换设备发送的配对成功响应,向苹果转换设备发送认证通知;
[0147] 例如,本实施例中,认证通知具体为:FF 5M 00 10 40 0M B0 01 9C 40 40 00 06 MM 00 D0;
[0148] 步骤208:苹果转换设备接收苹果移动设备发送的认证通知,向苹果移动设备发送包含CP芯片证书的第一认证请求;
[0149] 例如,本实施例中,第一认证请求具体为:FF 5M 03 M0 40 B1 7F 01 93 40 40 03 96 MM 01 03 90 00 00;
[0150] 步骤209:苹果移动设备接收苹果转换设备发送的第一认证请求,保存第一认证请求中的CP芯片证书,生成挑战码,向苹果转换设备发送包含挑战码的第一认证应答;
[0151] 例如,本实施例中,挑战码具体为:3082038806092m864886f70d010702m0820379308203750201013100300b06092m864886f70d010701m082035d3082035930820241m00302010
2020f2222mm150807mm06mm8409mm229533300d06092m864886f70d0101050500308183310b3
00906035504061302555331133011060355040m130m4170706c6520496e632e3126302406035
5040b131d4170706c652043657274696669636174696f6e20417574686f72697479313730350
603550403132e4170706c652069506f64204163636573736f726965732043657274696669636
174696f6e20417574686f72697479301e170d3135303830373038303430355m170d323230323
1343232313830385m3070310b300906035504061302555331133011060355040m0c0m4170706
c6520496e632e311f301d060355040b0c164170706c652069506f64204163636573736f72696
573312b302906035504030c224950415f3232323241413135 30383037414130364141383430
39414132323935333330819f300d06092m864886f70d010101050003818d0030818902818100
b5ecbef2259f93cdb01929248e86f18fb51e30d85m81m0d69c42m9mbcebdb1dm8e55cm29fb7d
2823f6mm17db8ce9dc1b7c877b9f38f8739d21f8b9764b5142b558b7md3edm089ce888b5bm74
d5em8041839m4f7d5157ef3m02cc44fm1e725fdf9956336d718bd29d573b471b5c72fdc2d33m
5e035d263b922117d0198fc392010203010001m360305e301d0603551d0e0416041407988956
5416de7fc6 49mc2c15cfc95546e63b74300c0603551d130101ff040230 00301f0603551d23
041830168014ff4b1m439mf51996mb18002b61c9ee409d8ec704300e0603551d0f0101ff0404
030203b8300d06092m864886f70d010105050003820101008378d8317f3067f2ef14c9fme230
e5emb3cm18b3732fb6861m6f447105e0549m8c4fm25ff18567cd7mm50dm2615f2818mf0e03me
cf9d2cde620084mb25c983mmd4d53me2f4b3f5105399m2db6fb9235ec296c93fdfm07ede0c36
3efb5782ce99f2e50204f8b6m273b4885f09c72c5fbdd564m6e57c47d266mme049680677b204
dcec64892dfcb515m9e60d77mf6925e3bee836cdb521eb11b039b2de1f3e246650fe05f95e9d
14dmfd01811db2e17mb54e2c75f4m374m69483m029em720e41b26f0e77m63855dm878864meef
b66dembd9db6e7b277c01e377063b9bfe3e2bdf359cm00f3f473306c5c2bef5c25ee615m44f5
3de473c8cmf933d8cf07me1ce54c3100;
[0152] 第一认证应答具体为:FF5M0009407FB1002E3082038806092m864886f70d010702m0820379308203750201013100300b06092m864886f70d010701m082035d3082035930820241m
003020102020f2222mm150807mm06mm8409mm229533300d06092m864886f70d0101050500308
183310b300906035504061302555331133011060355040m130m4170706c6520496e632e31263
024060355040b131d4170706c652043657274696669636174696f6e20417574686f726974793
13730350603550403132e4170706c652069506f64204163636573736f7269657320436572746
96669636174696f6e20417574686f72697479301e170d3135303830373038303430355m170d3
232303231343232313830385m3070310b300906035504061302555331133011060355040m0c0
m4170706c6520496e632e311f301d060355040b0c164170706c652069506f642041636365737
36f72696573312b302906035504030c224950415f32323232414131353038303741413036414
138343039414132323935333330819f300d06092m864886f70d010101050003818d003081890
2818100b5ecbef2259f93cdb01929248e86f18fb51e30d85m81m0d69c42m9mbcebdb1dm8e55c
m29fb7d2823f6mm17db8ce9dc1b7c877b9f38f8739d21f8b9764b5142b558b7md3edm089ce88
8b5bm74d5em8041839m4f7d5157ef3m02cc44fm1e725fdf9956336d718bd29d573b471b5c72f
dc2d33m5e035d263b922117d0198fc392010203010001m360305e301d0603551d0e041604140
79889565416de7fc649mc2c15cfc95546e63b74300c0603551d130101ff04023000301f06035
51d23041830168014ff4b1m439mf51996mb18002b61c9ee409d8ec704300e0603551d0f0101f
f0404030203b8300d06092m864886f70d010105050003820101008378d8317f3067f2ef14c9f
me230e5emb3cm18b3732fb6861m6f447105e0549m8c4fm25ff18567cd7mm50dm2615f2818mf0
e03mecf9d2cde620084mb25c983mmd4d53me2f4b3f5105399m2db6fb9235ec296c93fdfm07ed
e0c363efb5782ce99f2e50204f8b6m273b4885f09c72c5fbdd564m6e57c47d266mme04968067
7b204dcec64892dfcb515m9e60d77mf6925e3bee836cdb521eb11b039b2de1f3e246650fe05f
95e9d14dmfd01811db2e17mb54e2c75f4m374m69483m029em720e41b26f0e77m63855dm87886
4meefb66dembd9db6e7b277c01e377063b9bfe3e2bdf359cm00f3f473306c5c2bef5c25ee615
m44f53de473c8cmf933d8cf07me1ce54c3100;
[0153] 步骤210:苹果转换设备接收苹果移动设备发送的第一认证应答,将第一认证应答中的挑战码发送给苹果移动设备的认证芯片(简称CP芯片)进行签名得到签名结果,向苹果
移动设备发送包含签名结果的第二认证请求;
[0154] 例如,本实施例中,签名结果具体为:ff5m00284080b1010d4040001emm02001800008c5972d110793667e6 0700567357109bb1b8d7mmme;
[0155] 第二认证请求具体为:ff5m009440b28001m04040008mmm030084000091e6ce81m5d9e44dfb3f53m7e67d24155dc8e44979c5667134d702cd83e8e87e2d44fm9bc35129508659eb2
473dfe6438e9b2mdb3bcf729775f8045211c8545bdc62b969e3148398d3mcm0fbd04mm603515
4f78m18087814e7d8fme69cc8m9em3990eed0696105165cf126de9d84c54mm5649m89cem5098
0b53e62m3d6e3ebdf9fc8545bdc62b969e3148398d3mcm0fbd04mm6035154f78m18087814e7d
8fme69cc8m9em3990eed0696105165cf126de9d84c54mm5649m89cem50980b53e62m3d6e3ebd
f9f;
[0156] 步骤211:苹果移动设备接收苹果转换设备发送的第二认证请求,使用保存的CP芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,向苹果转换设备发送第二
认证应答;
[0157] 例如,本实施例中,第二认证应答具体为:FF 5M 00 09 40 80 B2 00 2C;
[0158] 步骤212:苹果转换设备接收苹果移动设备发送的第二认证应答;
[0159] 步骤213:苹果移动设备向苹果转换设备发送设备识别通知;
[0160] 例如,本实施例中,设备识别通知具体为:FF 5M 00 10 40 81 B2 01 23 40 40 00 06 MM 05 CB;
[0161] 步骤214:苹果转换设备接收苹果移动设备发送的设备识别通知,向苹果移动设备发送包含设备信息的设备识别请求;
[0162] 例如,本实施例中,设备识别请求具体为:ff5m00f540b382013c404000eb1d01000m0000695233303100000m0001695233303100002300024665697469616e20546563686e6f6c6
f6769657320436f2e2c204c74642e00001500034335353338314330313530303030353600000
m000420342e333200000m000520312e303000000m0006me00me02me03000m0007em00em01me0
100050008020006000900640023000m000500000000150001636f6d2e6674736166652e69523
33031000005000201000f000b53343754345545535033000007000c656e000007000d656e000
0260010000600000000001800014c696768746e696e6720436f6e6e6563746f720000040002
m5;
[0163] 步骤215:苹果移动设备接收苹果转换设备发送的设备识别请求,对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备发送设备识别成功应答;
[0164] 例如,本实施例中,设备识别应答具体为: FF 5M 00 10 40 0E B3 01 95 40 40 00 06 1D 02 5B;
[0165] 步骤216:苹果转换设备接收苹果移动设备发送的设备识别成功应答,返回步骤201。
[0166] 可选地,如图3所示,当接收到设备连接指令时,执行步骤301至步骤311:
[0167] 步骤301:苹果转换设备通过第一预设地址向苹果外设发送获取设备描述符指令;
[0168] 可选地,本实施例中,苹果转换设备给苹果外设供电,当苹果外设插入到苹果转换设备时,苹果外设上电。
[0169] 可选地,本实施例中,第一预设地址具体为苹果外设插入苹果转换设备时,苹果转换设备与苹果外设进行临时通信的默认地址;
[0170] 例如,本实施例中,第一预设地址为00;
[0171] 例如,本实施例中,获取设备描述符指令具体为:80 06 00 01 00 00 12 00;
[0172] 可选地,本实施例中,步骤301之前还包括:苹果转换设备判断苹果外设是否已插入苹果转换设备,如果是,执行步骤301,否则,向苹果移动设备发送设备连接失败响应。
[0173] 步骤302:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第一预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0174] 例如,本实施例中,苹果外设的设备描述符具体为:12 01 10 01 00 00 00 08 6e 09 2d 06 49 05 01 02 03 01;
[0175] 步骤303:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取最大数据包的长
度,通过第一预设地址以最大数据包的长度向苹果外设发送包含第二预设地址的设置地址
指令;
[0176] 步骤304:苹果外设接收苹果转换设备发送的设置地址指令,解析设置地址指令得到第二预设地址并保存,通过第二预设地址向苹果转换设备发送设置地址成功响应;
[0177] 步骤305:苹果转换设备接收苹果外设发送的设置地址成功响应,通过第二预设地址向苹果外设发送获取设备描述符指令;
[0178] 步骤306:苹果外设接收苹果转换设备发送的获取设备描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的设备描述符的获取设备描述符应答;
[0179] 步骤307:苹果转换设备接收苹果外设发送的获取设备描述符应答,解析获取设备描述符应答得到苹果外设的设备描述符,从苹果外设的设备描述符中获取苹果外设的供应
商标识、设备标识和设备版本号,判断苹果外设的供应商标识、设备标识和设备版本号是否
在预设列表上,如果是,通过第二预设地址向苹果外设发送获取接口描述符指令,执行步骤
309,否则,向苹果移动设备发送连接失败响应,执行步骤308;
[0180] 步骤308:苹果移动设备接收苹果转换设备发送的连接失败响应,返回步骤201;
[0181] 步骤309:苹果外设接收苹果转换设备发送的获取接口描述符指令,通过第二预设地址向苹果转换设备发送包含苹果外设的接口描述符的获取接口描述符应答;
[0182] 步骤310:苹果转换设备接收苹果外设发送的获取接口描述符应答,解析获取接口描述符应答得到苹果外设的接口描述符并保存,通过第二预设地址向苹果外设发送包含配
置参数的配置连接指令;
[0183] 步骤311:苹果外设接收苹果转换设备发送的配置连接指令,解析配置连接指令得到配置参数,根据配置参数进行配置连接,通过第二预设地址向苹果转换设备发送配置连
接响应;
[0184] 步骤312:苹果转换设备接收苹果外设发送的配置连接响应,向苹果移动设备发送连接成功响应,返回步骤201;
[0185] 步骤313:苹果移动设备接收苹果转换设备发送的连接成功响应。
[0186] 可选地,如图4所示,当接收到数据传输指令时,执行步骤401至步骤405:
[0187] 步骤401:苹果转换设备接收苹果移动设备发送的数据传输指令,根据保存的苹果外设的设备描述符和接口描述符确定苹果外设支持的数据格式;
[0188] 可选地,本实施例中,设备描述符包括:设备类、设备子类和设备协议,接口描述符包括:接口类、接口子类和接口协议;根据保存的苹果外设的设备描述符和接口描述符确定
苹果外设的数据格式具体为:
[0189] 步骤B1:苹果转换设备从保存的苹果外设的设备描述符中获取设备类、设备子类和设备协议,判断获取到的设备类、设备子类和设备协议是否与预设的设备类、设备子类和
设备协议匹配,如均匹配,执行步骤B2,否则,结束;
[0190] 步骤B2:苹果转换设备从保存的苹果外设的接口描述符中获取接口类、接口子类和接口协议,根据获取到的接口类、接口子类和接口协议确定出苹果外设的数据格式。
[0191] 当苹果外设具体为:HID鼠标、HID键盘、CCID读卡器或认证设备。
[0192] 可选地,本实施例中,认证设备具体为KEY;
[0193] 可选地,本实施例中,步骤401之前还包括:苹果移动设备按照苹果移动设备的数据格式封装待处理数据得到苹果数据,将苹果数据发送给苹果转换设备;
[0194] 可选地,本实施例中,苹果移动设备的数据格式具体为:EA数据格式;
[0195] 可选地,本实施例中,苹果移动设备按照苹果移动设备的数据格式组织待处理数据得到苹果数据具体为:苹果移动设备获取预设的苹果数据格式指令码,计算待处理数据
的长度,将苹果数据格式指令码、计算得到的待处理数据的长度和待处理数据顺次拼接得
到苹果数据。
[0196] 可选地,本实施例中,步骤401还包括:苹果转换设备向苹果移动设备返回包含设备繁忙信息的接收响应。
[0197] 步骤402:苹果转换设备按照苹果移动设备的数据格式解析数据传输指令得到待处理数据,按照苹果外设的数据格式封装待处理数据得到苹果外设数据,将苹果外设数据
发送给苹果外设;
[0198] 可选地,本实施例中,步骤402之前还包括:苹果转换设备判断所述苹果外设是否处于忙碌状态,如果是,向苹果移动设备返回包含设备忙碌标志的接收应答,否则,执行步
骤402。
[0199] 可选地,本实施例中,步骤402之前还包括:
[0200] 步骤z1:苹果转换设备判断苹果外设是否处于忙碌状态,如果是,向苹果移动设备返回包含等待标志的接收应答,执行步骤z2,否则,执行步骤122;
[0201] 步骤z2:苹果转换设备缓存苹果外设数据;
[0202] 步骤z3:苹果转换设备监测所述苹果外设的工作状态,当监测到苹果外设空闲时,将缓存的苹果外设数据发送给苹果外设,执行步骤122。
[0203] 可选地,本实施例中,步骤402具体为:
[0204] 步骤C1:苹果转换设备从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待处理数据的长度,将截取后剩余的苹果数据作为待处理数据;
[0205] 步骤C2:苹果转换设备获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度和待处理数据顺次拼接得到苹果外设数据。
[0206] 步骤403:苹果外设接收苹果转换设备发送的苹果外设数据,按照苹果外设的数据格式解析苹果外设数据得到待处理数据,对待处理数据进行处理得到处理结果,按照苹果
外设的数据格式封装处理结果得到第一响应数据,将第一响应数据发送给苹果转换设备;
[0207] 可选地,本实施例中,步骤403具体为:
[0208] 步骤D1:苹果外设接收苹果转换设备发送的苹果外设数据,从苹果外设数据中截取预设字节上的数据得到苹果外设数据格式指令码和待处理数据的长度,将截取后剩余的
苹果外设数据作为待处理数据;
[0209] 步骤D2:苹果外设对待处理数据执行预设处理操作得到处理结果;
[0210] 步骤D3:苹果外设获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处理结果的长度和处理结果顺次拼接得到第一响应数据,将
第一响应数据发送给苹果转换设备。
[0211] 步骤404:苹果转换设备接收苹果外设发送的第一响应数据,按照苹果外设的数据格式解析第一响应数据得到处理结果,按照苹果移动设备的数据格式封装处理结果得到第
二响应数据,将第二响应数据发送给苹果移动设备,返回步骤201;
[0212] 可选地,本实施例中,步骤404具体为:
[0213] 步骤E1:苹果转换设备接收苹果外设发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结果的长度,将截取后剩余的第
一响应数据作为处理结果;
[0214] 步骤E2:苹果转换设备获取保存的苹果数据格式指令码,将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据,将第二响应数据发送给苹果移动
设备。
[0215] 步骤405:苹果移动设备接收苹果转换设备发送的第二响应数据,按照苹果移动设备的数据格式解析第二响应数据得到处理结果。
[0216] 可选地,本实施例中,按照苹果移动设备的数据格式解析第二响应数据得到处理结果具体为:苹果移动设备从第二响应数据中截取预设字节上的数据得到苹果数据格式指
令码和处理结果的长度,将截取后剩余的数据作为处理结果。
[0217] 本发明提供了一种基于苹果转换设备的通信方法,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果EA数据格式的苹果外设可以和苹果移动
设备进行通信,提高了用户体验。
[0218] 实施例3
[0219] 本发明实施例3提供了一种基于苹果转换设备的通信系统,如图5示,该系统包括:苹果转换设备60、苹果移动设备50和苹果外设70;
[0220] 苹果转换设备60包括:初始化模块601、第一接收模块602、第一发送模块603、第二发送模块604、第二接收模块605、第三发送模块606、第一获取模块607、第四发送模块608、
第二获取模块609、第五发送模块610、第一解析模块611、第一确定模块612、第一封装模块
613、第六发送模块614、第二解析模块615和第七发送模块616;
[0221] 初始化模块601,用于上电,初始化;
[0222] 第一接收模块602,用于等待接收苹果移动设备50发送的指令,当接收到认证指令时,触发第一发送模块603,当接收到设备连接指令时,触发第三发送模块606,当接收到数
据传输指令时,触发第一解析模块611;
[0223] 第一发送模块603,用于向苹果移动设备50发送认证请求;
[0224] 第二发送模块604,用于向苹果移动设备50发送设备识别请求;
[0225] 第二接收模块605,用于接收苹果移动设备50发送的设备识别应答,触发第一接收模块602;
[0226] 第三发送模块606,用于向苹果外设70发送获取设备描述符指令;
[0227] 第一获取模块607,用于从接收到的设备描述符应答中获取苹果外设70的设备描述符并保存;
[0228] 第四发送模块608,用于向苹果外设70发送获取接口描述符指令;
[0229] 第二获取模块609,用于从接收到的接口描述符应答中获取苹果外设70的接口描述符并保存;
[0230] 第五发送模块610,用于向苹果移动设备50发送连接成功响应,触发第一接收模块602;
[0231] 第一解析模块611,用于解析接收到的数据传输指令得到待处理数据;
[0232] 第一确定模块612,用于根据保存的苹果外设70的设备描述符和接口描述符确定苹果外设70的数据格式;
[0233] 第一封装模块613,用于根据保存的苹果外设70的设备描述符和接口描述符确定苹果外设70的数据格式;
[0234] 第六发送模块614,用于将苹果外设数据发送给苹果外设70;
[0235] 第二解析模块615,用于解析接收到的第一响应数据得到处理结果,根据处理结果生成第二响应数据;
[0236] 第七发送模块616,用于将第二响应数据发送给苹果移动设备50,触发第一接收模块602;
[0237] 苹果移动设备50包括:第八发送模块501、第九发送模块502、第十发送模块503和第三解析模块504;
[0238] 第八发送模块501,用于向苹果转换设备60发送认证应答;
[0239] 第九发送模块502,用于向苹果转换设备60发送设备识别通知;
[0240] 第十发送模块503,用于向苹果转换设备60发送设备识别应答;
[0241] 第三解析模块504,用于解析接收到的第二响应数据得到处理结果;
[0242] 苹果外设70包括:第十一发送模块701、第十二发送模块702、第四解析模块703、处理模块704、第一生成模块705和第十三发送模块706;
[0243] 第十一发送模块701,用于向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答;
[0244] 第十二发送模块702,用于向苹果转换设备60发送包含苹果外设70的接口描述符的获取接口描述符应答;
[0245] 第四解析模块703,用于解析接收到的苹果外设数据得到待处理数据;
[0246] 处理模块704,用于对待处理数据进行处理得到处理结果;
[0247] 第一生成模块705,用于根据处理结果生成第一响应数据;
[0248] 第十三发送模块706,用于将第一响应数据发送给苹果转换设备60。
[0249] 可选地,本实施例中,苹果转换设备60还包括:第一判断模块;
[0250] 第一判断模块,用于判断苹果外设70是否已插入苹果转换设备60,如果是,触发第三发送模块606,否则,触发第五发送模块610;
[0251] 第五发送模块610,还用于向苹果移动设备50发送连接失败响应,触发第一接收模块602。
[0252] 可选地,本实施例中,苹果转换设备60还包括:第二判断模块;
[0253] 第二判断模块,用于从苹果外设70的设备描述符中获取苹果外设70的供应商标识、设备标识和设备版本号,判断供应商标识、设备标识和设备版本号是否均在预设列表
上,如果是,触发第四发送模块608,否则,触发第五发送模块610;
[0254] 第五发送模块610,还用于向苹果移动设备50发送连接失败响应,触发第一接收模块602。
[0255] 可选地,本实施例中,第六发送模块614,还用于向苹果移动设备50返回包含设备繁忙信息的接收响应。
[0256] 可选地,本实施例中,苹果转换设备60还包括:第十四发送模块和第二接收发送模块;
[0257] 第十四发送模块,用于向苹果移动设备50发送握手请求;
[0258] 第二接收发送模块,用于接收苹果移动设备50发送的握手应答,向苹果移动设备50发送包括自身配置信息的配对请求;
[0259] 苹果移动设备50还包括:第一接收发送模块、第三接收模块和第一验证模块;
[0260] 第一接收发送模块,用于接收苹果转换设备60发送的握手请求,向苹果转换设备60发送握手应答;
[0261] 第三接收模块,用于接收苹果转换设备60发送的配对请求;
[0262] 第一验证模块,用于对配对请求中的配置信息进行验证,当验证通过时,向苹果转换设备60发送配对应答。
[0263] 可选地,本实施例中,第一发送模块603具体包括:第一发送单元、第一接收单元、第二发送单元和第二接收单元;
[0264] 第一发送单元,用于向苹果移动设备50发送包含CP芯片证书的第一认证请求;
[0265] 第一接收单元,用于接收苹果移动设备50发送的第一认证应答;
[0266] 第二发送单元,用于将第一认证应答中的挑战码发送给CP芯片进行签名得到签名结果,向苹果移动设备50发送包含签名结果的第二认证请求;
[0267] 第二接收单元,用于接收苹果移动设备50发送的第二认证应答;
[0268] 第八发送模块501具体包括:第三接收单元、保存生成单元、第三发送单元、第四接收单元、验签单元和第四发送单元;
[0269] 第三接收单元,用于接收苹果转换设备60发送的第一认证请求;
[0270] 保存生成单元,用于保存第一认证请求中的CP芯片证书,生成挑战码;
[0271] 第三发送单元,用于向苹果转换设备60发送包含挑战码的第一认证应答;
[0272] 第四接收单元,用于接收苹果转换设备60发送的第二认证请求;
[0273] 验签单元,用于使用保存的CP芯片证书对第二认证请求中的签名结果进行验签,当验签通过时,触发第四发送单元;
[0274] 第四发送单元,用于向苹果转换设备60发送第二认证应答。
[0275] 可选地,本实施例中,第二发送模块604,具体用于向苹果移动设备50发送包含自身设备信息的设备识别请求;
[0276] 第十发送模块503,具体用于接收苹果转换设备60发送的设备识别请求;对设备识别请求中的设备信息进行验证,当验证通过时,向苹果转换设备60发送设备识别成功应答。
[0277] 可选地,本实施例中,第四发送模块608具体包括:第五发送单元、第五接收单元、第一解析单元、第六发送单元、第六接收单元、第七发送单元和第一获取单元;
[0278] 第五发送单元,用于通过第一预设地址向苹果外设70发送获取设备描述符指令;
[0279] 第五接收单元,用于接收苹果外设70发送的获取设备描述符应答;
[0280] 第一解析单元,解析获取设备描述符应答得到苹果外设70的设备描述符,从苹果外设70的设备描述符中获取最大数据包的长度;
[0281] 第六发送单元,用于通过第一预设地址以最大数据包的长度向苹果外设70发送包含第二预设地址的设置地址指令;
[0282] 第六接收单元,用于接收苹果外设70发送的设置地址成功响应;
[0283] 第七发送单元,用于通过第二预设地址向苹果外设70发送获取设备描述符指令;
[0284] 第一获取单元,用于从接收到的设备描述符应答中获取苹果外设70的设备描述符并保存;
[0285] 第十一发送模块701具体包括:第八发送单元、第七接收单元、第九发送单元、第八接收单元和第十发送单元;
[0286] 第八发送单元,用于通过第一预设地址向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答;
[0287] 第七接收单元,用于接收苹果转换设备60发送的设置地址指令,解析设置地址指令得到第二预设地址并保存;
[0288] 第九发送单元,用于通过第二预设地址向苹果转换设备60发送设置地址成功响应;
[0289] 第八接收单元,用于接收苹果转换设备60发送的获取设备描述符指令;
[0290] 第十发送单元,用于通过第二预设地址向苹果转换设备60发送包含苹果外设70的设备描述符的获取设备描述符应答。
[0291] 可选地,本实施例中,苹果转换设备60还包括:第十五发送模块和第四接收模块;
[0292] 第十五发送模块,用于向苹果外设70发送包含配置参数的配置连接指令;
[0293] 第四接收模块,用于接收苹果外设70发送的配置连接响应;
[0294] 苹果外设70还包括:第五接收模块、解析配置模块和第十六发送模块;
[0295] 第五接收模块,用于接收苹果转换设备60发送的配置连接指令;
[0296] 解析配置模块,用于解析配置连接指令得到配置参数,根据配置参数进行配置连接;
[0297] 第十六发送模块,用于向苹果转换设备60发送配置连接响应。
[0298] 可选地,本实施例中,第一确定模块612具体包括:第一匹配单元和第一确定单元;
[0299] 第一匹配单元,用于从保存的苹果外设70的设备描述符中获取设备类、设备子类和设备协议,判断设备类、设备子类和设备协议是否与预设的设备类、设备子类和设备协议
匹配,如均匹配,触发第一确定单元,否则,结束;
[0300] 第一确定单元,用于从保存的苹果外设70的接口描述符中获取接口类、接口子类和接口协议,根据接口类、接口子类和接口协议确定出苹果外设70的数据格式。
[0301] 可选地,本实施例中,第一解析模块611,具体用于从苹果数据中截取预设字节上的数据得到苹果数据格式指令码和待处理数据的长度,将截取后剩余的苹果数据作为待处
理数据;
[0302] 第一封装模块613,具体用于获取保存的苹果外设数据格式指令码,将苹果外设数据格式指令码、待处理数据的长度和待处理数据顺次拼接得到苹果外设数据。
[0303] 可选地,本实施例中,第一生成模块705,具体用于获取保存的苹果外设数据格式指令码,计算出处理结果的长度,将苹果外设数据格式指令码、处理结果的长度和处理结果
顺次拼接得到第一响应数据。
[0304] 可选地,本实施例中,第二解析模块615具体用于,接收苹果外设70发送的第一响应数据,从第一响应数据中截取预设字节上的数据得到苹果外设数据格式指令码和处理结
果的长度,将截取后剩余的第一响应数据作为处理结果;获取保存的苹果数据格式指令码,
将苹果数据格式指令码、处理结果的长度和处理结果顺次拼接得到第二响应数据。
[0305] 本发明提供了一种基于苹果转换设备的通信系统,通过苹果转换设备对苹果数据或苹果外设数据进行协议转换,从而使不支持苹果EA数据格式的苹果外设可以和苹果移动
设备进行通信,提高了用户体验。
[0306] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都
应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。