一种提高微信小程序蓝牙传输速度的方法技术

技术编号:24504500 阅读:48 留言:0更新日期:2020-06-13 06:51
本发明专利技术公开了一种提高微信小程序蓝牙传输速度的方法,属于蓝牙无线通讯技术领域。本发明专利技术的提高微信小程序蓝牙传输速度的方法包括:微信小程序和蓝牙设备通过普通属性协议建立通信连接;蓝牙设备发送最大传输单元协商请求,其中,协商后的最大传输单元大于20字节;微信小程序接受最大传输单元协商请求后,蓝牙设备将最大传输单元协商值通过普通属性协议传输给微信小程序;微信小程序根据接收到的最大传输单元协商值,将通讯数据进行拆包并发送。在本发明专利技术中采用增大最大传输单元发送通讯数据,减少了传输次数,从而提高通讯数据传输速度。

A method to improve Bluetooth transmission speed of wechat applet

【技术实现步骤摘要】
一种提高微信小程序蓝牙传输速度的方法
本专利技术涉及蓝牙无线通讯
,特别涉及一种提高微信小程序蓝牙传输速度的方法。
技术介绍
蓝牙低功耗技术(BluetoothLowEnergy,简称BLE)是指可以实现蓝牙设备之间低功耗的数据传输。当前手机通过微信小程序与蓝牙设备进行通信可以通过BLE的方式。由于手机系统和蓝牙设备会限制BLE单次传输数据的大小,微信小程序为了确保不丢数据,对最大传输单元MTU做了限制,默认20字节。按照蓝牙协议,手机可以与蓝牙设备进行MTU协商,但是手机端的系统是能够接收到MTU协商值,但是微信小程序不能获取这个MTU协商值。微信小程序中数据发送接口里面仍是按照20字节发送,在其他接口中也没有发现微信小程序可以获取MTU协商值的证明。所以小程序无法按照MTU协商值进行数据传输。因此在通讯数据长度很大是,微信小程序通过BLE传输数据时速率很低。
技术实现思路
本专利技术所要解决的技术问题是:提供一种提高微信小程序蓝牙传输速度的方法,使微信小程序能够获取MTU协商值,然后根据MTU协商值对通讯数据进行传输,以提高通讯数据的传输速度。为了实现上述目的,本专利技术采用的第一个技术方案是:提供一种提高微信小程序蓝牙传输速度的方法,包括:微信小程序和蓝牙设备通过普通属性协议GATT建立通信连接;蓝牙设备向微信小程序发送最大传输单元MTU协商请求,其中,协商后的最大传输单元MTU大于20字节;微信小程序接受最大传输单元MTU协商请求后,蓝牙设备将最大传输单元MTU协商值通过普通属性协议GATT传输给微信小程序;微信小程序根据接收到的所述最大传输单元MTU协商值,将拆分好的数据包发送给蓝牙设备。本专利技术采用的第二个技术方案是:一种计算机可读存储介质,其存储有计算机指令,其特征在于,计算机指令被操作以执行方案一中的提高微信小程序蓝牙传输速度的方法。本专利技术采用的第三个技术方案是:一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其特征在于,处理器操作计算机指令以执行方案一中的提高微信小程序蓝牙传输速度的方法。本专利技术的有益效果在于:通过协商MTU,然后利用GATT服务使微信小程序能够获取到这个MTU协商值,然后微信小程序能够以较大的MTU进行通讯数据传输,减少传输次数,从而提高通讯数据传输速度。附图说明图1为本专利技术提高微信小程序蓝牙传输速度的方法的过程示意图;图2为本专利技术提高微信小程序蓝牙传输速度的方法的一个具体实施例的功能模块示意图;图3为本专利技术中提高微信小程序蓝牙传输速度的方法的一个具体实施例的原理时序图。具体实施方式在目前现有的技术中,按照蓝牙协议,当手机和外围设备进行MTU协商后,手机端的系统能够接收到MTU协商值,但是微信小程序不能够获取该MTU协商值。本专利技术利用普通属性协议GATT把MTU协商值通知给微信小程序,使微信小程序根据MTU协商值将通讯数据进行拆包和发送。为了使本专利技术的上述特征和优点更加易懂,下面结合附图和具体实施方式对本专利技术做进一步详细说明。该详细说明仅仅是为了帮助理解本专利技术,本专利技术的保护范围不仅仅限于具体实施方式中的具体说明。图1示出了本专利技术一种提高微信小程序蓝牙传输速度的方法的具体实施方式,在该具体实施方式中,主要包括以下步骤:步骤S101:通信连接过程。在本专利技术的一个具体实施方式中,微信小程序和蓝牙设备可以采用蓝牙低功耗技术通过普通属性协议GATT建立通信连接。该步骤的主要目的是实现主控设备和外围设备的通信连接。如图2所示,主控设备(Controller),相对比较强大,能够主动连接和控制外围设备,在本专利技术中主控设备可以为手机、电脑等,涉及的功能模块为微信小程序。外围设备(Peripheral),非常小或者简单的蓝牙设备,用来提供数据,并连接到一个更加相对强大的主控设备。外围设备支持蓝牙低功耗BLE协议,在本专利技术中外围设备可以为蓝牙耳机、蓝牙MP3、蓝牙闪存盘、蓝牙适配器、蓝牙CF卡、蓝牙手环,蓝牙工卡、血压计、打印机等。低功耗蓝牙(BLE)连接都是建立在普通属性协议GATT(GenericAttributeProfile)协议之上。GATT是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范。所以在本专利技术中蓝牙设备和微信小程序通过GATT建立通信连接。GATT连接是独占的,也就是一个BLE外围设备同时只能被一个主控设备连接。一旦外围设备被连接,它就会马上停止广播。当设备断开,外围设备又开始广播。主控设备和外围设备需要双向通信的话,唯一的方式就是建立GATT连接。步骤S102:协商MTU过程。在本专利技术的一个具体实施方式中,为了提高通讯的传输速度,减少传输数据包的个数,微信小程序和蓝牙设备连接成功后,蓝牙设备会向微信小程序发送最大传输单元MTU协商请求,其中,协商后的最大传输单元MTU大于20字节;该步骤的主要目的是增大MTU,使通讯数据包分包个数较少,从而尽可能的减少通讯数据传输次数。最大传输单元MTU指在一个PDU(协议数据单元,在一个传输单元中的有效传输数据)能够传输的最大数据量(多少字节可以一次性传输到对方)。属性协议默认的MTU长度为23字节,有3个字节是头,有效载荷是20字节。如果想要发送更大的数据包,就需要协商MTU长度。因为协议数据单元的包头和包尾的长度是固定的,MTU越大,则一个协议数据单元的承载的有效数据就越长,通信效率也越高。MTU越大,传送相同的通讯数据所需的数据包个数也越少。但是MTU也不是越大越好,因为MTU越大,传送一个数据包的延迟也越大;且数据包中比特位发生错误的概率也越大。所以要权衡通信效率和传输延迟选择合适的MTU。在本专利技术的一个具体实施例中,最大传输单元MTU的协商过程为蓝牙设备向微信小程序发送交换MTU请求包,其中交换MTU请求包包含了蓝牙设备所支持的MTU大小,微信小程序接收到蓝牙设备发送的交换MTU请求包后,会向蓝牙设备回复交换MTU响应包,其中交换MTU响应包包含了微信小程序所支持的MTU大小。步骤S103:MTU协商值传输过程。在本专利技术的一个具体实施方式中,微信小程序接受最大传输单元MTU协商后,蓝牙设备将最大传输单元MTU协商值通过GATT服务传输给微信小程序,从而为后续的通讯数据传输提供技术支持;该步骤的主要目的是使微信小程序能够获取增大的MTU。在本专利技术的一个具体实施例中,协商成功后,蓝牙设备根据蓝牙设备所支持的MTU大小和微信小程序所支持的MTU大小来修改MTU协商值。在GATT协议中有多个服务,服务是把通讯数据分成一个个的独立逻辑项,它包含一个或多个特征。特征是最小的逻辑数据单元,是GATT协议中最低的界别,它可以包含一个组关联的数据,例如加速度计的X/Y/Z三轴值,其中一个特征中包括一个属性,一个值和一个或多个描述符。在通信过程中可以免费使用蓝牙联盟官方定义的标准特征,也可以自定义特征。微信小程序和蓝牙设备进行通信,主要是通过特征来实本文档来自技高网...

