一种经典蓝牙数据的读取方法及装置与流程

文档序号:16150022发布日期:2018-12-05 17:23阅读:492来源:国知局
一种经典蓝牙数据的读取方法及装置与流程

本发明涉及数据传输领域,具体涉及一种经典蓝牙数据的读取方法及装置。

背景技术

使用现有方案读取经典蓝牙socket连接上的数据时,socket发送端每固定时间发送一次数据,接收端两次从socket连接上能够读取到数据的时间差存在比较大的延迟,不利于通过蓝牙采集的实时数据进行后期的实时处理显示。例如socket发送端每100ms时间发送一次数据,接收端两次从socket连接上能够读取到数据的时间差存在比较大的延迟,大于200ms的延迟包数可以达到2.48%,最大延迟时间可达4500ms以上。



技术实现要素:

本发明所要解决的技术问题是降低蓝牙连接数据读取数据的时间,目的在于提供一种经典蓝牙数据的读取方法及装置,每读取到一个实时数据包均立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,大大降低了蓝牙连接数据读取数据的时间。

本发明通过下述技术方案实现:

第一方面,本发明提供了一种经典蓝牙数据的读取方法,包括如下步骤:

数据采集终端通过蓝牙socket通信定时a毫秒发送一个实时数据包;目标蓝牙设备通过蓝牙socket通信的输入流stream_read经过b毫秒时间延时读取到一个实时数据包,并立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,重复该步骤,直至目标蓝牙设备读取完所有发送过来的实时数据包。

对应于第一方面,本方案的目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中的最大值bmax,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理所用时间延时c中的最大值cmax相比,bmax比cmax降低了50%以上。

对应于第一方面,本方案的目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中,时间延时b>2a的实时数据包占总实时数据包的比值k,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取实时数据包而不做其它处理,所用时间延时c>2a的实时数据包占总实时数据包的比值h相比,k比h降低一个数量级。

对应于第一方面,本方案的其中蓝牙socket通信的输出流stream_write写1字节的任意数据。

第二方面,本发明听了一种经典蓝牙数据的读取装置,包括数据发送模块:数据采集终端通过蓝牙socket通信定时a毫秒发送一个实时数据包;数据读取模块:目标蓝牙设备通过蓝牙socket通信的输入流stream_read经过b毫秒时间延时读取到一个实时数据包,并立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,重复该步骤,直至目标蓝牙设备读取完所有发送过来的实时数据包。

对应于第二方面,本发明还包括数据采集终端,用于实时采集人体生理数据。

本发明与现有技术相比,具有如下的优点和有益效果:本发明通过socket连接上读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符,提高了蓝牙芯片下次读取实时数据包的响应时间,大大缩短了下一次读取到实时数据包的时间,方便目标蓝牙设备对读取到的实时数据包进行流畅的实时数据显示。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明的流程图;

图2为本发明的原理框图;

图3为当目标蓝牙设备为型号为小米mi6的手机时,经典蓝牙分别工作在两种不同工作模式下的数据测试结果图;

图4为当目标蓝牙设备为型号为oneplusa3000的手机时,经典蓝牙分别工作在两种不同工作模式下的数据测试结果图;

图5为当目标蓝牙设备为型号为荣耀9的手机时,经典蓝牙分别工作在两种不同工作模式下的数据测试结果图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1:

如图1所示,本发明包括一种经典蓝牙数据的读取方法,包括如下步骤:

步骤s1:数据采集终端通过蓝牙socket通信定时a毫秒发送一个实时数据包;数据采集终端可以为可穿戴健康设备、手机、电脑和其它具备蓝牙功能的装置,可穿戴健康设备可以为智能手表。定时发送的时间a毫秒取值可以为50ms、100ms、200ms或其它。

