CN106571894A - 蓝牙信息发送及接收方法 - Google Patents
蓝牙信息发送及接收方法 Download PDFInfo
- Publication number
- CN106571894A CN106571894A CN201610989579.8A CN201610989579A CN106571894A CN 106571894 A CN106571894 A CN 106571894A CN 201610989579 A CN201610989579 A CN 201610989579A CN 106571894 A CN106571894 A CN 106571894A
- Authority
- CN
- China
- Prior art keywords
- data
- bluetooth
- packet
- bag
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006854 communication Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 238000012790 confirmation Methods 0.000 claims description 12
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 230000006641 stabilisation Effects 0.000 claims description 5
- 238000011105 stabilization Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 26
- 238000004806 packaging method and process Methods 0.000 abstract 2
- 230000008569 process Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 241000196435 Prunus domestica subsp. insititia Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/40—Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
- H04B5/48—Transceivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种蓝牙信息发送及接收方法,针对现有技术的蓝牙数据传输安全性无法保障以及效率低等缺陷,本发明蓝牙信息发送方法,用于以SPP协议通信的蓝牙主机端,包括以下步骤:S1:获取数据并以先进先出机制缓存待发送数据;S2:根据待发送数据长度,对缓冲的待发送数据进行分包或组包操作,得到至少一个数据包;S3:通过已建立的蓝牙链路发送所述数据包。蓝牙信息接收方法,用于以SPP协议通信的蓝牙从机端,包括以下步骤:S4:通过已建立的蓝牙链路接收所述数据包;S5:读取并以先进先出机制缓存所述数据包内的数据;S6:将缓存得到的所述数据分段发送到存储器。
Description
技术领域
本发明涉及无线通信领域,更具体地说,涉及一种蓝牙信息发送及接收方法。
背景技术
蓝牙技术是一种无线数据与数字通信的开放性规范。蓝牙芯片因其具有体积小、功耗低的特点,能够方便的地集成到大多数数字设备中实现一台设备与多台设备的相互连接,使得各种信息化设备能实现资源共享。蓝牙技术可以用于移动设备、个人数据处理、耳机、打印设备、数码相机、输入设备以及无线网络接入等多种领域。
随着蓝牙技术的应用领域日益扩大,支持蓝牙连接的蓝牙设备种类也日益增多。蓝牙技术中的SPP透传模式适合于各种近距离无线数据传输,可以实现点到点或者点到多点的全透明数据传输。SPP透传模式的特点是在数据传输过程中不对数据做任何处理;由于蓝牙传输数据的信号受工作环境的影响较大,尤其是在通讯范围的临界点处,时常发生传输中断、数据误码和丢码等情况,因此蓝牙技术中的SPP透传模式无法保证数据传输的安全性;采用SPP透传模式可以实现一台蓝牙设备与多台蓝牙设备连接的组网系统,由于同一时间内只有一个通信信道提供一对一的数据传输,信道切换也存在延时,因此组网内的蓝牙数据传输的效率和实时性将大大受到影响。
发明内容
本发明要解决的技术问题在于,针对现有技术的蓝牙数据传输安全性无法保障以及效率低等缺陷,提供一种蓝牙信息发送及接收方法。
本发明解决其技术问题所采用的技术方案是:一种蓝牙信息发送方法,用于以SPP协议通信的蓝牙主机端,包括以下步骤:
S1:获取数据并以先进先出机制缓存待发送数据;
S2:根据待发送数据长度,对缓冲的待发送数据进行分包或组包操作,得到至少一个数据包;
S3:通过已建立的蓝牙链路发送所述数据包。
优选地,所述步骤S1中的待发送数据缓存在主机FIFO中;当所述主机FIFO已满时,停止获取数据,防止主机FIFO溢出。
优选地,所述步骤S2包括:
S21:判断缓存的每一个数据的长度是否大于分包阈值,若是则执行步骤S22,否则执行步骤S23;
S22:将数据长度大于或等于分包阈值的数据进行分包操作,得到至少两个长度小于分包阈值的数据包;
S23:将多个数据长度小于分包阈值的数据进行组包操作,得到一个长度小于分包阈值的数据包。
优选地,所述步骤S3包括:
S31:通过蓝牙链路接收从机端发送的询问包;
S32:判断是否需要发送数据,若是则发送相应数据包,否则发送空数据包。
本发明还提供一种蓝牙信息接收方法,用于以SPP协议与多个上述蓝牙主机端通信的从机端,包括以下步骤:
S4:通过已建立的蓝牙链路接收所述数据包;
S5:读取并以先进先出机制缓存所述数据包内的数据;
S6:将缓存得到的所述数据分段发送到存储器。
优选地,所述步骤S4包括:
S41:通过蓝牙链路向主机端发送询问包;
S42:接收主机端发送的数据包;
S43:向主机端发送确认包。
优选地,所述步骤S4还包括:S40:以轮询方式通过不同信道与所述多个蓝牙主机端通信。
优选地,所述步骤S42还包括:
S421:判断是否接收到数据包,若是则执行步骤S422,否则执行步骤S423;
S422:切换信道,轮询另一个蓝牙主机端,重复执行步骤S41~S43;
S423:通过第一定时器判断等待接收数据包的时间是否超过等待阈值,若是则执行步骤S425,否则执行步骤S424;
S424:对接收得到的所述数据包进行校验以实现通信的安全性,校验通过则执行所述步骤S5,否则执行其他相应命令;
S425:向所述主机端,重新发送所述询问包,重复执行步骤S42~S43。
若向一个主机端重新发送所述询问包的次数达到重发次数阈值,则结束此次数据接收,不再发送该询问包。
优选地,若确认包丢失,则在下次与该主机端的通信过程中进行补确认。
优选地,所述步骤S40还包括:采用第二定时器实现轮询过程中的信道切换延时,以保证信号稳定;当执行完毕所述步骤S5后,从机端切换信道,在切换信道延时过程中,执行所述步骤S6。
本发明的蓝牙信息发送方法中,将待发送的数据以先进先出机制进行缓存,根据待发送数据的长度,对缓冲的待发送数据进行分包或组包操作得到至少一个数据包,并通过蓝牙链路协议进行交互发送。避免了SPP透传模式中不对传输数据做任何处理导致的数据传输中断、误码和丢码等安全性无法保障的情况。
本发明的蓝牙信息接收方法中,通过蓝牙链路协议进行交互接收到数据包后读取接收的数据包中的目标数据,并以先进先出机制缓存数据包内的数据,将缓存得到的数据分段发送至存储器,通过调整数据分段的长度可防止从机FIFO的溢出,保证了数据接收的完整性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明蓝牙信息发送方法的流程图;
图2是组包示意图;
图3是分包示意图;
图4是本发明蓝牙信息接收方法的流程图;
图5是主机端与从机端信息交互示意图;
图6是从机端以中断函数接收数据包的流程图;
图7是从机端多个主机端的轮询通信的示意图;
图8是从机端信道切换及写存储器流程图;
图9是数据组包、分包与分段示意图;
图10是对确认包进行补确认的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
如图1所示,本发明的蓝牙信息发送方法,用于以SPP协议通信的蓝牙主机端,包括以下步骤:
S1:获取数据并以先进先出机制缓存待发送数据;
S2:根据待发送数据长度,对缓冲的待发送数据进行分包或组包操作,得到至少一个数据包;
S3:通过已建立的蓝牙链路发送数据包。
主机端为设置成SPP主模式的设备,其获取数据的方式可以为通过接口接收外部设备发送的数据,也可以是通过主机端内部的传感器采集数据。如图9所示,主机端将获取到的数据缓存在内部FIFO中。进一步地,当主机FIFO已满时,停止获取数据,以防止主机FIFO溢出。
进一步地,步骤S2包括:
S21:判断缓存的每一个数据的长度是否大于分包阈值,若是则执行步骤S22,否则执行步骤S23;
S22:将数据长度大于或等于分包阈值的数据进行分包操作,得到至少两个长度小于分包阈值的数据包;
S23:将多个数据长度小于分包阈值的数据进行组包操作,得到一个长度小于分包阈值的数据包。
具体地,如图2所示,如果多个数据的长度都比较小,单独发送这些数据将造成极大浪费,本发明将上述短数据进行组包操作得到一个数据包,该数据包格式为:数据的长度(Length)+数据包标识(Flag)+ID序号+多个目标数据(Data)+校验信息(CRC)+包结束标志(EOF)。
如图3所示,如果一个数据的长度很长,以现有信息传输方法发送,如果在通讯范围的临界点处,极易发生传输中断、数据误码和丢码的情况。本发明将一个长数据进行分包操作得到至少两个长度小于分包阈值的数据包。每一个数据包格式为:数据的长度(Length)+数据包标识(Flag)+ID序号+目标数据(Data)+校验信息(CRC)+包结束标志(EOF)。
具体地,由于蓝牙模块的限制,包的长度不能大于150byte。本发明的分包阈值为150byte,如果多个短数据的长度之和小于150byte,则将多个短数据组包成一个接近150byte的数据包,如果一个长数据大于150byte,则将该数据分包得到至少两个小于150byte的分包。可以理解的,可根据实际需要对分包阈值进行调整,不限于本发明的150byte。
下表为数据包标识(Flag)的取值表,从机端根据该Flag取值可准确判断该数据包的类型。
Flag取值 | 含义 |
0x1B | 此包为DATA_1B数据包(数据结束分包) |
0xB1 | 此包为DATA_B1数据包(分包) |
0xBB | 此包为DATA_BB数据包(组包) |
其他 | 保留/无效 |
进一步地,步骤S3包括:
S31:通过蓝牙链路接收从机端发送的询问包。
S32:判断是否需要发送数据,若是则发送相应数据包,否则发送空数据包。
当从机端与主机端需要进行信息交互时,从机端向主机端发送询问包ASK,主机端接收询问包ASK后,判断是否有需要发送的数据,若是,则发送带有目标数据的数据包,否则发送不含目标数据的空数据包。空数据包格式为:数据的长度(Length)+数据包标识(Flag)+ID序号+包结束标志(EOF),其Flag值设为0B以便从机端识别其为空数据包。
针对上述蓝牙信息发送方法,本发明还提供一种蓝牙信息接收方法,用于以SPP协议与多个蓝牙主机端通信的从机端,如图4,包括以下步骤:
S4:通过已建立的蓝牙链路接收数据包;
S5:读取并以先进先出机制缓存数据包内的数据;
S6:将缓存得到的数据分段发送到存储器。
进一步地,如图5所示,步骤S4包括:
S41:通过蓝牙链路向主机端发送询问包;
S42:接收主机端发送的数据包;
S43:向主机端发送确认包。
从机端为设置成SPP从模式的设备。当主机端与从机端建立蓝牙连接后,通过数据包的方式进行数据传输。为了确保每个数据包的正确传输,提高数据的安全性,加入若干个“非数据包”进行协调,如询问包ASK、确认包ACK等等。从机端与主机端通过“握手过程”进行数据交互,具体如下:
1、从机端向主机端发送询问包ASK,握手过程开始。询问包格式为:询问包标识(Flag)+ID序号+包结束标志(EOF),其Flag值设为AA以便从机端识别其为询问包,ID序号值为期望收到的数据包ID序号;;
2、主机端接收到询问包ASK后,发送数据包DATA。
3、从机端接收到数据包DATA后,回发确认包ACK;确认包格式为:确认包标识(Flag)+ID序号+包结束标志(EOF),其Flag值设为CC以便从机端识别其为确认包,ID序号值为成功收到的数据包ID序号。
4、主机端收到确认包ACK后,本次握手过程结束。
进一步地,当从机端与多个主机端之间建立有蓝牙连接关系时,步骤S4还包括:S40:以轮询方式通过不同信道与多个蓝牙主机端通信。具体地,从机端等待与一个主机端的数据传输完毕后,方可轮询下一个主机端,以确保每一个数据传输过程的完整性。
如图7所示的实施例中,四台主机端与一台从机端进行数据交互,具体过程如下:
1、从机端首先和第一主机端进行数据交互,从机端发送询问包ASK,该主机端判断无数据传输,发送一个空数据包DATA_0B,从机端收到后,不需其他操作,立即切换信道并开始轮询第二主机端,避免等待接收超时,提高轮询效率;
2、从机端切换信道轮询到第二主机端,该主机端需要传输长数据,因此主机端将数据分包,通过多次握手过程将数据发往从机端,从机端正确接收所有数据后,切换信道并开始轮询第三主机端;
3、从机端切换信道轮询到第三主机端,该主机端需要传输短数据,因此主机端通过一个握手过程将数据发往从机端,从机端正确接收数据后,切换信道并开始轮询第四设备;
4、从机端切换信道轮询到第四主机端,根据传输数据内容进行通信,通信完毕后,切换通道并重新开始轮询第一主机端。
进一步地,从机端通过串口中断任务完成数据的接收,当从机端蓝牙中有数据传输,接收中断产生,继而接收数据包。如图6所示,首先判断是否有中断标识,如果是,则以byte(字节)为单位获取数据包并缓存到buffer(缓冲区)中,不是则跳出该判断流程。接收到完整的数据流之后,判断是否为数据包,如果是且校验成功,则执行步骤S5-S6,即数据的读取和缓存。如果不是,则直接判断是否为其它命令,包括判断是否有新主机端与从机端的连接请求命令,若是,则校验后增加一个主机的连接,若不是,继续判断是否断开连接命令,如果是断开连接命令,则先移除一个连接,再对其他命令和其他数据进行识别处理。
进一步地,步骤S42还包括:
S421:判断是否接收到数据包,若是则执行步骤S422,否则执行步骤S423;
S422:切换信道,轮询另一个蓝牙主机端,重复执行步骤S41~S43;
S423:通过第一定时器判断等待接收数据包的时间是否超过等待阈值,若是则执行步骤S425,否则执行步骤S424;
S424:对接收得到的数据包进行校验以实现通信的安全性,校验通过则执行步骤S5,否则执行其他相应命令;
S425:向主机端,重新发送询问包,重复执行步骤S42~S43。
结合图6和图8中的数据接收部分流程图,从机端发送询问包ASK后,开启第一定时器,其频率设为1KHz,设定等待时间阈值为120ms,对应的第一定时器的计数值为120。判断接收到数据包,则对切换信道标识进行标记并关闭第一定时器,以便轮询下一主机端。如果没有接受到数据则继续判断等待时间是否超过120ms,如果超过,则重新发送询问包ASK,第一定时器清零,重新开始计数,直到从机端接收到数据包。接收到数据包后,在写入从机FIFO之前需要进行安全性校验以实现通信的安全性,校验通过则将数据缓存在从机FIFO中,否则执行其它相应命令。该校验具体包括:包头/包尾识别、包长度判断、CRC校验以及ID序号匹配等。可以理解的,等待时间阈值可根据实际需要进行设置,不限于本发明的120ms。
进一步地,若向一个主机端重新发送询问包的次数达到重发次数阈值,则结束此次数据接收,不再发送该询问包。
进一步地,若确认包丢失,则在下次与该主机端的通信过程中进行补确认。
综上,针对握手过程中,包丢失处理方式包括:
当询问包ASK丢失,导致从机端等待数据包超时,重新发送询问包ASK并记录重新发送的次数,如重新发送次数达到重发次数阈值,则本次握手过程结束;可以理解的,重发次数可根据实际需要进行设置,例如3次、5次等。可以理解的,如图8所示,当开始一次新的握手过程时,应当将已经记录的重发次数清零。
当数据包DATA丢失,导致从机端等待数据包超时,下次握手过程重传此数据包;
当确认包ACK丢失:本次握手过程结束,下次握手过程进行补充确认,如图10所示,下次握手过程的ASK进行补充确认为,当主机端丢失ID为N的确认包ACK,如果主机端接收到ID为N+1的确认包ACK,则认定ID为N的确认包ACK已成功接收。可以理解的,N+1指代下一次通信过程的ID,不应简单得理解为是数值加一。
进一步地,步骤S40还包括:采用第二定时器实现轮询过程中的信道切换延时,以保证信号稳定。
如图8所示的信道切换任务部分的流程图,如果连接主机数等于0,即无主机连接时,从机端判断从机FIFO中是否有数据,若有则执行步骤S6,将数据分段发送至存储器。如果连接主机数等1,信道切换标识不会被标记,不用执行信道切换。如果连接主机数大于1,判断信道切换标识是否被标记。如果被标记则先切换信道,并开启第二定时器,其频率设为1KHz,稳定时间阈值设为50ms,第二定时器对应计数为50。等待第二定时器计数到50时,信号处于稳定状态,执行握手过程进行数据交互。可以理解的,稳定时间阈值可根据实际需要进行设置,不限于本发明的50ms。
步骤S5具体包括:读取从一个主机端接收到的数据包中的目标数据,如果,一个数据包中包含多个短数据,则将该多个短数据分别缓存至从机FIFO中。如果接收到由一个长数据分包得到多个数据包,则读取每一个数据包里的目标数据,并各目标数据再组合成一个长数据缓存至从机FIFO中。
优选地,当执行完毕步骤S5后,从机端切换信道,在切换信道延时过程中,执行步骤S6,以提高数据传输效率,减少不必要的等待时间。如图9所示,从机端将缓存在FIFO中的每个数据分成多个等长的数据段发送至存储器中,可以理解的,存储器包括个人电脑,SD卡,U盘等。发送过程中(即延时期间),判断已经发送的数据段数是否等于已分段的总个数,如果等于,则继续判断FIFO中是否还有数据,如果有,则将当前分段发送计数清零并发送FIFO中下一个数据。如果不等于,则再次发送一个数据段,将已发送数据段计数值加1,继续判断已经发送的数据段数是否等于已分段的总个数,如果等于则回到信道切换任务,与相应主机端进行数据交互。如果不等于则先将FIFO读指针偏移到下一个数据,再返回信道切换任务,与相应主机端进行数据交互。
如图9所示,主机端与从机端均通过先进先出机制缓存数据,当主机FIFO已满时,停止主机端的数据获取,防止主机FIFO移除,保证了数据的安全性。
可以理解的,在从机端将数据分段发送至存储器中时,其分段的每个数据段长度越大,其发送速度越快,即图9所示第三速度。相应地,由于每个数据越长,从机接收时间越长,即图9所示第二速度越慢。主机端获取数据的速度,即第一速度应根据实际应用场景控制,而第二速度和第三速度受数据长度影响较大,当单个数据越长,从机FIFO越容易溢出。因此,从机端具有识别FIFO使用量的功能,根据FIFO的使用量调节发送存储器的分段数据的长度,以防止FIFO溢出。
本发明的蓝牙信息发送方法中,将待发送的数据以先进先出机制进行缓存,根据待发送数据的长度,对缓冲的待发送数据进行分包或组包操作得到至少一个数据包,并通过蓝牙链路协议进行交互发送。避免了SPP透传模式中不对传输数据做任何处理导致的数据传输中断、误码和丢码等安全性无法保障的情况。
本发明的蓝牙信息接收方法中,通过蓝牙链路协议进行交互接收到数据包后读取接收的数据包中的目标数据,并以先进先出机制缓存数据包内的数据,将缓存得到的数据分段发送至存储器,通过调整数据分段的长度可防止从机FIFO的溢出,保证了数据接收的完整性。
可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。
Claims (10)
1.一种蓝牙信息发送方法,用于以SPP协议通信的蓝牙主机端,其特征在于,包括以下步骤:
S1:获取数据并以先进先出机制缓存待发送数据;
S2:根据待发送数据长度,对缓冲的待发送数据进行分包或组包操作,得到至少一个数据包;
S3:通过已建立的蓝牙链路发送所述数据包。
2.根据权利要求1所述的蓝牙信息发送方法,其特征在于,所述步骤S1中的待发送数据缓存在主机FIFO中;当所述主机FIFO已满时,停止获取数据,防止主机FIFO溢出。
3.根据权利要求1所述的蓝牙信息发送方法,其特征在于,所述步骤S2包括:
S21:判断缓存的每一个数据的长度是否大于分包阈值,若是则执行步骤S22,否则执行步骤S23;
S22:将数据长度大于或等于分包阈值的数据进行分包操作,得到至少两个长度小于分包阈值的数据包;
S23:将多个数据长度小于分包阈值的数据进行组包操作,得到一个长度小于分包阈值的数据包。
4.根据权利要求1所述的蓝牙信息发送方法,其特征在于,所述步骤S3包括:
S31:通过蓝牙链路接收从机端发送的询问包;
S32:判断是否需要发送数据,若是则发送相应数据包,否则发送空数据包。
5.一种蓝牙信息接收方法,用于以SPP协议与多个如权利要求1所述的蓝牙主机端通信的从机端,其特征在于,包括以下步骤:
S4:通过已建立的蓝牙链路接收所述数据包;
S5:读取并以先进先出机制缓存所述数据包内的数据;
S6:将缓存得到的所述数据分段发送到存储器。
6.根据权利要求5所述的蓝牙信息接收方法,其特征在于,所述步骤S4包括:
S41:通过蓝牙链路向主机端发送询问包;
S42:接收主机端发送的数据包;
S43:向主机端发送确认包。
7.根据权利要求6所述的蓝牙信息接收方法,其特征在于,所述步骤S4还包括:S40:以轮询方式通过不同信道与所述多个蓝牙主机端通信。
8.根据权利要求7所述的蓝牙信息接收方法,其特征在于,所述步骤S42还包括:
S421:判断是否接收到数据包,若是则执行步骤S422,否则执行步骤S423;
S422:切换信道,轮询另一个蓝牙主机端,重复执行步骤S41~S43;
S423:通过第一定时器判断等待接收数据包的时间是否超过等待阈值,若是则执行步骤S425,否则执行步骤S424;
S424:对接收得到的所述数据包进行校验以实现通信的安全性,校验通过则执行所述步骤S5,否则执行其他相应命令;
S425:向所述主机端,重新发送所述询问包,重复执行步骤S42~S43;
若向一个主机端重新发送所述询问包的次数达到重发次数阈值,则结束此次数据接收,不再发送该询问包。
9.根据权利要求8所述的蓝牙信息接收方法,其特征在于,若确认包丢失,则在下次与该主机端的通信过程中进行补确认。
10.根据权利要求8所述的蓝牙信息接收方法,其特征在于,所述步骤S40还包括:采用第二定时器实现轮询过程中的信道切换延时,以保证信号稳定;当执行完毕所述步骤S5后,从机端切换信道,在切换信道延时过程中,执行所述步骤S6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610989579.8A CN106571894A (zh) | 2016-11-10 | 2016-11-10 | 蓝牙信息发送及接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610989579.8A CN106571894A (zh) | 2016-11-10 | 2016-11-10 | 蓝牙信息发送及接收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106571894A true CN106571894A (zh) | 2017-04-19 |
Family
ID=58541118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610989579.8A Pending CN106571894A (zh) | 2016-11-10 | 2016-11-10 | 蓝牙信息发送及接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106571894A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404340A (zh) * | 2017-08-29 | 2017-11-28 | 广东欧珀移动通信有限公司 | 蓝牙音频数据的传输方法、装置、终端和存储介质 |
CN107734002A (zh) * | 2017-09-25 | 2018-02-23 | 西安法士特汽车传动有限公司 | 一种蓝牙数据的接收装置及其方法 |
CN108833300A (zh) * | 2018-06-21 | 2018-11-16 | 厦门大学 | 一种基于单天线的大数据包远距离传输方法 |
CN109379730A (zh) * | 2018-10-11 | 2019-02-22 | 国网四川省电力公司电力科学研究院 | 一种蓝牙数据交互方法及蓝牙设备 |
CN109729542A (zh) * | 2019-02-01 | 2019-05-07 | 广州普正生物科技有限公司 | 一种一对多抗干扰无线通信方法 |
CN110139260A (zh) * | 2019-05-21 | 2019-08-16 | 深圳云里物里科技股份有限公司 | 一种蓝牙通信的数据处理方法及相关装置 |
CN110572805A (zh) * | 2019-09-10 | 2019-12-13 | 中化信息技术有限公司 | 数据传输方法、装置、电子设备和计算机可读介质 |
CN110618396A (zh) * | 2019-09-20 | 2019-12-27 | 国网浙江省电力有限公司电力科学研究院 | 一种基于蓝牙传输的电表检定方法 |
CN110784860A (zh) * | 2019-11-06 | 2020-02-11 | 北航(四川)西部国际创新港科技有限公司 | 基于ble的ads-b数据传输方法 |
CN111669733A (zh) * | 2019-03-06 | 2020-09-15 | 乐鑫信息科技(上海)股份有限公司 | 在蓝牙Mesh网络中的节点处发送数据包的方法 |
CN112822664A (zh) * | 2019-11-16 | 2021-05-18 | 杭州九阳小家电有限公司 | 一种智能家居环境下的数据通信方法和装置 |
CN113141201A (zh) * | 2017-11-09 | 2021-07-20 | 原睿科技股份有限公司 | 使用于无线蓝牙装置的方法 |
CN113207175A (zh) * | 2021-03-25 | 2021-08-03 | 厦门才茂通信科技有限公司 | 一种通信过程中数据包智能传输方法 |
CN113242546A (zh) * | 2021-06-25 | 2021-08-10 | 南京中感微电子有限公司 | 音频转发方法、设备和存储介质 |
CN113271641A (zh) * | 2021-05-18 | 2021-08-17 | 南京大学 | 一种基于蓝牙散射网络通信的降低丢包率方法 |
CN114124150A (zh) * | 2021-12-13 | 2022-03-01 | 上海布鲁可积木科技有限公司 | 基于积木遥控的跳频通信方法、系统、介质以及积木玩具 |
CN114138700A (zh) * | 2021-12-03 | 2022-03-04 | 西安广和通无线软件有限公司 | 一种串口数据传输的流控方法、装置、设备及存储介质 |
CN114465966A (zh) * | 2022-01-23 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN114710347A (zh) * | 2022-03-30 | 2022-07-05 | 广州万协通信息技术有限公司 | 一种视频帧数据的多模式数据处理系统及方法 |
CN114745050A (zh) * | 2022-03-08 | 2022-07-12 | 浙江威星智能仪表股份有限公司 | 一种基于远红外数据传输系统的长数据处理方法 |
US11570605B2 (en) | 2017-11-09 | 2023-01-31 | Airoha Technology Corp. | Bluetooth communication system, electronic device and Bluetooth chip having low power consumption |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546560A (zh) * | 2010-12-29 | 2012-07-04 | 中国科学院微电子研究所 | 无损数据采集系统 |
CN103546201A (zh) * | 2013-09-23 | 2014-01-29 | 天津安普德科技有限公司 | 一种基于蓝牙技术的自适应保密数据传输系统 |
CN105657646A (zh) * | 2016-01-29 | 2016-06-08 | 南京悦控智能科技有限公司 | 一种基于蓝牙4.0的设备间大数据通信方法 |
-
2016
- 2016-11-10 CN CN201610989579.8A patent/CN106571894A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546560A (zh) * | 2010-12-29 | 2012-07-04 | 中国科学院微电子研究所 | 无损数据采集系统 |
CN103546201A (zh) * | 2013-09-23 | 2014-01-29 | 天津安普德科技有限公司 | 一种基于蓝牙技术的自适应保密数据传输系统 |
CN105657646A (zh) * | 2016-01-29 | 2016-06-08 | 南京悦控智能科技有限公司 | 一种基于蓝牙4.0的设备间大数据通信方法 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404340A (zh) * | 2017-08-29 | 2017-11-28 | 广东欧珀移动通信有限公司 | 蓝牙音频数据的传输方法、装置、终端和存储介质 |
CN107734002A (zh) * | 2017-09-25 | 2018-02-23 | 西安法士特汽车传动有限公司 | 一种蓝牙数据的接收装置及其方法 |
CN107734002B (zh) * | 2017-09-25 | 2020-07-17 | 西安法士特汽车传动有限公司 | 一种蓝牙数据的接收装置及其方法 |
US11330416B2 (en) | 2017-11-09 | 2022-05-10 | Audiowise Technology Inc. | Wireless bluetooth communication mechanism capable of effectively reducing number of audio packet retransmission |
US11570605B2 (en) | 2017-11-09 | 2023-01-31 | Airoha Technology Corp. | Bluetooth communication system, electronic device and Bluetooth chip having low power consumption |
CN113141201A (zh) * | 2017-11-09 | 2021-07-20 | 原睿科技股份有限公司 | 使用于无线蓝牙装置的方法 |
CN113141201B (zh) * | 2017-11-09 | 2021-11-16 | 原睿科技股份有限公司 | 使用于无线蓝牙装置的方法 |
CN108833300B (zh) * | 2018-06-21 | 2020-11-27 | 厦门大学 | 一种基于单天线的大数据包远距离传输方法 |
CN108833300A (zh) * | 2018-06-21 | 2018-11-16 | 厦门大学 | 一种基于单天线的大数据包远距离传输方法 |
CN109379730A (zh) * | 2018-10-11 | 2019-02-22 | 国网四川省电力公司电力科学研究院 | 一种蓝牙数据交互方法及蓝牙设备 |
CN109729542A (zh) * | 2019-02-01 | 2019-05-07 | 广州普正生物科技有限公司 | 一种一对多抗干扰无线通信方法 |
CN111669733A (zh) * | 2019-03-06 | 2020-09-15 | 乐鑫信息科技(上海)股份有限公司 | 在蓝牙Mesh网络中的节点处发送数据包的方法 |
CN110139260A (zh) * | 2019-05-21 | 2019-08-16 | 深圳云里物里科技股份有限公司 | 一种蓝牙通信的数据处理方法及相关装置 |
CN110572805A (zh) * | 2019-09-10 | 2019-12-13 | 中化信息技术有限公司 | 数据传输方法、装置、电子设备和计算机可读介质 |
CN110618396B (zh) * | 2019-09-20 | 2022-01-21 | 国网浙江省电力有限公司营销服务中心 | 一种基于蓝牙传输的电表检定方法 |
CN110618396A (zh) * | 2019-09-20 | 2019-12-27 | 国网浙江省电力有限公司电力科学研究院 | 一种基于蓝牙传输的电表检定方法 |
CN110784860A (zh) * | 2019-11-06 | 2020-02-11 | 北航(四川)西部国际创新港科技有限公司 | 基于ble的ads-b数据传输方法 |
CN112822664A (zh) * | 2019-11-16 | 2021-05-18 | 杭州九阳小家电有限公司 | 一种智能家居环境下的数据通信方法和装置 |
CN113207175A (zh) * | 2021-03-25 | 2021-08-03 | 厦门才茂通信科技有限公司 | 一种通信过程中数据包智能传输方法 |
CN113271641A (zh) * | 2021-05-18 | 2021-08-17 | 南京大学 | 一种基于蓝牙散射网络通信的降低丢包率方法 |
CN113242546A (zh) * | 2021-06-25 | 2021-08-10 | 南京中感微电子有限公司 | 音频转发方法、设备和存储介质 |
CN114138700A (zh) * | 2021-12-03 | 2022-03-04 | 西安广和通无线软件有限公司 | 一种串口数据传输的流控方法、装置、设备及存储介质 |
CN114138700B (zh) * | 2021-12-03 | 2023-11-24 | 西安广和通无线软件有限公司 | 一种串口数据传输的流控方法、装置、设备及存储介质 |
CN114124150A (zh) * | 2021-12-13 | 2022-03-01 | 上海布鲁可积木科技有限公司 | 基于积木遥控的跳频通信方法、系统、介质以及积木玩具 |
CN114465966A (zh) * | 2022-01-23 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN114465966B (zh) * | 2022-01-23 | 2024-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN114745050A (zh) * | 2022-03-08 | 2022-07-12 | 浙江威星智能仪表股份有限公司 | 一种基于远红外数据传输系统的长数据处理方法 |
CN114710347A (zh) * | 2022-03-30 | 2022-07-05 | 广州万协通信息技术有限公司 | 一种视频帧数据的多模式数据处理系统及方法 |
CN114710347B (zh) * | 2022-03-30 | 2024-03-01 | 广州万协通信息技术有限公司 | 一种视频帧数据的多模式数据处理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106571894A (zh) | 蓝牙信息发送及接收方法 | |
US10986653B2 (en) | Method and system for sending and receiving data | |
CN113411313B (zh) | 数据传输方法、装置和系统 | |
TWI387256B (zh) | 改善傳輸時間間隔集束傳輸之方法及通訊裝置 | |
US9432251B2 (en) | Enhanced acknowledgement and retransmission mechanism | |
EP2183890B1 (en) | Aggregate data frame generation | |
CN106850465A (zh) | 一种Flex E数据交换方法及交换设备 | |
KR100981561B1 (ko) | 이동통신 시스템의 데이터 처리 방법 및 장치 | |
CN107623646A (zh) | 数据流传输方法、发送设备及接收设备 | |
CN104104479A (zh) | 经由无线网络和无线装置发送/接收数据的方法和设备 | |
CN108631873B (zh) | 网络管理信息的收发方法、装置、发送设备和接收设备 | |
WO2018203305A1 (en) | Radio link control status reporting | |
US10187315B2 (en) | Apparatus and method for optimizing communications at an intermittent communication link | |
US20190274151A1 (en) | Data transmission method and device, and base station | |
EP3490293B1 (en) | Data receiving method, data sending method, receiving device and system | |
CN104378315A (zh) | 一种capwap隧道数据包传输的方法及装置 | |
CN102780633A (zh) | 一种基于capwap协议进行数据传输的装置和方法 | |
EP3300274A1 (en) | User equipment and network side equipment, and method of determining processing mode for data packet | |
US12021627B2 (en) | Communicating device and communicating method | |
CN102790663B (zh) | 一种应用于vlbi硬件相关处理机的全硬件网络接口 | |
CN107222379A (zh) | 一种串口通信的方法和装置 | |
CN110611548B (zh) | 数据传输方法、设备、发送设备、接收设备及存储介质 | |
CN104468041A (zh) | 一种基于swp数据链路的数据处理装置及方法 | |
CN103701717A (zh) | 云基站用户数据处理方法、装置和系统 | |
CN104539388B (zh) | 数据发送、接收方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170419 |
|
RJ01 | Rejection of invention patent application after publication |