【技术保护点】
1.一种提高微信小程序蓝牙传输速度的方法,其特征在于包括:/n微信小程序和蓝牙设备建立普通属性协议通信连接;/n所述蓝牙设备向所述微信小程序发送最大传输单元协商请求;/n所述微信小程序接受最大传输单元协商请求后,所述蓝牙设备将最大传输单元协商值通过所述普通属性协议传输给所述微信小程序;/n所述微信小程序根据接收到的所述最大传输单元协商值,将通讯数据进行拆包并将拆分好的数据包发送给所述蓝牙设备;/n其中,协商后的最大传输单元大于20字节。/n

【技术特征摘要】
1.一种提高微信小程序蓝牙传输速度的方法,其特征在于包括:
微信小程序和蓝牙设备建立普通属性协议通信连接;
所述蓝牙设备向所述微信小程序发送最大传输单元协商请求;
所述微信小程序接受最大传输单元协商请求后,所述蓝牙设备将最大传输单元协商值通过所述普通属性协议传输给所述微信小程序;
所述微信小程序根据接收到的所述最大传输单元协商值,将通讯数据进行拆包并将拆分好的数据包发送给所述蓝牙设备;
其中,协商后的最大传输单元大于20字节。


2.根据权利要求1所述的提高微信小程序蓝牙传输速度的方法,其特征在于,所述蓝牙设备利用所述普通属性协议将包含所述最大传输单元协商值的FC特征发送给所述微信小程序。


3.根据权利要求1所述的提高微信小程序蓝牙传输速度的方法,其特征在于,所述最大传输单元的协商过程包括所述蓝牙设备向所述微信小程序发送交换最大传输单元请求包,其中,所述交换最大传输单元请求包包含了所述蓝牙设备所支持的最大传输单元大小,所述微信小程序接收到所述交换最大传输单元请求包后,向所述蓝牙设备回...

【专利技术属性】
技术研发人员:王梓灏范锐邱文庆朱勇
申请(专利权)人:北京百瑞互联技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1