步骤s2:目标蓝牙设备通过蓝牙socket通信的输入流stream_read经过b毫秒时间延时读取到一个实时数据包,并立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,重复该步骤,直至目标蓝牙设备读取完所有发送过来的实时数据包。其中目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到一个实时数据包的时间延时b的数值可以相同也可以不同,任意两个相邻实时数据包之间的时间间隔相互独立,互不影响。但是b的取值一定是大于等于a的,在理想情况下是a的数值等于b的数值,即数据采集终端通过蓝牙socket通信定时a毫秒发送一个实时数据包,目标蓝牙设备马上就接收到该实时数据包,但是受到各种外界因数的影响,目标蓝牙设备接收到实时数据包的时间b都要大于a,例如经过100ms的时间延时读取到第一个实时数据包,然后可能经过100ms、200ms或者其它的延时时间读取到第二个实时数据包,然后再经过100ms、200ms或者是其它数值的延时时间读取到第三个实时数据包,以此类推直到读取完所有的实时数据包。本方案中的目标蓝牙设备可以为手机、可穿戴健康设备或者其它具备无线蓝牙功能的装置。本方案中蓝牙socket通信的输出流stream_write写任意字节的任意数据,可以为1字节的字母、数字、符号、汉字或者其它,1字节的字母、数字、符号、汉字或者其它也可以换为2字节、3字节或者是n字节,n取任意自然数。本方案优选蓝牙socket通信的输出流stream_write写1字节的任意数据,该种设置的响应时间最快。

其中目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到一个实时数据包的时间延时b不尽相同,目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中的最大值bmax,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理所用时间延时c中的最大值cmax相比,bmax比cmax降低了50%以上。

目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中,时间延时b>2a的实时数据包占总实时数据包的比值k,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取实时数据包而不做其它处理,所用时间延时c>2a的实时数据包占总实时数据包的比值h相比,k比h降低一个数量级。其中,数量级是指一系列10为底数的幂,比如两数相差一个数量级,就是一个数比另一个数大10倍。

下面结合图3-5进行说明,图3-5为目标蓝牙设备选择不同型号手机,经典蓝牙分别工作在两种不同工作模式下的数据测试结果图。

如图3所示,当目标蓝牙设备为型号为小米mi6的手机时,数据采集终端定时100ms发送实时数据包,型号为小米mi6的手机采用蓝牙常规工作模式接收数据包,即手机通过蓝牙socket通信的输入流stream_read每次读取实时数据包而不做其它处理,在测试的接收实时数据包总次数为1350次中,每次接收到实时数据包的时间间隔c中,c大于200ms的次数达到28次,c大于200ms次数的比例占总次数的2.0741%,时间间隔c的最大值达到583ms。而采用本发明蓝牙工作模式,即通过socket连接读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符的方式,在测试的接收的实时数据包的总次数在1350次中,每次接收到实时数据包的时间间隔b中,b大于200ms的次数只有2次,b大于200ms次数的比例只占总次数的0.1481%,时间间隔b的最大值也降到了297ms。

如图4所示,当目标蓝牙设备为型号为oneplusa3000的手机时,数据采集终端定时100ms发送实时数据包,手机采用蓝牙常规工作模式接收数据包,即手机通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理,在测试的接收实时数据包总次数为1350次中,每次接收到实时数据包的时间间隔c中,c大于200ms的次数达到31次,c大于200ms次数的比例占总次数的2.2963%,时间间隔c的最大值达到658ms。而采用本发明蓝牙工作模式,即通过socket连接读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符的方式,在测试的接收的实时数据包的总次数在1350次中,每次接收到实时数据包的时间间隔b中,b大于200ms的次数只有3次,b大于200ms次数的比例只占总次数的0.2222%,时间间隔b的最大值也降到了235ms。

