本发明涉及蓝牙通信领域,具体而言,涉及一种基于硬件的蓝牙数据智能传输方法及装置。
背景技术:
1、相关技术中,市场上早期的智能产品(例如按摩器)通常蓝牙版本低与近期的智能产品(蓝牙版本高)配对时,为了尽可能多的让产品配对,通常才有蓝牙版本的向下兼容,因此市场关于蓝牙设备应用开发为兼容较低蓝牙硬件版本设备,未知设备之间默认选择最低版本的蓝牙通信协议传输数据字节,以保证数据能够完整被应用和设备接收。但如此做法并没有保证较高蓝牙硬件版本通信的最优工作效率。蓝牙传输的带宽较低,蓝牙传输的速度慢,效率低,设备续航受影响。
2、针对相关技术中存在的上述问题,暂未发现高效且准确的解决方案。
技术实现思路
1、本发明提供了一种基于硬件的蓝牙数据智能传输方法及装置,以解决相关技术中存在的上述技术问题。
2、根据本发明的一个实施例,提供了一种基于硬件的蓝牙数据智能传输方法,包括:搜索待蓝牙连接的设备列表;在所述设备列表中选择目标设备,并建立与所述目标设备之间的蓝牙连接;获取本地设备的第一蓝牙硬件信息,以及获取所述目标设备的第二蓝牙硬件信息;根据所述第一蓝牙硬件信息和所述第二蓝牙硬件信息在所述本地设备和所述目标设备之间进行蓝牙数据传输。
3、可选地,获取本地设备的第一蓝牙硬件信息包括:读取所述本地设备的硬件属性信息;在所述硬件属性信息中查找所述本地设备的第一蓝牙硬件信息,其中,所述第一蓝牙硬件信息用于表征所述本地设备的蓝牙模块支持的蓝牙通信协议。
4、可选地,获取所述目标设备的第二蓝牙硬件信息包括:读取所述目标设备的蓝牙标识,其中,所述蓝牙标识用于表征所述目标设备的设备标识;在预设映射表中查找与所述设备标识匹配的第二蓝牙硬件信息,其中,所述第二蓝牙硬件信息用于表征所述目标设备的蓝牙模块支持的蓝牙通信协议。
5、可选地,根据所述第一蓝牙硬件信息和所述第二蓝牙硬件信息在所述本地设备和所述目标设备之间进行蓝牙数据传输包括:基于所述第一蓝牙硬件信息解析所述本地设备支持的第一数据传输上限,以及基于所述第二蓝牙硬件信息解析所述目标设备支持的第二数据传输上限,其中,所述第一数据传输上限用于指示所述本地设备的蓝牙模块支持的最大单包容量,所述第二数据传输上限用于指示所述目标设备的蓝牙模块支持的最大单包容量;基于所述第一数据传输上限和所述第二数据传输上限选择所述本地设备与所述目标设备之间的协议传输长度;基于所述协议传输长度在所述本地设备和所述目标设备之间进行蓝牙数据传输。
6、可选地,基于所述第一数据传输上限和所述第二数据传输上限选择所述本地设备与所述目标设备之间的协议传输长度包括:比较所述第一数据传输上限和所述第二数据传输上限;若所述第一数据传输上限大于所述第二数据传输上限,将所述第二数据传输上限确定为本地设备与目标设备之间的协议传输长度,若所述第一数据传输上限小于或等于所述第二数据传输上限,将所述第一数据传输上限确定为本地设备与目标设备之间的协议传输长度。
7、可选地,基于所述协议传输长度在所述本地设备和所述目标设备之间进行蓝牙数据传输包括:判断所述本地设备待传输的目标数据的数据包长度是否大于所述协议传输长度;若所述目标数据的数据包长度大于所述协议传输长度,以所述协议传输长度为单位长度对所述目标数据进行分包处理,得到多个数据分包;将所述多个数据分包从所述本地设备依次蓝牙传输至所述目标设备,以使所述目标设备基于所有数据分包解析得到所述本地设备传输的目标数据。
8、可选地,以所述协议传输长度为单位长度对所述目标数据进行分包处理,得到多个数据分包包括:以所述协议传输长度为单位长度拆分所述目标数据,得到多个数据段;统计所述目标数据的分段总数,并配置每个数据段的分包序号;针对每个数据段,采用所述本地设备的设备标识、所述协议传输长度对应的通信协议标识、所述分段总数、当前数据段对应的分包序号生成包头字段,采用对应的数据段生成载荷字段,基于所述数据段的数据内容生成校验字段;采用所述包头字段、所述载荷字段、以及所述校验字段生成对应数据段的数据分包。
9、根据本发明的另一个实施例,提供了一种基于硬件的蓝牙数据智能传输装置,包括:搜索模块,用于搜索待蓝牙连接的设备列表;连接模块,用于在所述设备列表中选择目标设备,并建立与所述目标设备之间的蓝牙连接;获取模块,用于获取本地设备的第一蓝牙硬件信息,以及获取所述目标设备的第二蓝牙硬件信息;传输模块,用于根据所述第一蓝牙硬件信息和所述第二蓝牙硬件信息在所述本地设备和所述目标设备之间进行蓝牙数据传输。
10、可选地,所述获取模块包括:第一读取单元,用于读取所述本地设备的硬件属性信息;第一查找单元,用于在所述硬件属性信息中查找所述本地设备的第一蓝牙硬件信息,其中,所述第一蓝牙硬件信息用于表征所述本地设备的蓝牙模块支持的蓝牙通信协议。
11、可选地,所述获取模块包括:第二读取单元,用于读取所述目标设备的蓝牙标识,其中,所述蓝牙标识用于表征所述目标设备的设备标识;第二查找单元,用于在预设映射表中查找与所述设备标识匹配的第二蓝牙硬件信息,其中,所述第二蓝牙硬件信息用于表征所述目标设备的蓝牙模块支持的蓝牙通信协议。
12、可选地,所述传输模块包括:解析单元,用于基于所述第一蓝牙硬件信息解析所述本地设备支持的第一数据传输上限,以及基于所述第二蓝牙硬件信息解析所述目标设备支持的第二数据传输上限,其中,所述第一数据传输上限用于指示所述本地设备的蓝牙模块支持的最大单包容量,所述第二数据传输上限用于指示所述目标设备的蓝牙模块支持的最大单包容量;选择单元,用于基于所述第一数据传输上限和所述第二数据传输上限选择所述本地设备与所述目标设备之间的协议传输长度;传输单元,用于基于所述协议传输长度在所述本地设备和所述目标设备之间进行蓝牙数据传输。
13、可选地,所述选择单元包括:比较子单元,用于比较所述第一数据传输上限和所述第二数据传输上限;确定子单元,用于若所述第一数据传输上限大于所述第二数据传输上限,将所述第二数据传输上限确定为本地设备与目标设备之间的协议传输长度,若所述第一数据传输上限小于或等于所述第二数据传输上限,将所述第一数据传输上限确定为本地设备与目标设备之间的协议传输长度。
14、可选地,所述传输模块包括:判断单元,用于判断所述本地设备待传输的目标数据的数据包长度是否大于所述协议传输长度;分包单元,用于若所述目标数据的数据包长度大于所述协议传输长度,以所述协议传输长度为单位长度对所述目标数据进行分包处理,得到多个数据分包;传输单元,用于将所述多个数据分包从所述本地设备依次蓝牙传输至所述目标设备,以使所述目标设备基于所有数据分包解析得到所述本地设备传输的目标数据。
15、可选地,所述分包单元包括:拆分子单元,用于以所述协议传输长度为单位长度拆分所述目标数据,得到多个数据段;拆分子单元,用于统计所述目标数据的分段总数,并配置每个数据段的分包序号;处理每个数据段,采用所述本地设备的设备标识、所述协议传输长度对应的通信协议标识、所述分段总数、当前数据段对应的分包序号生成包头字段,采用对应的数据段生成载荷字段,基于所述数据段的数据内容生成校验字段;生成子单元,用于采用所述包头字段、所述载荷字段、以及所述校验字段生成对应数据段的数据分包。
16、根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
17、根据本发明的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项装置实施例中的步骤。
18、通过本发明实施例,搜索待蓝牙连接的设备列表,在设备列表中选择目标设备,并建立与目标设备之间的蓝牙连接,获取本地设备的第一蓝牙硬件信息,以及获取目标设备的第二蓝牙硬件信息,根据第一蓝牙硬件信息和第二蓝牙硬件信息在本地设备和目标设备之间进行蓝牙数据传输,通过获取两端设备的蓝牙硬件信息,并基于两端设备的蓝牙硬件信息进行蓝牙数据传输,可以基于不同蓝牙硬件性能,动态配置蓝牙数据传输的最大单包数量,提升了蓝牙数据的通信速度,解决了相关技术采用低版本的蓝牙协议传输数据时速度慢的技术问题,提高了蓝牙数据的传输效率,提高了设备性能。