本发明涉及数据处理技术,特别设计蓝牙体感数据的处理技术。
背景技术:
目前传统的体感设备大都采用射频的方式发送数据,而对于蓝牙体感设备,其通过蓝牙协议栈进行数据发送,即蓝牙体感数据,但目前安卓系统的智能设备中,并没有对蓝牙协议栈规范的处理方式,导致蓝牙体感设备无法正常使用。
技术实现要素:
本发明的目的是要解决目前安卓系统的智能设备中,蓝牙体感设备无法正常使用的问题,提供了一种基于GATT的蓝牙体感数据处理方法。
本发明解决其技术问题,采用的技术方案是,基于GATT的蓝牙体感数据处理方法,其特征在于,包括以下步骤:
步骤1、安卓系统的智能设备中的应用程序接收到开机广播后启动,搜索蓝牙体感设备,与其建立连接并注册蓝牙体感数据对应的服务,等待蓝牙协议栈回调;
步骤2、当蓝牙体感设备发送蓝牙体感数据时,应用程序中的回调函数被调用,提取蓝牙体感数据并复制一份后以消息机制发送至另一线程进行处理;
步骤3、消息接收方的线程接收到该蓝牙体感数据,对其按照该蓝牙体感设备厂商提供的数据格式进行解析,将解析得到的数据封装为安卓系统所支持的体感数据格式,将其写入对应的需要获取蓝牙体感数据的设备节点,供安卓系统使用。
具体的,步骤1中,所述智能设备为智能电视或智能移动终端。
进一步的,所述智能移动终端为智能手机或平板电脑。
具体的,步骤3中,所述将解析得到的数据封装为安卓系统所支持的体感数据格式时,还区分gsensor和陀螺仪数据。
再进一步的,所述区分gsensor和陀螺仪数据时,采用jni方法进行区分。
具体的,还包括以下步骤:
步骤4、未连接蓝牙体感设备或蓝牙体感设备断开时,定时扫描蓝牙体感设备,若发现蓝牙体感设备,则与其建立连接并注册蓝牙体感数据对应的服务,等待蓝牙协议栈回调,回到步骤2,否则不进行处理。
本发明的有益效果是,在本发明方案中,通过上述基于GATT的蓝牙体感数据处理方法,可以使安卓系统的智能设备适配蓝牙体感设备,增强用户体验,方便用户。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述基于GATT的蓝牙体感数据处理方法为:首先安卓系统的智能设备中的应用程序接收到开机广播后启动,搜索蓝牙体感设备,与其建立连接并注册蓝牙体感数据对应的服务,等待蓝牙协议栈回调,当蓝牙体感设备发送蓝牙体感数据时,应用程序中的回调函数被调用,提取蓝牙体感数据并复制一份后以消息机制发送至另一线程进行处理,消息接收方的线程接收到该蓝牙体感数据,对其按照该蓝牙体感设备厂商提供的数据格式进行解析,将解析得到的数据封装为安卓系统所支持的体感数据格式,将其写入对应的需要获取蓝牙体感数据的设备节点,供安卓系统使用。
实施例
本发明实施例的基于GATT的蓝牙体感数据处理方法,其包括以下步骤:
步骤1、安卓系统的智能设备中的应用程序接收到开机广播后启动,搜索蓝牙体感设备,与其建立连接并注册蓝牙体感数据对应的服务,等待蓝牙协议栈回调。
本例中,智能设备可以为智能电视或智能移动终端等,如智能手机或平板电脑等。
步骤2、当蓝牙体感设备发送蓝牙体感数据时,应用程序中的回调函数被调用,提取蓝牙体感数据并复制一份后以消息机制发送至另一线程进行处理。
步骤3、消息接收方的线程接收到该蓝牙体感数据,对其按照该蓝牙体感设备厂商提供的数据格式进行解析,将解析得到的数据封装为安卓系统所支持的体感数据格式,将其写入对应的需要获取蓝牙体感数据的设备节点,供安卓系统使用。
本步骤中,将解析得到的数据封装为安卓系统所支持的体感数据格式时,还可区分gsensor和陀螺仪数据。区分gsensor和陀螺仪数据时,可采用jni方法进行区分。
还可以包括以下步骤:
步骤4、未连接蓝牙体感设备或蓝牙体感设备断开时,定时扫描蓝牙体感设备,若发现蓝牙体感设备,则与其建立连接并注册蓝牙体感数据对应的服务,等待蓝牙协议栈回调,回到步骤2,否则不进行处理。