发明内容
本发明要解决的技术问题是提供一种基于MBIM实现GPS功能的方法及MBIM设备、无线通信终端,以通过扩展MBIM协议,在不增加任何USB枚举端口的情况下,实现对GPS功能的集成,增强MBIM类无线数据卡产品的功能和用户体验。
为了解决上述技术问题,本发明提供了一种基于移动宽带接口模型(MBIM)实现全球定位系统(GPS)功能的方法,包括,
添加GPS服务,设置一组针对所述GPS服务的控制指令集和应用程序编程接口;
接收所述GPS应用程序调用对应的应用程序编程接口发送的GPS服务请求;
将所述GPS服务请求转化为MBIM协议控制消息;
对所述MBIM协议控制消息进行解析后,调用对应的应用程序编程接口发送给无线数据卡上的GPS模块。
进一步地,上述方法还具有下面特点:所述添加GPS服务的过程中包括:
生成通用唯一识别值作为GPS服务标识。
进一步地,上述方法还具有下面特点:所述控制指令集包括以下命令标识中的一个或多个:
打开GPS功能命令标识、关闭GPS功能命令标识和GPS数据命令标识。
进一步地,上述方法还具有下面特点:所述对所述MBIM协议控制消息进行解析后,调用对应的应用程序编程接口发送给GPS模块后还包括:
接收到所述GPS模块上报的GPS数据;
将所述GPS数据封装为MBIM消息,通过通用串行总线控制通道发送给GPS应用程序。
为了解决上述问题,本发明还提供了一种移动宽带接口模型(MBIM)设备,包括:
第一模块,用于添加GPS服务,设置一组针对所述GPS服务的控制指令集和应用程序编程接口;
第二模块,用于接收所述GPS应用程序调用对应的应用程序编程接口发送的GPS服务请求;
第三模块,用于将所述GPS服务请求转化为MBIM协议控制消息;
第四模块,用于对所述MBIM协议控制消息进行解析后,调用对应的应用程序编程接口发送给无线数据卡上的GPS模块。
进一步地,上述设备还具有下面特点:所述第一模块,在添加GPS服务的过程中包括:生成通用唯一识别值作为GPS服务标识。
进一步地,上述设备还具有下面特点:所述控制指令集包括以下命令标识中的一个或多个:
打开GPS功能命令标识、关闭GPS功能命令标识和GPS数据命令标识。
进一步地,上述设备还具有下面特点:还包括:
第五模块,用于接收到所述GPS模块上报的GPS数据;
第六模块,用于将所述GPS数据封装为MBIM消息,通过通用串行总线控制通道发送给GPS应用程序。
为了解决上述问题,本发明还提供了一种无线通信终端,包括上所述的移动宽带接口模型(MBIM)设备。
综上,本发明提供一种基于MBIM实现GPS功能的方法及MBIM设备、无线通信终端,对于以MBIM设备提供网络接入的无线数据卡设备,既能利用无线数据卡本身的GPS功能,又不增加物理数据通道端口,保持MBIM设备的免驱安装特性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
MBIM协议是利用USB控制通道实现对短信、电话本、STK等功能的扩充与管理;在MBIM协议中,对于短信、电话本、STK,都是作为MBIM的一个服务(Service)进行管理,对于每一个服务,有一个serviceID,而每个service对应一组命令,在MBIM协议称为CID (CommandIdentifier,命令标识),用来对各个服务进行控制与数据交互。USB控制通道适合小数据量的交互;从GPS自身特点看,GPS控制流程简单,只需要进行开启、关闭等简单控制以及GPS数据上报;GPS实时数据都以主动通知的方式报告给主机,并且数据格式简单、数据包长度比较短,适用于MBIM协议的服务控制管理;因此,GPS功能可以与短信、电话本、STK功能一样,集成为MBIM协议的一个服务。
MBIM提供了一套完整的服务扩展方案,图1是本发明实施例的GPS功能扩充示意图。
图1中,在firmware(固件)中的Extend service(扩展服务),是在MBIM原有服务上增加的服务,本发明GPS服务就是扩展的服务,GPS Module是无线数据卡GPS功能模块,用来响应GPS控制请求并提供GPS数据;在操作系统侧(例如,Win8系统),微软提供了iMbnExtension API,用来支持厂商扩充的服务,在此基础上建立GPS API((ApplicationProgramming Interface,应用程序编程接口),管理GPS功能;GPS Appcation(应用程序)是GPS应用管理程序;同时,从图1上,MBIM原有服务的流程独立执行,各个服务之间不受影响。
图2为本发明实施例的MBIM设备的示意图,如图2所示,本实施例的MBIM设备包括:
第一模块,用于添加GPS服务,设置一组针对所述GPS服务的控制指令集和应用程序编程接口;
第二模块,用于接收所述GPS应用程序调用对应的应用程序编程接口发送的GPS服务请求;
第三模块,用于将所述GPS服务请求转化为MBIM协议控制消息;
第四模块,用于对所述MBIM协议控制消息进行解析后,调用对应的应用程序编程接口发送给无线数据卡上的GPS模块。
其中,所述第一模块,在添加GPS服务的过程中包括:生成通用唯一识别值作为GPS服务标识。
其中,所述控制指令集包括以下命令标识中的一个或多个:
打开GPS功能命令标识、关闭GPS功能命令标识和GPS数据命令标识。
本实施例的MBIM设备还可以包括:
第五模块,用于接收到所述GPS模块上报的GPS数据;
第六模块,用于将所述GPS数据封装为MBIM消息,通过通用串行总线控制通道发送给GPS应用程序。
本发明实施例还提供一种无线通信终端,包括上述的MBIM设备,如图3所示,图3是本发明实施例的无线通信终端的示意图。
结合图1和图3,本发明实施例的基于MBIM实现GPS功能的方法的流程图,如图4所示,可以包括以下步骤:
步骤101、在MBIM设备的MBIM功能模块中增加GPS服务;
在MBIM设备中增加GPS服务,使用专用的UUID(Universally Unique Identifier,通用唯一识别)生成工具,生成UUID值,例如:1d2b3c4e-5f10202a-30313a3b-a1b2c523,作为GPS的serviceID,用以区别GPS服务和其它服务;
步骤102、为GPS服务扩充一组控制指令集CID,用于管理GPS;
按照GPS功能进行CID指令扩充,基本的需要扩充打开GPS功能CID、关闭GPS功能CID、GPS数据CID(用于主动上报),每个CID对应一个32bit的值,一般情况下,请求从1开始递增增加,例如,CID值分别为:0x00000001,用于用户打开GPS;0x00000002,用于关闭GPS,0x00000003,用户GPS主动上报,以及其它请求,在此不进行列举。
步骤103、提供GPS API;
本实施例中,可以分别针对打开GPS功能、关闭GPS功能、读取GPS数据等定义API,可以为GPS应用程序提供GPS控制接口定义API。
步骤104、MBIM设备接收并处理GPS服务请求,将该GPS服务请求转发到GPS模块(指的是无线数据卡上固有的GPS模块);
GPS应用程序调用API发送GPS服务请求,发送的GPS服务请求通过MBIM Driver后,以MBIM协议规定的Msg(消息)格式发送给MBIM设备,MBIM设备控制请求处理模块对请求进行解析,将GPS服务请求发送给GPS模块,GPS模块处理完请求后返回结果给MBIM控制请求处理模块并进一步返回给上层。
其中,GPS模块进行GPS数据的上报,在MBIM模块封装为MBIM消息,通过MBIM控制通道发给驱动,并进一步的发给上层服务。
其中,GPS应用程序通过API读取数据,更新GPS信息。
本发明实施例通过将GPS功能作为MBIM的一个服务进行实现,仅需使用MBIM设备的控制通道,就可以做到对GPS硬件设备的控制与GPS数据的上报,使GPS功能集成到MBIM设备中,不需要单独提供USB物理通道。
图5是本发明实施例的开启GPS功能的基本流程图,如图5所示,包括以下步骤:
步骤201、用户在GPS应用程序中选择开启GPS功能;
步骤202、GPS应用程序会调用规定的API发送开启GPS请求;
步骤203、开启GPS请求经过MBIM Driver(驱动),由MBIM USB端口发送给MBIM设备中的MBIM控制处理模块;
步骤204、MBIM设备中的MBIM控制处理模块首先判断是否是GPSService,通过匹配上面定义的UUID值进行确定,并进一步判断是否是打开GPS功能,如果是打开GPS功能,则调用打开GPS功能模块的接口,向GPS模块发送开启GPS功能的指令;
步骤205、GPS模块开启GPS功能,返回开启状态。
关闭GPS功能的执行过程与打开GPS功能类似,此处不再赘述。
GPS功能开启后,会按照一定频率主动上报GPS信息,信息会在MBIM控制请求处理模块进行封装,发给MBIM Driver,参考图6。
图6是GPS数据上报的流程图,在GPS功能开启后,GPS会按照一定的频率上报GPS位置信息,执行流成为:
步骤401、GPS模块按照GPS数据格式上报GPS数据;
步骤402、GPS数据发送给MBIM设备的MBIM控制请求模块;
步骤403、MBIM控制请求模块将GPS数据封装到MBIM消息中,其服务和CID参数为上述规定值;
步骤404、GPS数据通过USB控制通道发送给MBIM Driver;
步骤405、MBIM Driver接收到GPS数据后,发送MBIM响应消息给MBIM设备。
GPS应用程序更新,GPS应用程序使用规定的API接口读取MBIM设备的响应消息以及GPS主动上报数据,更新GPS信息。
通过以上方案与流程,在MBIM设备上建立了符合MBIM协议的新服务,新服务为GPS功能,GPS的控制与数据流均在MBIM的协议封装下进行通信。
将GPS功能扩展为MBIM的一个服务,扩展了MBIM的功能,解决了无线上网卡需要增加物理通道提供GPS功能的问题,提高了MBIM设备的用户体验。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。