一种蓝牙通信方法、装置和系统与流程

文档序号:20085695发布日期:2020-03-13 06:13阅读:106来源:国知局
一种蓝牙通信方法、装置和系统与流程
本申请涉及通信领域,特别是涉及一种蓝牙通信方法、装置和系统。
背景技术
:蓝牙技术是一种近距离地保证可靠接收和信息安全的无线通信技术。1994年,瑞典爱立信公司通信部在一项课题研究中,确定使用无线电射频技术实现移动通话与周围器件之间的低成本、低功耗的无线互联,并将互联的技术规范命名为bluetooth(蓝牙)。在1998年2月,蓝牙sig组织成立,主要负责制定蓝牙技术规范和推广蓝牙技术,使得蓝牙技术取得了巨大进步。尤其是推出了蓝牙规范版本,例如蓝牙1.0至蓝牙5.0,主要包括各个版本相应的技术指标和系统参数。随着蓝牙技术的进步,在人们的日常生活中,经常可以看到蓝牙音频设备,例如是无线蓝牙耳机、无线蓝牙音箱等。在sig定义的应用模型中,蓝牙音频设备主要采用的模型是“头戴式耳机模型”,其中“头戴式耳机模型”在蓝牙技术中作移动通信终端和个人计算机的语音输入、输出接口用,让用户摆脱通话电缆的约束。相关技术中,蓝牙音频设备与移动通信设备建立蓝牙连接后,常常采用sco发送规则在两者之间进行音频数据流传输。随后又诞生了智能蓝牙音频设备,不仅与移动通信设备建立蓝牙连接,同时自身还可以通过移动通信设备接入移动通信网络中,并拾取语音指令以执行相应的操作,例如是天气查询、云端音频播放等。但是在智能蓝牙音频设备与移动通信设备建立连接后,在现有的经典蓝牙协议栈或低功耗蓝牙协议栈中的协议,当移动通信设备有来电呼叫时,只能进行语音通信数据传输而无法进行控制指令识别。技术实现要素:本申请提供一种蓝牙通信方法、装置和系统,以解决在智能蓝牙音频设备与移动通信设备建立蓝牙连接后,当移动通信设备有来电呼叫时,只能进行语音通信数据传输而无法进行控制指令识别的问题。本申请的第一方面提供一种蓝牙通信方法,应用于接收设备中,所述方法包括:在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷是包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。本申请的第二方面提供另一种蓝牙通信方法,应用于发送设备中,所述方法包括:将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位;使用蓝牙网络连接将所述数据协议单元发送至接收设备。本身请的第三方面提供再一种蓝牙通信方法,所述方法包括:在发送设备中,将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位;使用蓝牙网络连接将所述数据协议单元发送至接收设备;在接收设备中,在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。本申请的第四方面提供一种蓝牙通信装置,装载于接收设备中,所述装置被配置为:在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷是包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。本申请的第五方面提供另一种蓝牙通信装置,装载于发送设备中,所述装置被配置为:将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位;使用蓝牙网络连接将所述数据协议单元发送至接收设备。本申请的第六方面提供再一种蓝牙通信系统,包括发送设备和接收设备;所述发送设备被配置为:将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位;使用蓝牙网络连接将所述数据协议单元发送至接收设备;所述接收设备被配置为:在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。与现有技术相比,本申请包括以下优点:在发送设备中,在生成协议数据单元时,若写入协议数据单元的有效载荷是控制指令,则设置数据协议单元中的命令类型位,以指示该新生成的数据协议单元的有效载荷携带的是控制指令;若写入协议数据单元的有效载荷是音频数据,则放弃设置协议数据单元中的命令类型位,以指示该新生成的数据协议单元的有效载荷携带的是音频数据。在接收设备中,当接收到数据协议单元后,在应用层中解封装,并解析该数据协议单元中的字段,当解析至命令类型位时,当命令类型位被设置,则确定该数据协议单元的有效载荷携带的是控制指令,基于该控制指令执行相应的操作;当命令类型位未被设置,则确定该数据协议单元的有效载荷携带的是音频数据,基于该音频数据执行音频处理。发送设备通过在协议数据单元的命令类型位进行配置将传输的数据协议单元的有效载荷所携带的信息(音频数据或控制指令)进行指示,使得接收设备可以根据接收到协议数据单元后根据协议数据单元的命令类型位识别协议数据单元的有效载荷所携带的信息。使得通过蓝牙协议交互的双方,不仅能传输音频数据,还能传输特定的控制指令。将本申请所公开的技术方案应用至建立蓝牙连接的移动通信设备和智能蓝牙音频设备中,很明显,即使移动设备有来电呼叫,即移动通信设备和智能蓝牙音频设备之间将进行通话音频(音频数据)的传输,但是移动设备仍然可以通过本申请所述的数据协议单元将特定的控制指令写入协议数据单元的有效载荷中,同时设置该协议数据单元的命令类型位,当智能蓝牙音频设备在收到该协议数据单元后,在对该协议数据单元进行解封装时,通过该协议数据单元的中对应于命令类型位的字段所携带的信息,判断该协议数据单元的有效载荷携带的是音频数据或控制指令。也就说,移动通信设备和智能蓝牙音频设备在建立蓝牙通信连接后,即使移动通信设备处于来电呼叫状态,智能蓝牙音频设备也能识别移动设备是否仍在传输控制指令给智能蓝牙音频设备,并依据传输的控制指令执行相应的操作处理。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明图1是本申请的实施例所描述的蓝牙协议栈的模型图;图2是本申请的实施例所描述的经典蓝牙协议栈的模型图;图3是本申请的实施例所描述的低功耗蓝牙协议栈的模型图;图4是本申请的实施例所描述的一种移动通信设备的结构示意图;图5是本申请的实施例所描述的一种智能蓝牙音箱的结构示意图;图6是本申请的实施例所描述的数据协议单元的示意图;图7是图6中所示的数据协议单元的格式图;图8是本申请的实施例所描述的一种通信方法的步骤流程图;图9是本申请的实施例所描述的另一种通信方法的步骤流程图;图10是本申请的实施例所描述的一种应用实例的实际交互图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。请参见图1,示出了蓝牙协议栈,分为四个层次:物理层(physicallayer)、逻辑层(logicallayer)、逻辑链路控制与适配层(l2caplayer)和应用层(applayer)。其中,物理层,负责提供数据传输的物理通道(通常称为信道),通常情况下,一个通信系统中存在几种不同类型的信道,如控制信道、数据信道、语音信道等等;逻辑层,在物理层的基础上,提供两个或多个设备之间,和物理无关的逻辑传输通道(也称作逻辑链路);l2cap层,逻辑链路适配与控制层,l2cap是逻辑链路控制和适配协议(logicallinkcontrolandadaptationprotocol)的缩写,负责管理逻辑层提供的逻辑链路,通道的多路复用,对上层应用数据的分割和重组,以满足用户数据传输对延时的要求,并便于后续的重传、流控等机制的实现,基于该协议,不同application可共享同一个逻辑链路,类似tcp/ip中端口(port)的概念;app层,应用层,基于l2cap提供的信道(channel),实现各种各样的应用功能,服务(profile)是蓝牙协议的特有概念,为了实现不同平台下的不同设备的互联互通,蓝牙协议不止规定了核心规范(称作bluetoothcore),也为各种不同的应用场景,定义了各种application规范,这些应用层规范称作蓝牙profile。两个蓝牙设备之间每层使用相同的协议进行封装/解封装,最终在蓝牙app层只关心的是传输数据中的有效信息。本申请所描述的技术方案既可以适用在经典蓝牙协议栈(如图2所示的经典蓝牙协议栈)中,也可以适用在低功耗蓝牙协议栈(如图3所示的低功耗蓝牙协议栈)中,以上关于蓝牙协议栈的简单介绍是为了帮助本领域技术人员理解本申请的技术方案,有关蓝牙协议栈更具体的技术标准请参观相关的现有技术,例如是gis指定的蓝牙版本规范,或者也可以通过网址www.bluetooth.com获取,因此在此不再赘述。在后续更具体地实施例的说明中,为了描述简便和清晰,以电子设备为一个移动通信设备和智能蓝牙音频设备为一个智能蓝牙音箱建立的蓝牙网络连接进行说明。其中,当移动通信设备作为发送设备时,则智能蓝牙音箱为接收设备;反之,当智能蓝牙音箱作为发送设备时,则移动通信设备为接收设备;也就说,本申请中的移动通信设备(或电子设备)以及智能蓝牙音箱(或智能蓝牙音频设备)均可同时装载有后文实施例所记载的装载在发送设备中的通信装置和装载在接收设备中的通信装置,换言之,本申请所示意的实施例中,移动通信设备(或电子设备)以及智能蓝牙音箱(或智能蓝牙音频设备)均同时具有蓝牙收发功能。也可以一端(通常是移动通信设备端或电子设备端)装载有后文实施例所记载的装载在发送设备中的通信装置,另一端(通常是智能蓝牙音箱或智能蓝牙音频设备)装载有后文实施例所记载的装载在接收设备中的通信装置;换言之,一端作为主机,只有发送功能,另一端作为从机,只有接收功能。但这不是对本申请的限制,本领域技术人员应当清楚,在通过蓝牙技术建立的通信系统中,可以存在多个蓝牙设备,可以按照微微网(piconet)或分散网(scatternet)进行连接,进行灵活设置。其中,移动通信设备还可以是用其他具有蓝牙通信功能的电子设备进行等效替换,例如是:台式计算机、膝上型计算机、服务器、媒体播放器、家用电器、小型笔记本计算机/上网本、平板计算机、智能电话、测试设备、网络设备、机顶盒、个人数字助理pda、智能电话、玩具、控制器或其他设备;智能蓝牙音箱还可以是用其他智能蓝牙音频设备进行等效替换,例如是:是助听器、耳蜗植入物、振动设备、扬声器、耳机或其他设备。请参照图4,示出了一种移动通信设备(phone)400的结构示意图,包括蓝牙通信模块401、语音识别模块402、音频处理模块403、中央处理系统404和存储器405。其中,蓝牙通信模块401、语音识别模块402和存储器405均通过总线耦接至中央处理系统404,音频处理模块403通过总线同时耦接至中央处理系统404和蓝牙通信模块401。其中,语音识别模块402具有语音识别功能,有关语音识别技术请参考相关现有技术即可,这不是本申请所要解决的技术问题,下面仅做简单介绍,在此不再详细赘述。例如是当phone400处于来电呼叫状态时,用户想挂断该来电呼叫,用户将发出语音指令“挂断”或“挂机”等表意挂断该来电呼叫的语音时,将该语音送入语音识别模块402进行处理,提取这段语音的声学特征或音素,并在语音识别系统中进行搜索匹配,以判断这段语音中是否包含“挂断”该来电呼叫的语音指令,当确定该语音中包含“挂断”该来电呼叫的语音指令后送入中央处理系统404中,中央处理系统404再将该语音指令转换为控制指令,并通知呼叫应用和移动通信基带执行挂断该来电呼叫的操作。其中,蓝牙通信模块401具有双向收发功能,即同时装载有后文实施例所记载的装载在发送设备中的通信装置和装载在接收设备中的通信装置。请参照图5,示出了一种智能蓝牙音箱(ai)500的结构示意图,包括蓝牙通信模块501、音频处理模块502、麦克风(mic)503、数字模拟转换器(dac)504、换能器505、中央处理系统506和存储器507。其中,蓝牙通信模块501、存储器507通过总线耦接至中央处理系统506,音频处理模块502通过总线耦接至中央处理系统506和蓝牙通信模块501,dac504耦接至音频处理模块502,mic503和换能器505耦接至dac504。其中,蓝牙通信模块501具有双向收发功能,即同时装载有后文实施例所记载的装载在发送设备中的通信装置和装载在接收设备中的通信装置。ai500与phone400通过各自的蓝牙通信模块与对方建立蓝牙通信连接。应当说明的是,在本申请中,仅以移动通信设备(或电子设备)带有语音识别模块,具有语音识别功能进行说明,但并不排除智能蓝牙音箱(或智能蓝牙音频设备)也附带有语音识别模块,具有语音识别功能,只是在本申请示意性的实施例中未能示出。请参照图6,示出了本申请的数据协议单元(pdu)。包括以下字段:包头(head)位601,位于pdu的第一字段,共32位,占据4个字节(byte),例如是0xf1f2f3f4;设备类型位602,位于pdu的第二字段,共8位,占据1个byte;以及命令类型位603,位于pdu的第三字段,共8位,占据1个byte。紧随着命令类型位后的字段是pdu的有效载荷,共计4个字段,所述有效载荷包括:第一命令位604,位于pdu的第四字段,共8位,占据1个byte;第二命令位605,位于pdu的第五字段,共8位,占据1个byte;数据长度位606,位于pdu的第六字段,共16位,占据2个byte;数据位607,位于pdu的第七字段,最大可写入65535个字节,共计64个byte。循环冗余校验码(crc码)位608,位于pdu的第8字段即位于pdu的尾部,共16位,占据2个byte,校验范围为从包头位601至数据位607结束。pdu在app层中封装或解封装,pdu在传输时,采用小端格式,即低字节在前,高字节在后的传输方式。在一些实施例中,pdu中的第二个字段即设备类型位602被用于指示发送设备的设备类型,占据一个比特;第三个字段即命令类型位603被用于指示该pdu的有效载荷携带的是控制指令或音频数据(或者包含一些其他数据),占据一个比特。图7示出了图6所示的数据协议单元的格式。在一些实施例中,例如是将设备类型位602指示为:1-phone;0-ai;在本实施例中,即在设备类型位602用1指示发送该pdu的是移动通信设备,用0指示发送该pdu的是智能蓝牙音箱。在一些实施例中,当多个蓝牙通信设备处于蓝牙网络中时,例如是包括1个phone400和多个ai500,这些ai500只与phone400进行信息交互,而这些ai500之间相互不进行信息交互,某些ai500可能接收到的是其他ai500发送的pdu,当通过该位判断接收的不是phone400发送的数据,而是其他ai500的数据,则丢弃该pdu。在一些实施例中,例如是将命令类型位603指示为:1-音频数据;0-控制指令;该字段(命令类型位603)默认为1,用于指示该预发送的pdu的有效载荷携带的是音频数据,当该预发送的pdu的有效载荷携带的是控制指令时,则在封装该pdu时,将该字段反相置为0,以指示该预发送的pdu的有效载荷携带的是控制指令。请参照图8,示出了一种应用于发送设备中的蓝牙通信方法的步骤流程图。所述蓝牙通信方法包括:s800,将音频数据或控制指令写入数据协议单元的有效载荷中。当发送设备需要发送的是音频数据(或其他一些数据)时,则将音频数据写入pdu的数据字段部分;当发送设备需要发送的是控制指令时,则将控制指令写入pdu的第一命令位字段,若存在两个控制指令需要一起发送时,则将另一个控制指令写入pdu的第二命令位字段。其中,当发送设备为phone400时,控制命令可以是指示ai500进行相应操作的控制指令,例如是“控制ai接听或挂断呼叫来电”、“控制ai播放本地音乐”、“控制ai音量”等等。s801,若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位。当在pdu的有效载荷中写入的是音频数据,则保留pdu的命令类型位的默认值“1”。s802,若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令。当在pdu的有效载荷中写入的是控制指令时,则将pdu的命令类型位的默认值“1”反相为“0”,以指示该pdu中写入的是控制指令。s803,使用蓝牙网络连接将所述数据协议单元发送至接收设备。在一些实施例中,所述方法还包括:s804,在所述数据协议单元的尾部写入循环冗余校验码。在pdu的尾部写入循环冗余校验码crc,以使接收设备在接收到pdu时,利用该crc进行校验,以校验接收到的pdu的完整性。在一些实施例中,所述方法还包括:s805,设置所述数据协议单元中的设备类型位以通告所述接收设备所述发送设备是电子设备或智能蓝牙音频设备。若发送设备为phone400,则将pdu的设备类型位设置为“1”;若发送设备为ai500,则将pdu的设备类型位设置为“0”。在一些实施例中,所述方法还包括:s806,从源接收音频模拟信号。当发送设备为phone400时,欲发送的是音频数据,则此处的源就是内置于phone400中音频处理模块403,中央处理系统404从存储器405获取存储的原始的音频数据,并进行解码,音频处理模块403将从中央处理系统404获取到解码的音频数据转换成音频模拟信号,以进行后续处理,此时音频处理模块403就是源。同理,当发送设备为ai500时,欲发送的是音频数据,则此处的源就是内置于phone400中的音频处理模块502,音频处理模块502既可以直接从adc504获取从mic503输入的外部音频数据,也可以从中央处理系统506获取到经中央处理系统506从存储器597获取到的并解码的音频数据,然后转换成音频模拟信号,以进行后续处理,此时音频处理模块502就是源。s807,确定用于生成预发送至所述接收设备的数字输出要对所述音频模拟信号执行的音频处理的类型。s808,执行所述音频处理以由所述音频模拟信号生成所述数字输出,其中,所述数字输出用于被写入到所述数据协议单元的所述有效载荷中的音频数据。当接收到音频模拟信号后,需要对其进行一定预处理,例如是从外部输入的音频数据,需要进行降噪、滤波等以去除噪声;又例如是从内部存储器获取的音频数据,需要对其格式进行解码,所述格式可以是cd格式、wave(*.wav)、aiff、au、mp3、midi、wma、realaudio、vqf、oggvorbis、aac、ape等等;再例如是对音频数据进行压缩,以减少音频数据的总必特大小等其他各种音频处理操作。最后重新编码调制成数字输出,可以是包括g.711、g.722、g.722.1、和/或g.726编码、mp3编码、和/或aac-eld编码等。请参照图9,示出了另一种应用于接收设备中的蓝牙通信方法的步骤流程图。所述蓝牙通信方法包括:s900,在蓝牙协议栈的应用层中接收数据协议单元。在app层中接收上述任一实施例定义的pdu,并开始解析,执行后续步骤。在一些实施例中,在步骤s900后执行以下步骤:s9001,基于所述数据协议单元在尾部写入的循环冗余校验码,判断所述数据协议单元是否完整。通过pdu尾部的crc码,对该接收到的pdu从包头位向数据位进行校验,以校验该pdu的完整性。s9002,若确定所述数据协议单元pdu完整,则执行步骤s901。s9003,若确定所述数据协议单元pdu不完整,则丢弃该接收到的不完整的数据协议单元,并通知发送设备重新发送所述数据协议单元。s901,基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷是包括音频数据或控制指令。接收设备在解析pdu时,通过pdu的命令类型位,判断pdu的有效载荷携带的是音频数据还是控制指令。s902,若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理。若接收到的pdu的命令类型位是1,则确定该pdu的有效载荷携带的是音频数据,基于pdu的有效载荷携带的音频数据,执行音频处理。s903,若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。若接收到的pdu的命令类型位是0,则确定该pdu的有效载荷携带的是控制指令,基于pdu的有效载荷携带的控制指令执行操作处理。在一些实施例中,所述音频处理包括:s9021,由所述音频数据生成经处理的数字音频数据。在由音频数据生成经处理的数字音频数据时还可以执行以下步骤之一:s9022,对所述音频数据进行解压缩;s9023,对所述音频数据进行解码;s9024,将所述音频数据转换为所述接收设备能进行进一步处理的格式的音频数据。可对pdu的有效载荷中的音频数据进行解压缩、解码、转码、转换、放大、归一化、整形、衰减、重新配置、定制、和/或以其他方式进行处理。s9025,将所述经处理的数字音频数据生成为音频模拟信号。将经处理的数字音频数据,例如是cd格式、wave(*.wav)、aiff、au、mp3、midi、wma、realaudio、vqf、oggvorbis、aac、ape等等调制解调成音频模拟信号,以供后续的物理器件例如是换能器进行相应的处理。s9026,将所述音频模拟信号输出至换能器,利用所述换能器生成输出信号。环能器将上述音频模拟信号转换为能够被感知为声音的输出信号,例如是声波形式的声音信号,或者是骨传导形式的声音信号等。在一些实施例,所述操作处理包括:s9031,由所述控制指令生成应用程序可执行的控制指令和/或物理器件可执行的控制模拟信号。s9032,将所述控制指令发送给相应的所述应用程序以执行相应的操作;和/或,将所述控制模拟信号发送给相应的物理器件以执行相应的操作。当接收设备接收到发送设备发送的控制指令后,将根据控制指令的不同执行不同的处理,若是用于控制接收设备的软件执行操作,则由控制指令生成相应应用程序可以执行的控制指令,并发送给相应的应用程序执行相应的操作;若是用于控制接收设备的硬件执行操作,则由控制指令生成相应的物理器件可以执行的控制模拟信号,并将该控制模拟信号发送给相应的物理器件以执行相应的操作。例如是通过phone400指示ai500执行相应的操作,例如是“控制ai接听或挂断呼叫来电”、“控制ai播放本地音乐”、“控制ai音量增大/减小”等,其中当ai500接收到phone400发送的携带有“控制ai接听或挂断呼叫来电”或“控制ai播放本地音乐”控制指令的pdu时,将“控制ai接听或挂断呼叫来电”控制指令发送给呼叫应用执行挂断该来电呼叫的操作,将“控制ai播放本地音乐”控制指令发送给音频播放应用执行ai400本地音乐播放操作;当ai500接收到phone400发送的携带有“控制ai音量增大/减小”的pdu时,将“控制ai音量增大/减小”的数字指令转换为控制ai音量增大/减小的控制模拟信号,例如是增高/降低扬声器的输入电平,从而实现控制ai音量增大或减小。本身请还提供再一种蓝牙通信方法,应用于蓝牙通信系统中,所述方法包括:首先在发送设备中,执行以下步骤:s1000,将音频数据或控制指令写入数据协议单元的有效载荷中;s1001,若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元的标头中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;s1002,若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元中的命令类型位;s1003,使用蓝牙网络连接将所述数据协议单元发送至接收设备;然后在接收设备中,接收上述数据协议单元,并执行以下步骤:s1004,在蓝牙协议栈的应用层中接收数据协议单元;s1005,基于所述数据协议单元中的字段确定所述数据协议单元的有效载荷包括音频数据或控制指令;s1006,若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;s1007,若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。应用于蓝牙通信系统的中蓝牙通信方法,各部分与上述其他任一实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在发送设备中,在生成协议数据单元时,若写入协议数据单元的有效载荷是控制指令,则设置数据协议单元中的命令类型位,以指示该新生成的数据协议单元的有效载荷携带的是控制指令;若写入协议数据单元的有效载荷是音频数据,则放弃设置协议数据单元中的命令类型位,以指示该新生成的数据协议单元的有效载荷携带的是音频数据。在接收设备中,当接收到数据协议单元后,在应用层中解封装,并解析该数据协议单元中的字段,当解析至命令类型位时,当命令类型位被设置,则确定该数据协议单元的有效载荷携带的是控制指令,基于该控制指令执行相应的操作;当命令类型位未被设置,则确定该数据协议单元的有效载荷携带的是音频数据,基于该音频数据执行音频处理。发送设备通过在协议数据单元的命令类型位进行配置将传输的数据协议单元的有效载荷所携带的信息(音频数据或控制指令)进行指示,使得接收设备可以根据接收到协议数据单元后根据协议数据单元的命令类型位识别协议数据单元的有效载荷所携带的信息。使得通过蓝牙协议交互的双方,不仅能传输音频数据,还能传输特定的控制指令。将本申请所公开的技术方案应用至建立蓝牙连接的移动通信设备和智能蓝牙音频设备中,很明显,即使移动设备有来电呼叫,即移动通信设备和智能蓝牙音频设备之间将进行通话音频(音频数据)的传输,但是移动设备仍然可以通过本申请所述的数据协议单元将特定的控制指令写入协议数据单元的有效载荷中,同时设置该协议数据单元的命令类型位,当智能蓝牙音频设备在收到该协议数据单元后,在对该协议数据单元进行解封装时,通过该协议数据单元的中对应于命令类型位的字段所携带的信息,判断该协议数据单元的有效载荷携带的是音频数据或控制指令。也就说,移动通信设备和智能蓝牙音频设备在建立蓝牙通信连接后,即使移动通信设备处于来电呼叫状态,智能蓝牙音频设备也能识别移动设备是否仍在传输控制指令给智能蓝牙音频设备,并依据传输的控制指令执行相应的操作处理。请参阅图10,下面以移动通信设备(phone400)与智能蓝牙音箱(ai500)建立蓝牙通信连接,且phone400处于来电呼叫状态,用户通过语音指示挂断该来电呼叫为例进行说明。需要说明的是,这不是对本申请的限制,只是示例性的介绍本申请所请求保护的技术方案,以便于本领域技术人员理解。phone400与ai500已经建立了蓝牙通信连接,并且phone400处于来电呼叫状态(phone400处于被呼叫但未接听状态),phone400与ai500之间已经在开始交互phone400的该“来电呼叫”状态信息。用户发出语音“挂断电话”,ai500的mic503拾取到该语音“挂断电话”后,经dac504处理转换成音频模拟信号,送入音频处理模块502中进行处理,例如是降噪、滤波,并将该“挂断电话”的音频模拟信号转换成“挂断电话”的数字信号,接着送入中央处理系统506,将该“挂断电话”的数字信号转换成用于写入ai500预发送给phone400的第一pdu的有效载荷的数字输出。将该“挂断电话”的数字输出写入ai500预发送给phone400的第一pdu的有效载荷中的数据位中,即第一pdu的第七字段中,并相应设置第六字段,并放弃设置第一pdu的命令类型位即第三字段默认值为1,同时设置第一pdu的设备类型位即第二字段的值为0以指示发送设备为ai500,并在第一pdu的尾部写入crc码,以上生成第一pdu的过程均在ai500中的蓝牙协议栈的app层中完成。待第一pdu封装完成,ai500通过蓝牙通信模块501将第一pdu发送给phone400。phone400通过蓝牙通信模块401接收第一pdu,并对第一pdu进行解析,首先通过第一pdu的包头位携带的识别id,使得该第一pdu顺利到达phone400的app层。然后通过第一pdu的crc码开始从第一pdu的第一字段开始校验至第七字段,校验得知接收到的第一pdu是不完整的,说明有丢帧现象,则丢失该接收到的第一pdu,并且phone400通知ai500重新发送上一帧第一pdu,即重新发送该第一pdu;校验得知接收到的第一pdu是完整的,则开始解析第一pdu,解析至第二字段值为0,可以得知发送第一pdu的设备是ai500,解析至第三字段值为1,可以得知该第一pdu携带的是音频数据,则越过第四字段和第五字段,直接解析第六字段和第七字段,经解析,第一pdu的有效载荷虽然携带的是“挂断电话”的音频数据,但有表意“挂断电话”的信息。语音识别模块402将对该“挂断电话”的信息进行识别,识别出用户欲“挂断”这通来电呼叫(具体语音识别请参见前文有关phone400的介绍以及相关现有技术),则将该“挂断”信息送入中央处理系统404,生成“挂断”控制指令,并将该“挂断”控制指令写入phone400预发送给ai500的第二pdu的有效载荷中的第一命令位中,即写入第二pdu的第四字段内,并相应设置第二pdu的命令类型位即将第三字段反相为0,以指示第二pdu的有效载荷携带的是控制指令,同时设置第二pdu的设备类型位即第二字段的值为1以指示发送设备为phone400,并在第二pdu的尾部写入crc码,以上生成第一pdu(参见表1)的过程均在phone400中的蓝牙协议栈的app层中完成。待第二pdu封装完成,phone400通过蓝牙通信模块401将第一pdu发送给ai500。表1(有关字段详细表意请结合前文有关pdu的介绍以及后文字段解释。)ai500通过蓝牙通信模块501接收第二pdu,并对第二pdu进行解析,首先先通过第二pdu的包头位携带的识别id,使得该第一pdu顺利到达ai500的app层。然后通过第二pdu的crc码开始从第二pdu的第一字段开始校验至第七字段,校验得知接收到的第二pdu是不完整的,说明有丢帧现象,则丢失该接收到的第二pdu,并且ai500通知phone400重新发送上一帧第二pdu,即重新发送该第二pdu;校验得知接收到的第二pdu是完整的,则开始解析第二pdu,解析至第二字段值为1,可以得知发送第二pdu的设备是phone400,解析至第三字段值为0,可以得知该第二pdu(参见表2)携带的是控制指令,解析第四字段中携带的控制指令的具体含义,第五至第七字段忽略。表2解析得知第二pdu的有效载荷携带的是“挂断”控制指令,将该“挂断”控制指令送入接听应用中,执行“挂断”操作,同时phone400的通信基带响应该操作,挂断该来电呼叫。以上示例详细说明了ai500获取语音后发送给phone400,phone400,对其进行识别以确定是否包含语音指令,若包含语音指令,并通过蓝牙连接指示ai500执行相应操作的具体过程,不仅示例了音频数据(或其他一些数据)的传输,同时还是示例了控制指令的传输和识别,但并不排除还可以是其他数据或指令的传输,具体请参见后文有关其他类型pdu的介绍。本申请所提供的通信方法,在封装pdu时,其中各个字段中还可以包含以下信息(需要指出的是,基于上述示例,以下内容描述较为简略,本领域技术人员可以根据上述示例直接、毫无疑义的确认其含义,因此未赘述):设备类型:enumdevtype{具体在封装pdu时,还可以是以下各种pdu:1、ai语音数据传输(ai传输语音数据到phone),请参见表3。表3字段解释:设备类型ai:请参考前文的enumdevtype。命令类型sound:请参考前文的enumaicmdtype。2、phone的os类型通知ai,请参见表4。表4字段解释:设备类型phone:请参考前文的enumdevtype。命令类型ostype:请参考前文的enumphonecmdtype。命令1:enumostype{android=1,ios};3、phone通知ai设备接听、挂断手机,请参见表5。表5包头设备类型命令类型命令1命令2数据长度数据crcpheadphoneptelcmd10crc16字段解释:设备类型ai:请参考前文的enumdevtype。命令类型ptel:请参考前文的enumphonecmdtype。命令cmd1:请参考前文的enumtelcmd。4、ai设备发送/应答握手,请参见表6。表6字段解释:设备类型ai:请参考前文的enumdevtype。命令类型handshake:请参考前文的enumaicmdtype。命令cmd1:请参考前文的spphandshake。具体地:a.发起握手请求,等待phone应答;b.phone收到请求后应答;c.收到phone应答后,回应phone;经三次握手确认后,握手成功。5、phone发送/应答握手,请参见表7。表7字段解释:设备类型ai:请参考前文的enumdevtype。命令类型handshake:请参考前文的enumphonecmdtype。命令cmd1:请参考前文的spphandshake。具体地:a.发起握手请求,等待ai应答;b.ai收到请求后应答;c.收到ai应答后,回应ai;三次握手后,才算握手成功。6、phone导航app状态通知,请参见表8。表8包头设备类型命令类型命令1命令2数据长度数据crcpheadphonepnaviappstate0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型ostype:请参考前文的enumphonecmdtype。命令1:appstate:请参考前文的enumappstate。7、phone音乐app状态通知,请参见表9。表9包头设备类型命令类型命令1命令2数据长度数据crcpheadphonepmusicappstate忽略0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型pmusic:请参考前文的enumphonecmdtype。命令1:appstate:请参考前文的enumappstate。8、phone的fmapp状态通知,请参见表10。表10包头设备类型命令类型命令1命令2数据长度数据crcpheadphonepfmappstate0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型pfm:请参考前文的enumphonecmdtype。命令1:appstate:请参考前文的enumappstate。9、phone控制ai本地音乐,请参见表11。表11包头设备类型命令类型命令1命令2数据长度数据crcpheadphoneaimusicaicmd0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aimusic:请参考前文的enumphonecmdtype。命令类型aicmd:请参考前文的enumaicmd。10、phone控制ai的fm,请参见表12。表12包头设备类型命令类型命令1命令2数据长度数据crcpheadphoneaifmaicmd0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aimusic:请参考前文的enumphonecmdtype。命令类型aicmd:请参考前文的enumaicmd。11、phone控制aimic,请参见表13。表13包头设备类型命令类型命令1命令2数据长度数据crcpheadphoneaimicaicmd0无crc16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aimic:请参考前文的enumphonecmdtype。命令类型aicmd:请参考前文的enumaicmd。12、phone设置ai参数,请参见表14。表14字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aicfg:请参考前文的enumphonecmdtype。命令类型aicfg:请参考前文的enumaicfg。enumaicfg{set_cfg=1,get_cfg,};enumcfgtype{保留}。13、phone获取ai参数,请参见表15。表15字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aicfg:请参考前文的enumphonecmdtype。命令类型aicfg:请参考前文的enumaicfg。enumaicfg{set_cfg=1,get_cfg,};enumcfgtype{保留}。14、aifirmware升级,请参见表16。表16字段解释:设备类型phone:请参考前文的enumdevtype。命令类型aiupdate:请参考前文的enumphonecmdtype。pkgno-high:分包序号高字节。pkgno_low:分包序号高低节。根据以上pdu可以实现phone控制ai,或者ai控制phone实现各种不同的功能,以及相互之间进行数据交互,本领域技术人员可以根据上述“挂断”来电呼叫的示例和上述pdu中的各项指令或数据清楚地得出其具体功能,在此不再赘述。应当指出是,上述示例pdu既不是对本申请的限制,也不是对本申请的pdu可携带的控制指令和数据的穷尽性列举,本领域技术人员可以直接、毫无疑义地确认还能是其他更具体的指令或数据,在此不再详细列举。本申请提供一种蓝牙通信装置,装载于接收设备中,所述装置被配置为:在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元的标头中的字段确定所述数据协议单元的有效载荷是包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。本申请的还提供另一种蓝牙通信装置,装载于发送设备中,所述装置被配置为:将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元的标头中的命令类型位;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元的标头中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;使用蓝牙网络连接将所述数据协议单元发送至接收设备。本申请提供一种蓝牙通信系统,包括发送设备和接收设备;所述发送设备被配置为:将音频数据或控制指令写入数据协议单元的有效载荷中;若在所述有效载荷中写入的是音频数据,则放弃设置所述数据协议单元的标头中的命令类型位;若在所述有效载荷中写入的是控制指令,则设置所述数据协议单元的标头中的命令类型位以指示所述数据协议单元的所述有效载荷为控制指令;使用蓝牙网络连接将所述数据协议单元发送至接收设备;所述接收设备被配置为:在蓝牙协议栈的应用层中接收数据协议单元;基于所述数据协议单元的标头中的字段确定所述数据协议单元的有效载荷包括音频数据或控制指令;若确定所述数据协议单元的所述有效载荷包括音频数据,基于所述有效载荷的音频数据执行音频处理;若确定所述数据协议单元的所述有效载荷包括控制指令,基于所述有效载荷的控制指令执行操作处理。对于装置和系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。以上对本申请所提供的一种蓝牙通信方法、装置和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1