如图5所示,当目标蓝牙设备为型号为荣耀9的手机时,数据采集终端定时100ms发送实时数据包,手机采用蓝牙常规工作模式接收数据包,即手机通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理,在测试的接收实时数据包总次数为1350次中,每次接收到实时数据包的时间间隔c中,c大于200ms的次数达到33次,c大于200ms次数的比例占总次数的2.4444%,时间间隔c的最大值达到872ms。而采用本发明蓝牙工作模式,即通过socket连接读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符的方式,在测试的接收的实时数据包的总次数在1350次中,每次接收到实时数据包的时间间隔b中,b大于200ms的次数只有4次,b大于200ms次数的比例只占总次数的0.2963%,时间间隔b的最大值也降到了253ms。

由上述测试数据可知,当数据采集终端通过蓝牙socket通信定时100毫秒发送一个实时数据包,若采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理,目标蓝牙设备两次从socket连接上能够读取到的数据的时间差c存在较大的延迟,时间延时c大于200ms的延时实时数据包数可以达到2.48%,最大延迟时间可以达到4500ms以上。若采用本方案所述方案目标蓝牙设备通过蓝牙socket通信的输入流stream_read经过b毫秒时间延时读取到一个实时数据包,并立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,目标蓝牙设备两次从socket连接上能够读取到的数据的时间差b的最大延迟时间降到250ms以内,时间延时b大于200ms的延时实时数据包数降到0.21%。

本方案通过socket连接读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符,提高了蓝牙芯片下次读取实时数据包的响应时间,大大缩短了下一次读取到实时数据包的时间,方便目标蓝牙设备对读取到的实时数据包进行流畅的实时数据显示。

实施例2:

如图2,其示出了本发明的一种经典蓝牙数据的读取装置,包括相互连接的处理器和存储器,还包括与处理器连接的

数据发送模块:数据采集终端通过蓝牙socket通信定时a毫秒发送一个实时数据包;

数据读取模块:目标蓝牙设备通过蓝牙socket通信的输入流stream_read经过b毫秒时间延时读取到一个实时数据包,并立刻向该蓝牙socket通信的输出流stream_write写任意字节的任意数据,重复该步骤,直至目标蓝牙设备读取完所有发送过来的实时数据包。优选地,蓝牙socket通信的输出流stream_write写1字节的任意数据。

其中,数据读取模块中目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中的最大值bmax,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取实时数据包而不做其它处理所用时间延时c中的最大值cmax相比,bmax比cmax降低了50%以上。

其中,数据读取模块中目标蓝牙设备通过蓝牙socket通信的输入流stream_read每次读取到实时数据包所用的时间延时b中,时间延时b>2a的实时数据包占总实时数据包的比值k,与采用目标蓝牙设备通过蓝牙socket通信的输入流stream_read读取实时数据包而不做其它处理,所用时间延时c>2a的实时数据包占总实时数据包的比值h相比,k比h降低一个数量级。

优选地,还包括数据采集终端,用于实时采集人体生理数据。

本领域普通技术人员可以理解,本发明方法和装置中提到的数据采集终端可以为可穿戴健康设备、手机、电脑和其它具备蓝牙功能的装置,可穿戴健康设备可以为智能手表。本方案中的目标蓝牙设备可以为手机、可穿戴健康设备或者其它具备无线蓝牙功能的装置。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,该程序在执行时,可以包括如上述各方法的实施例的流程。其中,所述的存储介质可以是只读存储记忆体、随机存储记忆体、磁盘或光盘等。

综上所述,本发明提供了一种经典蓝牙数据的读取方法及装置,采用了与现有技术不同的方法,通过socket连接读取到数据以后,立刻向蓝牙socket连接的输出流上写入任意字节的任意字符,提高了蓝牙芯片下次读取实时数据包的响应时间,大大缩短了下一次读取到实时数据包的时间,方便目标蓝牙设备对读取到的实时数据包进行流畅的实时数据显示。其中目标蓝牙设备两次从socket连接上能够读取到数据的时间差中的最大值比现有技术降低了一半以上,目标蓝牙设备两次从socket连接上能够读取到数据的时间差中大于数据采集终端发送实时数据包两倍时间的比例比现有技术降低了10倍。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1