移动端蓝牙协议SDK和移动终端的制作方法

文档序号:36069319发布日期:2023-11-17 22:57阅读:28来源:国知局
移动端蓝牙协议SDK和移动终端的制作方法

本发明涉及蓝牙通信的,尤其是涉及一种移动端蓝牙协议sdk和移动终端。


背景技术:

1、现有技术中,在android和ios两平台上,基于相同的业务需求使用原生开发方式,需要分别在android和ios两平台进行开发,这样也会导致两端代码的实现方式存在部分差异,维护两套代码,测试也需要对两套sdk(software development kit,软件开发工具包)版本分别测试。并且,每当业务调整或新增时,安卓团队和ios团队分别派人力进行修改或新功能开发,然后提供给测试团队进行android和ios两平台的测试工作。

2、随着业务复杂度的持续提升,在android和ios两平台的维护及开发移动端蓝牙协议sdk的工作量也日趋增长,需投入大量的人力物力,同时也使得sdk的维护成本变高。


技术实现思路

1、本发明的目的在于提供一种移动端蓝牙协议sdk和移动终端,以解决不同原生平台定制移动端蓝牙协议sdk的人力投入大,维护成本高的技术问题。

2、第一方面,本发明提供一种移动端蓝牙协议sdk,包括:dart语言协议模块、通信模块、dart语言蓝牙接口封装模块、原生平台蓝牙接口模块和c语言协议处理模块;所述dart语言协议模块通过所述通信模块分别与所述dart语言蓝牙接口封装模块和所述c语言协议处理模块通信连接;所述dart语言蓝牙接口封装模块通过所述通信模块与所述原生平台蓝牙接口模块通信连接;所述dart语言协议模块用于接收蓝牙业务请求,基于所述蓝牙业务请求确定目标协议数据,并通过所述通信模块将所述目标协议数据发送至所述c语言协议处理模块;所述c语言协议处理模块用于对所述目标协议数据进行解析,并将协议解析结果通过所述通信模块返回至所述dart语言协议模块;所述dart语言协议模块用于基于所述协议解析结果确定蓝牙接口调用指令,并通过所述通信模块将所述蓝牙接口调用指令发送至所述dart语言蓝牙接口封装模块;所述dart语言蓝牙接口封装模块用于根据所述蓝牙接口调用指令通过所述通信模块调用所述原生平台蓝牙接口模块中的目标原生蓝牙接口,以通过所述目标原生蓝牙接口响应所述蓝牙业务请求。

3、在可选的实施方式中,所述dart语言协议模块包括:逻辑层和基础层;所述逻辑层用于处理业务逻辑;所述基础层用于建立和维护所述dart语言协议模块的通信通道。

4、在可选的实施方式中,所述逻辑层包括:指令管理单元、文件管理单元、传输管理单元、数据交换单元、数据同步单元、消息图标管理单元、运动计划管理单元、通信录管理单元、数据存储单元、日志管理单元和异常处理单元。

5、在可选的实施方式中,所述基础层包括:指令集封装单元、队列管理单元、文件传输单元和长数据传输单元。

6、在可选的实施方式中,所述基础层还包括:用于与外部c语言协议处理模块交互的第一接口单元,用于与外部dart语言蓝牙接口封装模块交互的接口单元。

7、在可选的实施方式中,所述通信模块包括:platform channel和dart ffi;所述platform channel用于支持所述dart语言蓝牙接口封装模块与所述原生平台蓝牙接口模块进行交互;所述dart ffi用于支持所述dart语言协议模块与所述c语言协议处理模块进行交互。

8、在可选的实施方式中,所述队列管理单元具体用于:接收目标任务,并将所述目标任务添加到任务队列;判断所述任务队列是否处于活动状态;若是,则判断所述任务队列中是否存在执行中的任务;若不存在,则顺序执行所述任务队列中的所有待执行任务。

9、在可选的实施方式中,所述队列管理单元还用于:在所述任务队列处于非活动状态,或者,所述任务队列中存在执行中的任务的情况下,结束当前业务流程。

10、在可选的实施方式中,所述队列管理单元还用于:在将所述目标任务添加到任务队列之前,获取所述目标任务的任务优先级;基于预设排序规则和所述目标任务的任务优先级确定所述目标任务在所述任务队列中的位置。

11、第二方面,本发明提供一种移动终端,所述移动终端中部署前述实施方式中任一项所述的移动端蓝牙协议sdk。

12、本发明提供的移动端蓝牙协议sdk,该sdk的代码统一使用dart语言编写,dart语言蓝牙接口封装模块可直接在dart代码中自由调用,在接收到蓝牙接口调用指令之后,再通过通信模块对原生平台蓝牙接口模块中的目标原生蓝牙接口进行调用即可。本发明提供的移动端蓝牙协议sdk只需维护一套dart代码便能解决不同平台的需求,解决了不同原生平台定制移动端蓝牙协议sdk的人力投入大,维护成本高的技术问题。



技术特征:

1.一种移动端蓝牙协议sdk,其特征在于,包括:dart语言协议模块、通信模块、dart语言蓝牙接口封装模块、原生平台蓝牙接口模块和c语言协议处理模块;

2.根据权利要求1所述的移动端蓝牙协议sdk,其特征在于,所述dart语言协议模块包括:逻辑层和基础层;

3.根据权利要求2所述的移动端蓝牙协议sdk,其特征在于,所述逻辑层包括:指令管理单元、文件管理单元、传输管理单元、数据交换单元、数据同步单元、消息图标管理单元、运动计划管理单元、通信录管理单元、数据存储单元、日志管理单元和异常处理单元。

4.根据权利要求2所述的移动端蓝牙协议sdk,其特征在于,所述基础层包括:指令集封装单元、队列管理单元、文件传输单元和长数据传输单元。

5.根据权利要求4所述的移动端蓝牙协议sdk,其特征在于,所述基础层还包括:用于与外部c语言协议处理模块交互的第一接口单元,用于与外部dart语言蓝牙接口封装模块交互的接口单元。

6.根据权利要求1所述的移动端蓝牙协议sdk,其特征在于,所述通信模块包括:platform channel和dart ffi;

7.根据权利要求4所述的移动端蓝牙协议sdk,其特征在于,所述队列管理单元具体用于:

8.根据权利要求7所述的移动端蓝牙协议sdk,其特征在于,所述队列管理单元还用于:

9.根据权利要求7所述的移动端蓝牙协议sdk,其特征在于,所述队列管理单元还用于:

10.一种移动终端,其特征在于,所述移动终端中部署权利要求1-9中任一项所述的移动端蓝牙协议sdk。


技术总结
本发明提供了一种移动端蓝牙协议SDK和移动终端,涉及蓝牙通信的技术领域,包括:Dart语言协议模块、通信模块、Dart语言蓝牙接口封装模块、原生平台蓝牙接口模块和C语言协议处理模块。本发明提供的移动端蓝牙协议SDK,该SDK的代码统一使用Dart语言编写,Dart语言蓝牙接口封装模块可直接在Dart代码中自由调用,在接收到蓝牙接口调用指令之后,再通过通信模块对原生平台蓝牙接口模块中的目标原生蓝牙接口进行调用即可。本发明提供的移动端蓝牙协议SDK只需维护一套Dart代码便能解决不同平台的需求,解决了不同原生平台定制移动端蓝牙协议SDK的人力投入大,维护成本高的技术问题。

技术研发人员:朱燕雄,何东阳,朱燕升
受保护的技术使用者:深圳市爱都科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1